From 56b1e8510963d67f06d62c5c99bd53017b067e03 Mon Sep 17 00:00:00 2001 From: Vinzenz Schroeter Date: Sun, 4 Jan 2026 20:16:56 +0100 Subject: [PATCH 01/28] add headscale --- nixosConfigurations/hetzner-vpn2/default.nix | 1 + .../hetzner-vpn2/headscale.nix | 26 +++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 nixosConfigurations/hetzner-vpn2/headscale.nix diff --git a/nixosConfigurations/hetzner-vpn2/default.nix b/nixosConfigurations/hetzner-vpn2/default.nix index 5aeb629..16f8d08 100644 --- a/nixosConfigurations/hetzner-vpn2/default.nix +++ b/nixosConfigurations/hetzner-vpn2/default.nix @@ -2,6 +2,7 @@ imports = [ ./hardware.nix ./nginx.nix + ./headscale.nix ]; config = { diff --git a/nixosConfigurations/hetzner-vpn2/headscale.nix b/nixosConfigurations/hetzner-vpn2/headscale.nix new file mode 100644 index 0000000..538c557 --- /dev/null +++ b/nixosConfigurations/hetzner-vpn2/headscale.nix @@ -0,0 +1,26 @@ +let + headscale-port = 8668; +in +{ + services = { + headscale = { + enable = true; + address = "localhost"; + port = headscale-port; + settings = { + server_url = "https://headscale.zerforschen.plus"; + dns = { + override_local_dns = false; + base_domain = "high-gravity.space"; + }; + }; + }; + nginx.virtualHosts."uplink.darkest.space" = { + addSSL = true; + enableACME = true; + locations = { + "/".proxyPass = "http://localhost:${builtins.toString headscale-port}"; + }; + }; + }; +} From af4e09ebd7a41d6453a7e2abdedca40fb137e2b0 Mon Sep 17 00:00:00 2001 From: Vinzenz Schroeter Date: Sun, 4 Jan 2026 20:17:22 +0100 Subject: [PATCH 02/28] vpn2: split nginx config --- nixosConfigurations/hetzner-vpn2/blog.nix | 43 +++++++++++++++ nixosConfigurations/hetzner-vpn2/default.nix | 1 + nixosConfigurations/hetzner-vpn2/nginx.nix | 55 +++----------------- 3 files changed, 50 insertions(+), 49 deletions(-) create mode 100644 nixosConfigurations/hetzner-vpn2/blog.nix diff --git a/nixosConfigurations/hetzner-vpn2/blog.nix b/nixosConfigurations/hetzner-vpn2/blog.nix new file mode 100644 index 0000000..4b29cb3 --- /dev/null +++ b/nixosConfigurations/hetzner-vpn2/blog.nix @@ -0,0 +1,43 @@ +{ pkgs, ... }: +let + blog-domain-socket = "/run/nginx/blog.sock"; + anubis-domain-socket = "/run/anubis/anubis-main/anubis.sock"; + anubis-metrics-socket = "/run/anubis/anubis-main/anubis-metrics.sock"; +in +{ + systemd.services = { + nginx.serviceConfig.SupplementaryGroups = [ "anubis" ]; + anubis-main.serviceConfig.SupplementaryGroups = [ "nginx" ]; + }; + + services = { + nginx.virtualHosts = { + "zerforschen.plus" = { + addSSL = true; + enableACME = true; + locations = { + "/_metrics".proxyPass = "http://unix:" + anubis-metrics-socket + ":/metrics"; + "/".proxyPass = "http://unix:" + anubis-domain-socket; + }; + }; + + "blog-in-anubis" = { + root = pkgs.zerforschen-plus-content; + listen = [ + { + addr = "unix:" + blog-domain-socket; + } + ]; + }; + }; + + anubis.instances.main = { + enable = true; + settings = { + BIND = anubis-domain-socket; + TARGET = "unix://" + blog-domain-socket; + METRICS_BIND = anubis-metrics-socket; + }; + }; + }; +} diff --git a/nixosConfigurations/hetzner-vpn2/default.nix b/nixosConfigurations/hetzner-vpn2/default.nix index 16f8d08..5d58835 100644 --- a/nixosConfigurations/hetzner-vpn2/default.nix +++ b/nixosConfigurations/hetzner-vpn2/default.nix @@ -3,6 +3,7 @@ ./hardware.nix ./nginx.nix ./headscale.nix + ./blog.nix ]; config = { diff --git a/nixosConfigurations/hetzner-vpn2/nginx.nix b/nixosConfigurations/hetzner-vpn2/nginx.nix index aa399aa..7178b0d 100644 --- a/nixosConfigurations/hetzner-vpn2/nginx.nix +++ b/nixosConfigurations/hetzner-vpn2/nginx.nix @@ -1,62 +1,19 @@ -{ pkgs, ... }: -let - blog-domain-socket = "/run/nginx/blog.sock"; - anubis-domain-socket = "/run/anubis/anubis-main/anubis.sock"; - anubis-metrics-socket = "/run/anubis/anubis-main/anubis-metrics.sock"; -in { security.acme = { acceptTerms = true; defaults.email = "acme@zerforschen.plus"; }; - systemd.services = { - nginx.serviceConfig.SupplementaryGroups = [ "anubis" ]; - anubis-main.serviceConfig.SupplementaryGroups = [ "nginx" ]; - }; - - services = { - nginx = { - enable = true; - recommendedProxySettings = true; - recommendedTlsSettings = true; - recommendedGzipSettings = true; - recommendedOptimisation = true; - - virtualHosts = { - "zerforschen.plus" = { - addSSL = true; - enableACME = true; - locations = { - "/_metrics".proxyPass = "http://unix:" + anubis-metrics-socket + ":/metrics"; - "/".proxyPass = "http://unix:" + anubis-domain-socket; - }; - }; - - "blog-in-anubis" = { - root = pkgs.zerforschen-plus-content; - listen = [ - { - addr = "unix:" + blog-domain-socket; - } - ]; - }; - }; - }; - - anubis.instances.main = { - enable = true; - settings = { - BIND = anubis-domain-socket; - TARGET = "unix://" + blog-domain-socket; - METRICS_BIND = anubis-metrics-socket; - }; - }; + services.nginx = { + enable = true; + recommendedProxySettings = true; + recommendedTlsSettings = true; + recommendedGzipSettings = true; + recommendedOptimisation = true; }; networking.firewall.allowedTCPPorts = [ 80 443 - 5201 ]; } From 2a68f77860a7e410dc689c7a882734e0bea675b8 Mon Sep 17 00:00:00 2001 From: Vinzenz Schroeter Date: Sun, 4 Jan 2026 20:51:42 +0100 Subject: [PATCH 03/28] headscale/blog: fix url, force ssl, proxy websockets --- nixosConfigurations/hetzner-vpn2/blog.nix | 2 +- nixosConfigurations/hetzner-vpn2/headscale.nix | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/nixosConfigurations/hetzner-vpn2/blog.nix b/nixosConfigurations/hetzner-vpn2/blog.nix index 4b29cb3..367ef2b 100644 --- a/nixosConfigurations/hetzner-vpn2/blog.nix +++ b/nixosConfigurations/hetzner-vpn2/blog.nix @@ -13,8 +13,8 @@ in services = { nginx.virtualHosts = { "zerforschen.plus" = { - addSSL = true; enableACME = true; + forceSSL = true; locations = { "/_metrics".proxyPass = "http://unix:" + anubis-metrics-socket + ":/metrics"; "/".proxyPass = "http://unix:" + anubis-domain-socket; diff --git a/nixosConfigurations/hetzner-vpn2/headscale.nix b/nixosConfigurations/hetzner-vpn2/headscale.nix index 538c557..43eda08 100644 --- a/nixosConfigurations/hetzner-vpn2/headscale.nix +++ b/nixosConfigurations/hetzner-vpn2/headscale.nix @@ -8,7 +8,7 @@ in address = "localhost"; port = headscale-port; settings = { - server_url = "https://headscale.zerforschen.plus"; + server_url = "https://uplink.darkest.space/"; dns = { override_local_dns = false; base_domain = "high-gravity.space"; @@ -16,10 +16,11 @@ in }; }; nginx.virtualHosts."uplink.darkest.space" = { - addSSL = true; enableACME = true; - locations = { - "/".proxyPass = "http://localhost:${builtins.toString headscale-port}"; + forceSSL = true; + locations."/" = { + proxyPass = "http://localhost:${builtins.toString headscale-port}"; + proxyWebsockets = true; }; }; }; From da3ac92eb6b04901fc4c5cbe9540329de05691e8 Mon Sep 17 00:00:00 2001 From: Vinzenz Schroeter Date: Sun, 4 Jan 2026 21:59:05 +0100 Subject: [PATCH 04/28] headscale: enable DERP --- nixosConfigurations/hetzner-vpn2/headscale.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/nixosConfigurations/hetzner-vpn2/headscale.nix b/nixosConfigurations/hetzner-vpn2/headscale.nix index 43eda08..6eac407 100644 --- a/nixosConfigurations/hetzner-vpn2/headscale.nix +++ b/nixosConfigurations/hetzner-vpn2/headscale.nix @@ -2,6 +2,8 @@ let headscale-port = 8668; in { + # sudo tailscale up --reset --force-reauth --login-server https://uplink.darkest.space --operator=$USER + services = { headscale = { enable = true; @@ -13,8 +15,19 @@ in override_local_dns = false; base_domain = "high-gravity.space"; }; + derp = { + server = { + enabled = true; + verify_clients = true; + stun_listen_addr = "0.0.0.0:3478"; + ipv4 = "78.46.242.90"; + ipv6 = "2a01:4f8:c013:65dd::1"; + }; + urls = [ ]; + }; }; }; + nginx.virtualHosts."uplink.darkest.space" = { enableACME = true; forceSSL = true; @@ -24,4 +37,7 @@ in }; }; }; + + # for DERP + networking.firewall.allowedUDPPorts = [ 3478 ]; } From 82631191ea15ba34ef16f2cbb6501d986527f0bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Sun, 1 Feb 2026 12:23:07 +0100 Subject: [PATCH 05/28] user rename --- flake.nix | 10 +++++----- .../.config/containers/policy.json | 0 homeConfigurations/{vinzenz => muede}/default.nix | 0 .../{vinzenz => muede}/editorconfig.nix | 0 homeConfigurations/{vinzenz => muede}/element.nix | 0 homeConfigurations/{vinzenz => muede}/fonts.nix | 0 homeConfigurations/{vinzenz => muede}/fuzzel.nix | 0 homeConfigurations/{vinzenz => muede}/git.nix | 0 homeConfigurations/{vinzenz => muede}/gnome.nix | 0 homeConfigurations/{vinzenz => muede}/niri.nix | 0 homeConfigurations/{vinzenz => muede}/ssh.nix | 0 homeConfigurations/{vinzenz => muede}/starship.nix | 7 ++----- homeConfigurations/{vinzenz => muede}/swaylock.nix | 0 homeConfigurations/{vinzenz => muede}/swaync.nix | 0 homeConfigurations/{vinzenz => muede}/vscode.nix | 0 homeConfigurations/{vinzenz => muede}/waybar.css | 0 homeConfigurations/{vinzenz => muede}/waybar.nix | 0 homeConfigurations/{vinzenz => muede}/wlogout.nix | 0 homeConfigurations/{vinzenz => muede}/zsh.nix | 2 +- homeModules/gnome-extensions.nix | 4 ++-- nixosConfigurations/forgejo-runner-1/default.nix | 6 +++--- nixosConfigurations/hetzner-vpn2/default.nix | 6 +++--- .../{vinzenz-lpt2 => muede-lpt2}/default.nix | 12 +++++++----- .../{vinzenz-lpt2 => muede-lpt2}/hardware.nix | 0 .../{vinzenz-pc2 => muede-pc2}/default.nix | 12 +++++++----- .../{vinzenz-pc2 => muede-pc2}/fstab.nix | 0 .../{vinzenz-pc2 => muede-pc2}/hardware.nix | 0 .../{vinzenz-pc2 => muede-pc2}/hass.nix | 0 .../{vinzenz-pc2 => muede-pc2}/vscode-server.nix | 0 nixosConfigurations/ronja-pc/default.nix | 2 +- nixosModules/gnome.nix | 4 ++-- ...sktop-settings.nix => muede-desktop-settings.nix} | 0 nixosModules/{user-vinzenz.nix => user-muede.nix} | 7 +++---- 33 files changed, 36 insertions(+), 36 deletions(-) rename homeConfigurations/{vinzenz => muede}/.config/containers/policy.json (100%) rename homeConfigurations/{vinzenz => muede}/default.nix (100%) rename homeConfigurations/{vinzenz => muede}/editorconfig.nix (100%) rename homeConfigurations/{vinzenz => muede}/element.nix (100%) rename homeConfigurations/{vinzenz => muede}/fonts.nix (100%) rename homeConfigurations/{vinzenz => muede}/fuzzel.nix (100%) rename homeConfigurations/{vinzenz => muede}/git.nix (100%) rename homeConfigurations/{vinzenz => muede}/gnome.nix (100%) rename homeConfigurations/{vinzenz => muede}/niri.nix (100%) rename homeConfigurations/{vinzenz => muede}/ssh.nix (100%) rename homeConfigurations/{vinzenz => muede}/starship.nix (97%) rename homeConfigurations/{vinzenz => muede}/swaylock.nix (100%) rename homeConfigurations/{vinzenz => muede}/swaync.nix (100%) rename homeConfigurations/{vinzenz => muede}/vscode.nix (100%) rename homeConfigurations/{vinzenz => muede}/waybar.css (100%) rename homeConfigurations/{vinzenz => muede}/waybar.nix (100%) rename homeConfigurations/{vinzenz => muede}/wlogout.nix (100%) rename homeConfigurations/{vinzenz => muede}/zsh.nix (94%) rename nixosConfigurations/{vinzenz-lpt2 => muede-lpt2}/default.nix (82%) rename nixosConfigurations/{vinzenz-lpt2 => muede-lpt2}/hardware.nix (100%) rename nixosConfigurations/{vinzenz-pc2 => muede-pc2}/default.nix (78%) rename nixosConfigurations/{vinzenz-pc2 => muede-pc2}/fstab.nix (100%) rename nixosConfigurations/{vinzenz-pc2 => muede-pc2}/hardware.nix (100%) rename nixosConfigurations/{vinzenz-pc2 => muede-pc2}/hass.nix (100%) rename nixosConfigurations/{vinzenz-pc2 => muede-pc2}/vscode-server.nix (100%) rename nixosModules/{vinzenz-desktop-settings.nix => muede-desktop-settings.nix} (100%) rename nixosModules/{user-vinzenz.nix => user-muede.nix} (79%) diff --git a/flake.nix b/flake.nix index 5894172..e864fc6 100644 --- a/flake.nix +++ b/flake.nix @@ -105,16 +105,16 @@ }: let devices = { - vinzenz-lpt2 = { + muede-lpt2 = { system = "x86_64-linux"; home-manager-users = { - inherit (self.homeConfigurations) vinzenz; + inherit (self.homeConfigurations) muede; }; }; - vinzenz-pc2 = { + muede-pc2 = { system = "x86_64-linux"; home-manager-users = { - inherit (self.homeConfigurations) vinzenz; + inherit (self.homeConfigurations) muede; }; }; ronja-pc = { @@ -197,7 +197,7 @@ homeModules = importModuleDir ./homeModules; homeConfigurations = { - vinzenz = ./homeConfigurations/vinzenz; + muede = ./homeConfigurations/muede; ronja = ./homeConfigurations/ronja; }; diff --git a/homeConfigurations/vinzenz/.config/containers/policy.json b/homeConfigurations/muede/.config/containers/policy.json similarity index 100% rename from homeConfigurations/vinzenz/.config/containers/policy.json rename to homeConfigurations/muede/.config/containers/policy.json diff --git a/homeConfigurations/vinzenz/default.nix b/homeConfigurations/muede/default.nix similarity index 100% rename from homeConfigurations/vinzenz/default.nix rename to homeConfigurations/muede/default.nix diff --git a/homeConfigurations/vinzenz/editorconfig.nix b/homeConfigurations/muede/editorconfig.nix similarity index 100% rename from homeConfigurations/vinzenz/editorconfig.nix rename to homeConfigurations/muede/editorconfig.nix diff --git a/homeConfigurations/vinzenz/element.nix b/homeConfigurations/muede/element.nix similarity index 100% rename from homeConfigurations/vinzenz/element.nix rename to homeConfigurations/muede/element.nix diff --git a/homeConfigurations/vinzenz/fonts.nix b/homeConfigurations/muede/fonts.nix similarity index 100% rename from homeConfigurations/vinzenz/fonts.nix rename to homeConfigurations/muede/fonts.nix diff --git a/homeConfigurations/vinzenz/fuzzel.nix b/homeConfigurations/muede/fuzzel.nix similarity index 100% rename from homeConfigurations/vinzenz/fuzzel.nix rename to homeConfigurations/muede/fuzzel.nix diff --git a/homeConfigurations/vinzenz/git.nix b/homeConfigurations/muede/git.nix similarity index 100% rename from homeConfigurations/vinzenz/git.nix rename to homeConfigurations/muede/git.nix diff --git a/homeConfigurations/vinzenz/gnome.nix b/homeConfigurations/muede/gnome.nix similarity index 100% rename from homeConfigurations/vinzenz/gnome.nix rename to homeConfigurations/muede/gnome.nix diff --git a/homeConfigurations/vinzenz/niri.nix b/homeConfigurations/muede/niri.nix similarity index 100% rename from homeConfigurations/vinzenz/niri.nix rename to homeConfigurations/muede/niri.nix diff --git a/homeConfigurations/vinzenz/ssh.nix b/homeConfigurations/muede/ssh.nix similarity index 100% rename from homeConfigurations/vinzenz/ssh.nix rename to homeConfigurations/muede/ssh.nix diff --git a/homeConfigurations/vinzenz/starship.nix b/homeConfigurations/muede/starship.nix similarity index 97% rename from homeConfigurations/vinzenz/starship.nix rename to homeConfigurations/muede/starship.nix index 458058d..1550aac 100644 --- a/homeConfigurations/vinzenz/starship.nix +++ b/homeConfigurations/muede/starship.nix @@ -33,9 +33,6 @@ style_user = "bg:color_r fg:text_r"; style_root = "bold bg:color_r fg:text_r"; show_always = true; - aliases = { - "vinzenz" = "müde"; - }; }; os = { disabled = false; @@ -47,8 +44,8 @@ format = "$hostname"; ssh_symbol = ""; aliases = { - "vinzenz-lpt2" = "lpt"; - "vinzenz-pc2" = "pc"; + "muede-lpt2" = "lpt"; + "muede-pc2" = "pc"; }; }; container = { diff --git a/homeConfigurations/vinzenz/swaylock.nix b/homeConfigurations/muede/swaylock.nix similarity index 100% rename from homeConfigurations/vinzenz/swaylock.nix rename to homeConfigurations/muede/swaylock.nix diff --git a/homeConfigurations/vinzenz/swaync.nix b/homeConfigurations/muede/swaync.nix similarity index 100% rename from homeConfigurations/vinzenz/swaync.nix rename to homeConfigurations/muede/swaync.nix diff --git a/homeConfigurations/vinzenz/vscode.nix b/homeConfigurations/muede/vscode.nix similarity index 100% rename from homeConfigurations/vinzenz/vscode.nix rename to homeConfigurations/muede/vscode.nix diff --git a/homeConfigurations/vinzenz/waybar.css b/homeConfigurations/muede/waybar.css similarity index 100% rename from homeConfigurations/vinzenz/waybar.css rename to homeConfigurations/muede/waybar.css diff --git a/homeConfigurations/vinzenz/waybar.nix b/homeConfigurations/muede/waybar.nix similarity index 100% rename from homeConfigurations/vinzenz/waybar.nix rename to homeConfigurations/muede/waybar.nix diff --git a/homeConfigurations/vinzenz/wlogout.nix b/homeConfigurations/muede/wlogout.nix similarity index 100% rename from homeConfigurations/vinzenz/wlogout.nix rename to homeConfigurations/muede/wlogout.nix diff --git a/homeConfigurations/vinzenz/zsh.nix b/homeConfigurations/muede/zsh.nix similarity index 94% rename from homeConfigurations/vinzenz/zsh.nix rename to homeConfigurations/muede/zsh.nix index f2fc674..16f00e1 100644 --- a/homeConfigurations/vinzenz/zsh.nix +++ b/homeConfigurations/muede/zsh.nix @@ -2,7 +2,7 @@ { config.programs.zsh = { initContent = '' - export PATH=$PATH:/home/vinzenz/.cargo/bin + export PATH=$PATH:$HOME/.cargo/bin bindkey "^[[1;5C" forward-word bindkey "^[[1;5D" backward-word diff --git a/homeModules/gnome-extensions.nix b/homeModules/gnome-extensions.nix index 9c30c40..0e6ca16 100644 --- a/homeModules/gnome-extensions.nix +++ b/homeModules/gnome-extensions.nix @@ -6,7 +6,7 @@ ... }: { - options.vinzenz.gnome-extensions = + options.muede.gnome-extensions = let mkDefaultEnabledOption = name: @@ -40,7 +40,7 @@ config = let - cfg = config.vinzenz.gnome-extensions; + cfg = config.muede.gnome-extensions; in lib.mkIf cfg.enable ( lib.mkMerge [ diff --git a/nixosConfigurations/forgejo-runner-1/default.nix b/nixosConfigurations/forgejo-runner-1/default.nix index c64882b..4196430 100644 --- a/nixosConfigurations/forgejo-runner-1/default.nix +++ b/nixosConfigurations/forgejo-runner-1/default.nix @@ -14,9 +14,9 @@ users.users = { root.openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY vinzenz-pixel-JuiceSSH" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1CRn4yYTL4XUdCebE8Z4ZeuMujBjorTdWifg911EOv vinzenz-pc2 home roaming" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPDNpLDmctyqGpow/ElQvdhY4BLBPS/sigDJ1QEcC7wC vinzenz-lpt2-roaming" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY pixel-JuiceSSH" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1CRn4yYTL4XUdCebE8Z4ZeuMujBjorTdWifg911EOv pc2 home roaming" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPDNpLDmctyqGpow/ElQvdhY4BLBPS/sigDJ1QEcC7wC lpt2-roaming" ]; }; }; diff --git a/nixosConfigurations/hetzner-vpn2/default.nix b/nixosConfigurations/hetzner-vpn2/default.nix index 5aeb629..5974763 100644 --- a/nixosConfigurations/hetzner-vpn2/default.nix +++ b/nixosConfigurations/hetzner-vpn2/default.nix @@ -12,9 +12,9 @@ users.users.root.openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICdYqY3Y1/f1bsAi5Qfyr/UWuX9ixu96IeAlhoQaJkbf" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY vinzenz-pixel-JuiceSSH" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1CRn4yYTL4XUdCebE8Z4ZeuMujBjorTdWifg911EOv vinzenz-pc2 home roaming" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPDNpLDmctyqGpow/ElQvdhY4BLBPS/sigDJ1QEcC7wC vinzenz-lpt2-roaming" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY pixel-JuiceSSH" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1CRn4yYTL4XUdCebE8Z4ZeuMujBjorTdWifg911EOv pc2 home roaming" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPDNpLDmctyqGpow/ElQvdhY4BLBPS/sigDJ1QEcC7wC lpt2-roaming" ]; system.autoUpgrade.allowReboot = true; diff --git a/nixosConfigurations/vinzenz-lpt2/default.nix b/nixosConfigurations/muede-lpt2/default.nix similarity index 82% rename from nixosConfigurations/vinzenz-lpt2/default.nix rename to nixosConfigurations/muede-lpt2/default.nix index 8b2c909..61ef827 100644 --- a/nixosConfigurations/vinzenz-lpt2/default.nix +++ b/nixosConfigurations/muede-lpt2/default.nix @@ -2,12 +2,12 @@ { imports = [ ./hardware.nix - self.nixosModules.user-vinzenz + self.nixosModules.user-muede self.nixosModules.gnome self.nixosModules.wine-gaming self.nixosModules.steam self.nixosModules.podman - self.nixosModules.vinzenz-desktop-settings + self.nixosModules.muede-desktop-settings self.nixosModules.intel-graphics self.nixosModules.secure-boot ]; @@ -27,9 +27,9 @@ # Configure console keymap console.keyMap = "de"; - users.users.vinzenz.openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY vinzenz-pixel-JuiceSSH" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1CRn4yYTL4XUdCebE8Z4ZeuMujBjorTdWifg911EOv vinzenz-pc2 home roaming" + users.users.muede.openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY pixel-JuiceSSH" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1CRn4yYTL4XUdCebE8Z4ZeuMujBjorTdWifg911EOv pc2 home roaming" ]; programs = { @@ -60,5 +60,7 @@ ]; boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; + + users.users.muede.home = "/home/vinzenz"; }; } diff --git a/nixosConfigurations/vinzenz-lpt2/hardware.nix b/nixosConfigurations/muede-lpt2/hardware.nix similarity index 100% rename from nixosConfigurations/vinzenz-lpt2/hardware.nix rename to nixosConfigurations/muede-lpt2/hardware.nix diff --git a/nixosConfigurations/vinzenz-pc2/default.nix b/nixosConfigurations/muede-pc2/default.nix similarity index 78% rename from nixosConfigurations/vinzenz-pc2/default.nix rename to nixosConfigurations/muede-pc2/default.nix index 2c1fb29..886757f 100644 --- a/nixosConfigurations/vinzenz-pc2/default.nix +++ b/nixosConfigurations/muede-pc2/default.nix @@ -5,12 +5,12 @@ ./vscode-server.nix ./hass.nix - self.nixosModules.user-vinzenz + self.nixosModules.user-muede self.nixosModules.gnome self.nixosModules.wine-gaming self.nixosModules.steam self.nixosModules.podman - self.nixosModules.vinzenz-desktop-settings + self.nixosModules.muede-desktop-settings self.nixosModules.amd-graphics self.nixosModules.secure-boot ]; @@ -30,10 +30,10 @@ # Configure console keymap console.keyMap = "de"; - users.users.vinzenz.openssh.authorizedKeys.keys = [ + users.users.muede.openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINrY6tcgnoC/xbgL7vxSjddEY9MBxRXe9n2cAHt88/TT home roaming" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY vinzenz-pixel-JuiceSSH" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPDNpLDmctyqGpow/ElQvdhY4BLBPS/sigDJ1QEcC7wC vinzenz-lpt2-roaming" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY pixel-JuiceSSH" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPDNpLDmctyqGpow/ElQvdhY4BLBPS/sigDJ1QEcC7wC lpt2-roaming" ]; environment.systemPackages = with pkgs; [ lact ]; @@ -42,5 +42,7 @@ # Factorio 34197 ]; + + users.users.muede.home = "/home/vinzenz"; }; } diff --git a/nixosConfigurations/vinzenz-pc2/fstab.nix b/nixosConfigurations/muede-pc2/fstab.nix similarity index 100% rename from nixosConfigurations/vinzenz-pc2/fstab.nix rename to nixosConfigurations/muede-pc2/fstab.nix diff --git a/nixosConfigurations/vinzenz-pc2/hardware.nix b/nixosConfigurations/muede-pc2/hardware.nix similarity index 100% rename from nixosConfigurations/vinzenz-pc2/hardware.nix rename to nixosConfigurations/muede-pc2/hardware.nix diff --git a/nixosConfigurations/vinzenz-pc2/hass.nix b/nixosConfigurations/muede-pc2/hass.nix similarity index 100% rename from nixosConfigurations/vinzenz-pc2/hass.nix rename to nixosConfigurations/muede-pc2/hass.nix diff --git a/nixosConfigurations/vinzenz-pc2/vscode-server.nix b/nixosConfigurations/muede-pc2/vscode-server.nix similarity index 100% rename from nixosConfigurations/vinzenz-pc2/vscode-server.nix rename to nixosConfigurations/muede-pc2/vscode-server.nix diff --git a/nixosConfigurations/ronja-pc/default.nix b/nixosConfigurations/ronja-pc/default.nix index 7630611..8e1eb52 100644 --- a/nixosConfigurations/ronja-pc/default.nix +++ b/nixosConfigurations/ronja-pc/default.nix @@ -11,7 +11,7 @@ self.nixosModules.gnome self.nixosModules.steam self.nixosModules.wine-gaming - self.nixosModules.vinzenz-desktop-settings + self.nixosModules.muede-desktop-settings ]; config = { diff --git a/nixosModules/gnome.nix b/nixosModules/gnome.nix index ead61d0..260fbbd 100644 --- a/nixosModules/gnome.nix +++ b/nixosModules/gnome.nix @@ -5,7 +5,7 @@ ... }: { - options.vinzenz = { + options.muede = { keep-gnome-default-apps = lib.mkEnableOption "keep gnome default apps"; }; @@ -37,7 +37,7 @@ gpaste.enable = true; }; } - (lib.mkIf (!config.vinzenz.keep-gnome-default-apps) { + (lib.mkIf (!config.muede.keep-gnome-default-apps) { environment.gnome.excludePackages = with pkgs; [ cheese # photo booth epiphany # web browser diff --git a/nixosModules/vinzenz-desktop-settings.nix b/nixosModules/muede-desktop-settings.nix similarity index 100% rename from nixosModules/vinzenz-desktop-settings.nix rename to nixosModules/muede-desktop-settings.nix diff --git a/nixosModules/user-vinzenz.nix b/nixosModules/user-muede.nix similarity index 79% rename from nixosModules/user-vinzenz.nix rename to nixosModules/user-muede.nix index 13ccf11..959be07 100644 --- a/nixosModules/user-vinzenz.nix +++ b/nixosModules/user-muede.nix @@ -1,10 +1,9 @@ { pkgs, ... }: { - users.users.vinzenz = { + users.users.muede = { isNormalUser = true; - name = "vinzenz"; + name = "muede"; description = "müde"; - home = "/home/vinzenz"; extraGroups = [ "networkmanager" "wheel" @@ -21,7 +20,7 @@ autoSubUidGidRange = true; }; - nix.settings.trusted-users = [ "vinzenz" ]; + nix.settings.trusted-users = [ "muede" ]; allowedUnfreePackages = [ "rider" From 1f5f86ed2968086b8fd4fa72f5e6ad834b15fcd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Sun, 1 Feb 2026 19:23:35 +0100 Subject: [PATCH 06/28] fixed uid --- nixosModules/user-muede.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixosModules/user-muede.nix b/nixosModules/user-muede.nix index 959be07..19e4d82 100644 --- a/nixosModules/user-muede.nix +++ b/nixosModules/user-muede.nix @@ -2,6 +2,7 @@ { users.users.muede = { isNormalUser = true; + uid = 1000; name = "muede"; description = "müde"; extraGroups = [ From 5fc4be420744bf5b996fe520dac39c9ba0604ee2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Sun, 1 Feb 2026 19:23:43 +0100 Subject: [PATCH 07/28] nix flake update --- flake.lock | 72 +++++++++++++++++++++++++++--------------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/flake.lock b/flake.lock index e0df6e3..5022955 100644 --- a/flake.lock +++ b/flake.lock @@ -284,11 +284,11 @@ ] }, "locked": { - "lastModified": 1768949235, - "narHash": "sha256-TtjKgXyg1lMfh374w5uxutd6Vx2P/hU81aEhTxrO2cg=", + "lastModified": 1769580047, + "narHash": "sha256-tNqCP/+2+peAXXQ2V8RwsBkenlfWMERb+Uy6xmevyhM=", "owner": "nix-community", "repo": "home-manager", - "rev": "75ed713570ca17427119e7e204ab3590cc3bf2a5", + "rev": "366d78c2856de6ab3411c15c1cb4fb4c2bf5c826", "type": "github" }, "original": { @@ -332,11 +332,11 @@ ] }, "locked": { - "lastModified": 1768908532, - "narHash": "sha256-HIdLXEFaUVE8FiaCPJbCfBMsnF+mVtDub8Jwj2BD+mk=", + "lastModified": 1769799857, + "narHash": "sha256-88IFXZ7Sa1vxbz5pty0Io5qEaMQMMUPMonLa3Ls/ss4=", "owner": "nix-community", "repo": "naersk", - "rev": "8d97452673640eb7fabe428e8b6a425bc355008b", + "rev": "9d4ed44d8b8cecdceb1d6fd76e74123d90ae6339", "type": "github" }, "original": { @@ -359,11 +359,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1769170609, - "narHash": "sha256-LiyaKNga2z/iG4pNr86iQLySEDoOytEzTCblxzRjnCk=", + "lastModified": 1769948416, + "narHash": "sha256-auvybZw7/95ln7J01VUqg6i7zvCpspgR1miG7WwiQBg=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "08d6e6adf34b0af12be7eaeacc0b4c1a8580b3da", + "rev": "0ddfba5c5475a415c56123d700f3ceb5744c32fd", "type": "github" }, "original": { @@ -392,11 +392,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1768678265, - "narHash": "sha256-Ub8eed4DsfIDWyg30xEe+8bSxL/z5Af/gCjmvJ0V/Hs=", + "lastModified": 1769577126, + "narHash": "sha256-v9vz9Rj4MGwPuhGELdvpRKl2HH+xvkgat6VwL0L86Fg=", "owner": "YaLTeR", "repo": "niri", - "rev": "d7184a04b904e07113f4623610775ae78d32394c", + "rev": "f30db163b5748e8cf95c05aba77d0d3736f40543", "type": "github" }, "original": { @@ -427,11 +427,11 @@ ] }, "locked": { - "lastModified": 1769134548, - "narHash": "sha256-16UWbfkIEaG728vwCdXM5C/8f1NLqBwZc039p8Yj9CA=", + "lastModified": 1769914816, + "narHash": "sha256-GXK/ub/LfBFEEBO2M+HhqWu3VW042pWw145Y+jYEMT0=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "969bb9a90fa1365e8b5028d1b67dbd439b268675", + "rev": "8eebcb40d2658badb78b4162868ffcc1006b59f3", "type": "github" }, "original": { @@ -463,11 +463,11 @@ ] }, "locked": { - "lastModified": 1764234087, - "narHash": "sha256-NHF7QWa0ZPT8hsJrvijREW3+nifmF2rTXgS2v0tpcEA=", + "lastModified": 1769813415, + "narHash": "sha256-nnVmNNKBi1YiBNPhKclNYDORoHkuKipoz7EtVnXO50A=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "032a1878682fafe829edfcf5fdfad635a2efe748", + "rev": "8946737ff703382fda7623b9fab071d037e897d5", "type": "github" }, "original": { @@ -478,11 +478,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1769089682, - "narHash": "sha256-9yA/LIuAVQq0lXelrZPjLuLVuZdm03p8tfmHhnDIkms=", + "lastModified": 1769741972, + "narHash": "sha256-RxSg1EioTWNpoLaykiT1UQKTo/K0PPdLqCyQgNjNqWs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "078d69f03934859a181e81ba987c2bb033eebfc5", + "rev": "63590ac958a8af30ebd52c7a0309d8c52a94dd77", "type": "github" }, "original": { @@ -509,11 +509,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1768875095, - "narHash": "sha256-dYP3DjiL7oIiiq3H65tGIXXIT1Waiadmv93JS0sS+8A=", + "lastModified": 1769740369, + "narHash": "sha256-xKPyJoMoXfXpDM5DFDZDsi9PHArf2k5BJjvReYXoFpM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ed142ab1b3a092c4d149245d0c4126a5d7ea00b0", + "rev": "6308c3b21396534d8aaeac46179c14c439a89b8a", "type": "github" }, "original": { @@ -549,11 +549,11 @@ ] }, "locked": { - "lastModified": 1769190062, - "narHash": "sha256-HXy1M80RWBW7cIIMQ/bBV/pMa3NmK6MYOOz/kA4bHIw=", + "lastModified": 1769947836, + "narHash": "sha256-CYSecY7oPzVkQmorHjI5lTWdwGpwqP62z+YJmObxYQ4=", "owner": "nix-community", "repo": "NUR", - "rev": "82023efed13ef3c1bfe99f0cd669139b4a2d2694", + "rev": "0d28d95d7bf9e852b4e6b514955dceef2e4921a5", "type": "github" }, "original": { @@ -747,11 +747,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1768493544, - "narHash": "sha256-9qk2W/6GJWLAFXNruK/zdJ0bm3bfP50vJFbtuAjQpa4=", + "lastModified": 1769885983, + "narHash": "sha256-jLS7410B58f+3WfZ4PQ28aaaTONnmxlfAbDPdNuciLc=", "owner": "nix-community", "repo": "stylix", - "rev": "362306faaa7459bebf8eabf135879785f3da9bd2", + "rev": "fe06391a1e1905fc7e6c13443ea439a89695ca69", "type": "github" }, "original": { @@ -864,11 +864,11 @@ ] }, "locked": { - "lastModified": 1768158989, - "narHash": "sha256-67vyT1+xClLldnumAzCTBvU0jLZ1YBcf4vANRWP3+Ak=", + "lastModified": 1769691507, + "narHash": "sha256-8aAYwyVzSSwIhP2glDhw/G0i5+wOrren3v6WmxkVonM=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "e96d59dff5c0d7fddb9d113ba108f03c3ef99eca", + "rev": "28b19c5844cc6e2257801d43f2772a4b4c050a1b", "type": "github" }, "original": { @@ -897,11 +897,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1768765571, - "narHash": "sha256-C1JbyJ3ftogmN3vmLNfyPtnJw2wY64TiUTIhFtk1Leg=", + "lastModified": 1769713942, + "narHash": "sha256-0BtCSO2qzYK/akRDsERqRVLknCYD3FYErc+szreSHUo=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "ed1cef792b4def3321ff9ab5479df09609f17a69", + "rev": "37ec78ee26e158b71f42e113e0e7dd9d5eb6bdb0", "type": "github" }, "original": { From 9d5cb1e98c2227417775fd1fa704777dec79e7f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Sun, 1 Feb 2026 19:24:33 +0100 Subject: [PATCH 08/28] pc2: disable vscode-server and hass --- nixosConfigurations/muede-pc2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixosConfigurations/muede-pc2/default.nix b/nixosConfigurations/muede-pc2/default.nix index 886757f..5062ada 100644 --- a/nixosConfigurations/muede-pc2/default.nix +++ b/nixosConfigurations/muede-pc2/default.nix @@ -2,8 +2,8 @@ { imports = [ ./hardware.nix - ./vscode-server.nix - ./hass.nix +# ./vscode-server.nix +# ./hass.nix self.nixosModules.user-muede self.nixosModules.gnome From 7901ac306527cc40d5b23d4314ffba99b4b32658 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Sun, 1 Feb 2026 20:05:04 +0100 Subject: [PATCH 09/28] lpt2: move home --- nixosConfigurations/muede-lpt2/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/nixosConfigurations/muede-lpt2/default.nix b/nixosConfigurations/muede-lpt2/default.nix index 61ef827..dcb580f 100644 --- a/nixosConfigurations/muede-lpt2/default.nix +++ b/nixosConfigurations/muede-lpt2/default.nix @@ -60,7 +60,5 @@ ]; boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; - - users.users.muede.home = "/home/vinzenz"; }; } From c09b746466c69d75f0941debd72b58061e707a19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Sun, 1 Feb 2026 20:14:54 +0100 Subject: [PATCH 10/28] pc2: move home --- nixosConfigurations/muede-pc2/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/nixosConfigurations/muede-pc2/default.nix b/nixosConfigurations/muede-pc2/default.nix index 5062ada..742fa9f 100644 --- a/nixosConfigurations/muede-pc2/default.nix +++ b/nixosConfigurations/muede-pc2/default.nix @@ -42,7 +42,5 @@ # Factorio 34197 ]; - - users.users.muede.home = "/home/vinzenz"; }; } From e3583cf85a10c7f526f35e0ab335a581230130a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Sat, 7 Feb 2026 20:05:37 +0100 Subject: [PATCH 11/28] nix flake update --- flake.lock | 72 +++++++++++++++++++++++++++--------------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/flake.lock b/flake.lock index 5022955..1e2104c 100644 --- a/flake.lock +++ b/flake.lock @@ -186,11 +186,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1768135262, - "narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=", + "lastModified": 1769996383, + "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac", + "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", "type": "github" }, "original": { @@ -284,11 +284,11 @@ ] }, "locked": { - "lastModified": 1769580047, - "narHash": "sha256-tNqCP/+2+peAXXQ2V8RwsBkenlfWMERb+Uy6xmevyhM=", + "lastModified": 1770260404, + "narHash": "sha256-3iVX1+7YUIt23hBx1WZsUllhbmP2EnXrV8tCRbLxHc8=", "owner": "nix-community", "repo": "home-manager", - "rev": "366d78c2856de6ab3411c15c1cb4fb4c2bf5c826", + "rev": "0d782ee42c86b196acff08acfbf41bb7d13eed5b", "type": "github" }, "original": { @@ -359,11 +359,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1769948416, - "narHash": "sha256-auvybZw7/95ln7J01VUqg6i7zvCpspgR1miG7WwiQBg=", + "lastModified": 1770400632, + "narHash": "sha256-TsOt49sYfzmxSTj2wKHKK2ZToCByLJLxPbwbu1brDt0=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "0ddfba5c5475a415c56123d700f3ceb5744c32fd", + "rev": "652dbeb0ac2c481dee5b57be972c6fd6feb38adc", "type": "github" }, "original": { @@ -392,11 +392,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1769577126, - "narHash": "sha256-v9vz9Rj4MGwPuhGELdvpRKl2HH+xvkgat6VwL0L86Fg=", + "lastModified": 1770394936, + "narHash": "sha256-Pa0fkyLYUR+pZh7phPENDUo4mJIweaAm0uV83iUUlX8=", "owner": "YaLTeR", "repo": "niri", - "rev": "f30db163b5748e8cf95c05aba77d0d3736f40543", + "rev": "549148d27779d024255a84535b42b947f1c2a113", "type": "github" }, "original": { @@ -427,11 +427,11 @@ ] }, "locked": { - "lastModified": 1769914816, - "narHash": "sha256-GXK/ub/LfBFEEBO2M+HhqWu3VW042pWw145Y+jYEMT0=", + "lastModified": 1770431965, + "narHash": "sha256-vVMfSjrmeYGfT+dj5eLZ8xNnJP62gvdW32IFQk606wM=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "8eebcb40d2658badb78b4162868ffcc1006b59f3", + "rev": "2b53743c0c65c6c525952fce502fe6eaa0913300", "type": "github" }, "original": { @@ -478,11 +478,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1769741972, - "narHash": "sha256-RxSg1EioTWNpoLaykiT1UQKTo/K0PPdLqCyQgNjNqWs=", + "lastModified": 1770464364, + "narHash": "sha256-z5NJPSBwsLf/OfD8WTmh79tlSU8XgIbwmk6qB1/TFzY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "63590ac958a8af30ebd52c7a0309d8c52a94dd77", + "rev": "23d72dabcb3b12469f57b37170fcbc1789bd7457", "type": "github" }, "original": { @@ -494,11 +494,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1765674936, - "narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=", + "lastModified": 1769909678, + "narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85", + "rev": "72716169fe93074c333e8d0173151350670b824c", "type": "github" }, "original": { @@ -509,11 +509,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1769740369, - "narHash": "sha256-xKPyJoMoXfXpDM5DFDZDsi9PHArf2k5BJjvReYXoFpM=", + "lastModified": 1770380644, + "narHash": "sha256-P7dWMHRUWG5m4G+06jDyThXO7kwSk46C1kgjEWcybkE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6308c3b21396534d8aaeac46179c14c439a89b8a", + "rev": "ae67888ff7ef9dff69b3cf0cc0fbfbcd3a722abe", "type": "github" }, "original": { @@ -549,11 +549,11 @@ ] }, "locked": { - "lastModified": 1769947836, - "narHash": "sha256-CYSecY7oPzVkQmorHjI5lTWdwGpwqP62z+YJmObxYQ4=", + "lastModified": 1770486118, + "narHash": "sha256-eto9txBNwwlQmi445yHZ+x+7mMbyYnbcSn5jG+WJpQU=", "owner": "nix-community", "repo": "NUR", - "rev": "0d28d95d7bf9e852b4e6b514955dceef2e4921a5", + "rev": "efe9288eff027bbef3bc02ff23937751d20f64c1", "type": "github" }, "original": { @@ -747,11 +747,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1769885983, - "narHash": "sha256-jLS7410B58f+3WfZ4PQ28aaaTONnmxlfAbDPdNuciLc=", + "lastModified": 1770308890, + "narHash": "sha256-7bx8Bn9B2g/loBaz+uLwdKI2rUW+RhDPyP/MqAgvrxU=", "owner": "nix-community", "repo": "stylix", - "rev": "fe06391a1e1905fc7e6c13443ea439a89695ca69", + "rev": "7e7fa955abac04a8e118b1cedf930a8fd41c34a6", "type": "github" }, "original": { @@ -864,11 +864,11 @@ ] }, "locked": { - "lastModified": 1769691507, - "narHash": "sha256-8aAYwyVzSSwIhP2glDhw/G0i5+wOrren3v6WmxkVonM=", + "lastModified": 1770228511, + "narHash": "sha256-wQ6NJSuFqAEmIg2VMnLdCnUc0b7vslUohqqGGD+Fyxk=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "28b19c5844cc6e2257801d43f2772a4b4c050a1b", + "rev": "337a4fe074be1042a35086f15481d763b8ddc0e7", "type": "github" }, "original": { @@ -897,11 +897,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1769713942, - "narHash": "sha256-0BtCSO2qzYK/akRDsERqRVLknCYD3FYErc+szreSHUo=", + "lastModified": 1770167989, + "narHash": "sha256-rE2WTxKHe3KMG/Zr5YUNeKHkZfWwSFl7yJXrOKnunHg=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "37ec78ee26e158b71f42e113e0e7dd9d5eb6bdb0", + "rev": "0947c4685f6237d4f8045482ce0c62feab40b6c4", "type": "github" }, "original": { From a00f15adfc74ffbf6da88e8974e81dc4eaf12fe2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Sun, 8 Feb 2026 15:13:39 +0100 Subject: [PATCH 12/28] waybar: pill style widgets, whole width bar --- homeConfigurations/muede/waybar.css | 360 +++++++++++++++++++--------- homeConfigurations/muede/waybar.nix | 59 ++--- 2 files changed, 264 insertions(+), 155 deletions(-) diff --git a/homeConfigurations/muede/waybar.css b/homeConfigurations/muede/waybar.css index 0210f6f..a5bd155 100644 --- a/homeConfigurations/muede/waybar.css +++ b/homeConfigurations/muede/waybar.css @@ -13,90 +13,31 @@ /* #endregion */ * { - font-family: sans-serif; + font-family: monospace sans-serif; + font-size: 12px; + } window#waybar { transition-property: background-color; transition-duration: 0.5s; - background: transparent; -} - -window#waybar.hidden { - opacity: 0.2; -} - -window#waybar.termite { - background-color: #3f3f3f; -} - -window#waybar.chromium { - background-color: #000000; - border: none; + /* Gradient border spanning the entire waybar window */ + border-bottom: 4px solid transparent; + background-clip: padding-box, border-box; + background-origin: padding-box, border-box; + background-image: + linear-gradient(90deg, @base01, @base00, @base01, @base00, @base01), + linear-gradient(90deg, @base0C, @base0D, @base0A, @base0D, @base0C); } .modules-left, .modules-center, .modules-right { - border: 0px solid #fff; - padding-bottom: 4px; - background-clip: content-box, padding-box; - background-image: - linear-gradient(90deg, @base01, @base01), - linear-gradient(90deg, #a30262, #4a6bb1); -} - -.modules-center, -.modules-left { - border-bottom-right-radius: 15px; - padding-right: 4px; -} - -.modules-center, -.modules-right { - border-bottom-left-radius: 15px; - padding-left: 4px; -} - -widget { - margin: 0px 4px; -} - -#workspaces, -#window, -#tray { - padding: 4px 6px; - margin-left: 6px; - margin-right: 6px; -} - -#workspaces button { - padding: 0 5px; - background-color: transparent; - color: #ffffff; - border-radius: 15px; -} - -#workspaces button:hover { - background: rgba(0, 0, 0, 0.2); -} - -#workspaces button.focused, -#workspaces button.active { - background-color: @base03; -} - -#workspaces button.urgent { - background-color: #eb4d4b; -} - -#mode { - background-color: #64727d; - box-shadow: inset 0 -3px #ffffff; + padding: 0px 4px 8px 4px; } +/* Common pill styling for all widgets */ #clock, -#battery, #cpu, #memory, #disk, @@ -107,17 +48,154 @@ widget { #wireplumber, #custom-media, #mode, -#idle_inhibitor, #scratchpad, +#mpd, +#custom-weather, +#battery, #power-profiles-daemon, -#mpd { - padding: 0 10px; - color: #ffffff; +#idle_inhibitor, +#custom-swaync, +#bluetooth, +#mpris, +#upower, +#workspaces, +#window, +#tray { + margin: 0px 4px; + padding: 0px 6px; + background: linear-gradient(135deg, @base02, @base01); + border-radius: 16px; + border: 1px solid; + transition: all 0.3s ease; } +/* special treatment for weird sized widgets */ +#custom-wlogout { + padding: 0px 10px 0px 8px; +} +#power-profiles-daemon, +#idle_inhibitor { + padding: 0px 14px 0px 8px; +} + +/* Individual widget colors */ +#workspaces, #window, -#workspaces { - margin: 0 4px; +#tray { + border-color: @base0D; +} + +#workspaces button { + padding: 0 6px; + background-color: transparent; + color: @base05; + border-radius: 12px; + border: none; + transition: all 0.3s ease; +} + +#workspaces button:hover { + background: @base03; +} + +#workspaces button.focused, +#workspaces button.active { + background-color: @base03; + color: @base07; +} + +#workspaces button.urgent { + background-color: @base08; + color: @base00; +} + +#clock { + color: @base07; + border-color: @base0D; +} + +#cpu { + color: @base09; + border-color: @base09; +} + +#memory { + color: @base0E; + border-color: @base0E; +} + +#disk { + color: @base0D; + border-color: @base0D; +} + +#temperature { + color: @base08; + border-color: @base08; +} + +#backlight { + color: @base0A; + border-color: @base0A; +} + +#network { + color: @base0B; + border-color: @base0B; +} + +#pulseaudio, +#wireplumber { + color: @base0D; + border-color: @base0D; +} + +#custom-media { + color: @base0E; + border-color: @base0E; +} + +#mode { + color: @base05; + border-color: @base03; + box-shadow: inset 0 -3px @base05; +} + +#mpd { + color: @base0E; + border-color: @base0E; +} + +#custom-weather { + color: @base0B; + border-color: @base0B; +} + +#battery, +#power-profiles-daemon, +#idle_inhibitor { + color: @base05; + border-color: @base03; +} + +#custom-swaync { + color: @base0E; + border-color: @base0E; +} + +#bluetooth { + color: @base0D; + border-color: @base0D; +} + +#mpris { + color: @base0E; + border-color: @base0E; +} + +#upower { + color: @base0B; + border-color: @base0B; } /* If workspaces is the leftmost module, omit left margin */ @@ -130,6 +208,19 @@ widget { margin-right: 0; } +/* Battery states with colored glows */ +#battery.charging { + box-shadow: 0 0 10px rgba(168, 201, 255, 0.6); + border-color: @base0B; + color: @base0B; +} + +#battery.warning:not(.charging) { + box-shadow: 0 0 10px rgba(209, 98, 164, 0.6); + border-color: @base0A; + color: @base0A; +} + @keyframes blink { to { background-color: #ffffff; @@ -137,31 +228,65 @@ widget { } } -/* Using steps() instead of linear as a timing function to limit cpu usage */ #battery.critical:not(.charging) { - background-color: #f53c3c; - color: #ffffff; + box-shadow: 0 0 10px rgba(243, 139, 168, 0.8); + border-color: @base08; + color: @base08; animation-name: blink; animation-duration: 0.5s; + /* Using steps() instead of linear as a timing function to limit cpu usage */ animation-timing-function: steps(12); animation-iteration-count: infinite; animation-direction: alternate; } -#power-profiles-daemon { - padding-right: 15px; +/* Bluetooth connected state */ +#bluetooth.connected { + box-shadow: 0 0 10px rgba(137, 180, 250, 0.5); } +/* Power profiles with state-appropriate glows */ #power-profiles-daemon.performance { - color: #f53c3c; + box-shadow: 0 0 10px rgba(243, 139, 168, 0.6); + border-color: @base08; + color: @base08; } #power-profiles-daemon.balanced { - color: #2980b9; + box-shadow: 0 0 10px rgba(137, 180, 250, 0.6); + border-color: @base0D; + color: @base0D; } #power-profiles-daemon.power-saver { - color: #2ecc71; + box-shadow: 0 0 10px rgba(168, 201, 255, 0.6); + border-color: @base0B; + color: @base0B; +} + +/* Idle inhibitor with state glow */ +#idle_inhibitor.activated { + box-shadow: 0 0 10px rgba(137, 180, 250, 0.6); + border-color: @base0D; + color: @base0D; +} + +/* MPD states with glows */ +#mpd.playing { + box-shadow: 0 0 10px rgba(168, 201, 255, 0.5); + border-color: @base0B; + color: @base0B; +} + +#mpd.paused { + box-shadow: 0 0 10px rgba(203, 166, 247, 0.5); + border-color: @base0E; + color: @base0E; +} + +#mpd.disconnected, +#mpd.stopped { + color: @base04; } #tray > .passive { @@ -170,35 +295,8 @@ widget { #tray > .needs-attention { -gtk-icon-effect: highlight; - background-color: #eb4d4b; -} - -#language { - padding: 0 5px; - margin: 0 5px; - min-width: 16px; -} - -#keyboard-state { - padding: 0 0px; - margin: 0 5px; - min-width: 16px; -} - -#keyboard-state > label { - padding: 0 5px; -} - -#keyboard-state > label.locked { - background: rgba(0, 0, 0, 0.2); -} - -#scratchpad { - background: rgba(0, 0, 0, 0.2); -} - -#scratchpad.empty { - background-color: transparent; + box-shadow: 0 0 10px rgba(243, 139, 168, 0.8); + border-color: @base08; } #privacy { @@ -206,18 +304,42 @@ widget { } #privacy-item { - padding: 0 5px; - color: white; + /*padding: 4px 10px; + margin: 4px 6px 6px 6px;*/ + color: @base05; + background: linear-gradient(135deg, @base02, @base01); + border-radius: 16px; + transition: all 0.3s ease; } #privacy-item.screenshare { - background-color: #cf5700; + box-shadow: 0 0 10px rgba(209, 98, 164, 0.6); + border-color: @base0A; + color: @base0A; } #privacy-item.audio-in { - background-color: #1ca000; + box-shadow: 0 0 10px rgba(168, 201, 255, 0.6); + border-color: @base0B; + color: @base0B; } #privacy-item.audio-out { - background-color: #0069d4; + box-shadow: 0 0 10px rgba(137, 180, 250, 0.6); + border-color: @base0D; + color: @base0D; +} + +/* Custom wlogout button */ +#custom-wlogout { + color: @base08; + background: linear-gradient(135deg, @base02, @base01); + border-radius: 16px; + border: 1px solid @base08; + transition: all 0.3s ease; +} + +#custom-wlogout:hover { + box-shadow: 0 0 10px rgba(243, 139, 168, 0.5); + border-color: @base08; } diff --git a/homeConfigurations/muede/waybar.nix b/homeConfigurations/muede/waybar.nix index b04fd5b..4cf9532 100644 --- a/homeConfigurations/muede/waybar.nix +++ b/homeConfigurations/muede/waybar.nix @@ -37,37 +37,24 @@ "custom/swaync" ]; modules-right = [ - "group/system-tray" + "mpris" + "wireplumber" + "bluetooth" + "backlight" + "network" + "power-profiles-daemon" + "idle_inhibitor" #"image" - "group/status-infos" + "custom/weather" + "temperature" + "cpu" + "memory" + "disk" + # "battery" + "upower" "custom/wlogout" ]; - "group/system-tray" = { - orientation = "inherit"; - modules = [ - "mpris" - "wireplumber" - "bluetooth" - "backlight" - "network" - "power-profiles-daemon" - "idle_inhibitor" - ]; - }; - "group/status-infos" = { - orientation = "inherit"; - modules = [ - "custom/weather" - "temperature" - "cpu" - "memory" - "disk" - # "battery" - "upower" - ]; - }; - "niri/workspaces" = { format = "{icon}"; }; @@ -117,7 +104,7 @@ icon-size = 14; }; battery = { - format = "{capacity}% {icon}"; + format = "{icon} {capacity}%"; format-icons = [ "󰂎" # 0% "󰁺" # 10% @@ -176,19 +163,19 @@ }; cpu = { interval = 1; - format = "{usage:3}%@{avg_frequency:4}"; + format = " {usage:>3}%@{avg_frequency:>3.2f}"; }; disk = { format = "{free}/{total}"; }; "custom/wlogout" = { - format = " "; + format = ""; tooltip = false; on-click = "wlogout"; min-width = 20; }; idle_inhibitor = { - format = "{icon} "; + format = "{icon}"; format-icons = { activated = ""; deactivated = ""; @@ -213,7 +200,7 @@ # on-click = "playerctl play-pause"; # }; mpris = { - format = "{status_icon} {player} "; + format = "{status_icon} {player}"; tooltip-format = "{player} ({status_icon} {status}) {dynamic}"; status-icons = { playing = ""; @@ -222,7 +209,7 @@ }; }; memory = { - format = "{}%  "; + format = " {}%"; }; power-profiles-daemon = { format = "{icon}"; @@ -236,7 +223,7 @@ }; }; wireplumber = { - format = "{volume}% {icon}"; + format = "{icon} {volume}%"; format-muted = ""; format-icons = [ "" @@ -245,7 +232,7 @@ ]; }; temperature = { - format = "{temperatureC}°C "; + format = " {temperatureC}°C"; }; tray = { spacing = 4; @@ -266,7 +253,7 @@ in { tooltip = true; - format = "{icon} {0} "; + format = "{icon} {0}"; format-icons = { notification = "󱅫"; none = "󰂜"; From 74809ee2bb8ab221e701995bbf69158f5de4e159 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Sun, 8 Feb 2026 17:43:33 +0100 Subject: [PATCH 13/28] waybar: theme tweaks --- homeConfigurations/muede/niri.nix | 2 +- homeConfigurations/muede/waybar.css | 87 ++++++++++++----------------- homeConfigurations/muede/waybar.nix | 27 ++++----- 3 files changed, 51 insertions(+), 65 deletions(-) diff --git a/homeConfigurations/muede/niri.nix b/homeConfigurations/muede/niri.nix index ba55d2e..d88db90 100644 --- a/homeConfigurations/muede/niri.nix +++ b/homeConfigurations/muede/niri.nix @@ -56,7 +56,7 @@ from = pink_dark; to = pink_light; }; - gap-size = 8; + gap-size = 6; in { background-color = "transparent"; diff --git a/homeConfigurations/muede/waybar.css b/homeConfigurations/muede/waybar.css index a5bd155..79e7671 100644 --- a/homeConfigurations/muede/waybar.css +++ b/homeConfigurations/muede/waybar.css @@ -13,27 +13,20 @@ /* #endregion */ * { - font-family: monospace sans-serif; - font-size: 12px; - + font-family: monospace; + font-size: 13px; } window#waybar { transition-property: background-color; transition-duration: 0.5s; /* Gradient border spanning the entire waybar window */ - border-bottom: 4px solid transparent; + border-bottom: 3px solid transparent; background-clip: padding-box, border-box; background-origin: padding-box, border-box; background-image: - linear-gradient(90deg, @base01, @base00, @base01, @base00, @base01), - linear-gradient(90deg, @base0C, @base0D, @base0A, @base0D, @base0C); -} - -.modules-left, -.modules-center, -.modules-right { - padding: 0px 4px 8px 4px; + linear-gradient(135deg, @base00, @base01), + linear-gradient(135deg, @base0C, @base09); } /* Common pill styling for all widgets */ @@ -60,22 +53,27 @@ window#waybar { #upower, #workspaces, #window, -#tray { - margin: 0px 4px; - padding: 0px 6px; +#tray, +#custom-wlogout, +#privacy-item { + margin: 0px 4px 6px; + padding: 0px 8px; background: linear-gradient(135deg, @base02, @base01); - border-radius: 16px; - border: 1px solid; + border-radius: 15px; + border: 2px solid; transition: all 0.3s ease; } /* special treatment for weird sized widgets */ -#custom-wlogout { - padding: 0px 10px 0px 8px; -} +#custom-wlogout, #power-profiles-daemon, #idle_inhibitor { - padding: 0px 14px 0px 8px; + padding: 0px 10px 0px 8px; +} + +#workspaces { + padding-left: 0; + padding-right: 0; } /* Individual widget colors */ @@ -89,7 +87,7 @@ window#waybar { padding: 0 6px; background-color: transparent; color: @base05; - border-radius: 12px; + border-radius: 15px; border: none; transition: all 0.3s ease; } @@ -210,13 +208,13 @@ window#waybar { /* Battery states with colored glows */ #battery.charging { - box-shadow: 0 0 10px rgba(168, 201, 255, 0.6); + box-shadow: 0 0 6px rgba(168, 201, 255, 0.6); border-color: @base0B; color: @base0B; } #battery.warning:not(.charging) { - box-shadow: 0 0 10px rgba(209, 98, 164, 0.6); + box-shadow: 0 0 6px rgba(209, 98, 164, 0.6); border-color: @base0A; color: @base0A; } @@ -229,7 +227,7 @@ window#waybar { } #battery.critical:not(.charging) { - box-shadow: 0 0 10px rgba(243, 139, 168, 0.8); + box-shadow: 0 0 6px rgba(243, 139, 168, 0.8); border-color: @base08; color: @base08; animation-name: blink; @@ -242,44 +240,44 @@ window#waybar { /* Bluetooth connected state */ #bluetooth.connected { - box-shadow: 0 0 10px rgba(137, 180, 250, 0.5); + box-shadow: 0 0 6px rgba(137, 180, 250, 0.5); } /* Power profiles with state-appropriate glows */ #power-profiles-daemon.performance { - box-shadow: 0 0 10px rgba(243, 139, 168, 0.6); + box-shadow: 0 0 6px rgba(243, 139, 168, 0.6); border-color: @base08; color: @base08; } #power-profiles-daemon.balanced { - box-shadow: 0 0 10px rgba(137, 180, 250, 0.6); + box-shadow: 0 0 6px rgba(137, 180, 250, 0.6); border-color: @base0D; color: @base0D; } #power-profiles-daemon.power-saver { - box-shadow: 0 0 10px rgba(168, 201, 255, 0.6); + box-shadow: 0 0 6px rgba(168, 201, 255, 0.6); border-color: @base0B; color: @base0B; } /* Idle inhibitor with state glow */ #idle_inhibitor.activated { - box-shadow: 0 0 10px rgba(137, 180, 250, 0.6); + box-shadow: 0 0 6px rgba(137, 180, 250, 0.6); border-color: @base0D; color: @base0D; } /* MPD states with glows */ #mpd.playing { - box-shadow: 0 0 10px rgba(168, 201, 255, 0.5); + box-shadow: 0 0 6px rgba(168, 201, 255, 0.5); border-color: @base0B; color: @base0B; } #mpd.paused { - box-shadow: 0 0 10px rgba(203, 166, 247, 0.5); + box-shadow: 0 0 6px rgba(203, 166, 247, 0.5); border-color: @base0E; color: @base0E; } @@ -295,7 +293,7 @@ window#waybar { #tray > .needs-attention { -gtk-icon-effect: highlight; - box-shadow: 0 0 10px rgba(243, 139, 168, 0.8); + box-shadow: 0 0 6px rgba(243, 139, 168, 0.8); border-color: @base08; } @@ -303,29 +301,20 @@ window#waybar { padding: 0; } -#privacy-item { - /*padding: 4px 10px; - margin: 4px 6px 6px 6px;*/ - color: @base05; - background: linear-gradient(135deg, @base02, @base01); - border-radius: 16px; - transition: all 0.3s ease; -} - #privacy-item.screenshare { - box-shadow: 0 0 10px rgba(209, 98, 164, 0.6); + box-shadow: 0 0 6px rgba(209, 98, 164, 0.6); border-color: @base0A; color: @base0A; } #privacy-item.audio-in { - box-shadow: 0 0 10px rgba(168, 201, 255, 0.6); + box-shadow: 0 0 6px rgba(168, 201, 255, 0.6); border-color: @base0B; color: @base0B; } #privacy-item.audio-out { - box-shadow: 0 0 10px rgba(137, 180, 250, 0.6); + box-shadow: 0 0 6px rgba(137, 180, 250, 0.6); border-color: @base0D; color: @base0D; } @@ -333,13 +322,9 @@ window#waybar { /* Custom wlogout button */ #custom-wlogout { color: @base08; - background: linear-gradient(135deg, @base02, @base01); - border-radius: 16px; - border: 1px solid @base08; - transition: all 0.3s ease; + border-color: @base08; } #custom-wlogout:hover { - box-shadow: 0 0 10px rgba(243, 139, 168, 0.5); - border-color: @base08; + box-shadow: 0 0 6px rgba(243, 139, 168, 0.5); } diff --git a/homeConfigurations/muede/waybar.nix b/homeConfigurations/muede/waybar.nix index 4cf9532..1f014e2 100644 --- a/homeConfigurations/muede/waybar.nix +++ b/homeConfigurations/muede/waybar.nix @@ -63,17 +63,17 @@ icon = true; }; network = { - interface = "wlo1"; + #interface = "wlo1"; format = "{ifname}"; - format-wifi = " "; - format-ethernet = "󰈀 "; - format-linked = "󱘖 "; - format-disconnected = "󰣽 "; + format-wifi = " {essid}"; + format-ethernet = "󰈀"; + format-linked = "󱘖"; + format-disconnected = "󰣽"; tooltip-format = "{ifname} via {gwaddr}"; tooltip-format-wifi = "{essid} ({signalStrength}%)"; tooltip-format-ethernet = "{ifname} {ipaddr}/{cidr}"; tooltip-format-disconnected = "Disconnected"; - max-length = 50; + max-length = 20; }; clock = { format = "{:%a, %d. %b %H:%M}"; @@ -163,10 +163,11 @@ }; cpu = { interval = 1; - format = " {usage:>3}%@{avg_frequency:>3.2f}"; + format = " {usage:>2}%@{avg_frequency:>3.2f}"; }; disk = { - format = "{free}/{total}"; + format = " {percentage_free}% {specific_total:>2.1f}"; + unit = "TB"; }; "custom/wlogout" = { format = ""; @@ -209,7 +210,7 @@ }; }; memory = { - format = " {}%"; + format = " {}%"; }; power-profiles-daemon = { format = "{icon}"; @@ -239,9 +240,9 @@ show-passive-items = true; }; bluetooth = { - format = "  {status} "; - format-connected = "  {device_alias} "; - format-connected-battery = "  {device_alias} {device_battery_percentage}% "; + format = " {status}"; + format-connected = " {device_alias}"; + format-connected-battery = " {device_alias} {device_battery_percentage}%"; tooltip-format = "{controller_alias}\t{controller_address}\n\n{num_connections} connected"; tooltip-format-connected = "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}"; tooltip-format-enumerate-connected = "{device_alias}\t{device_address}"; @@ -271,7 +272,7 @@ escape = true; }; "custom/weather" = { - format = "{}°"; + format = "{}"; tooltip = true; interval = 3600; exec = "${lib.getBin pkgs.wttrbar}/bin/wttrbar --nerd"; From 00ca7b0a01c25fb6be139b59e3eb75c5ee78a3db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Fri, 20 Feb 2026 22:10:20 +0100 Subject: [PATCH 14/28] nix flake update --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 1e2104c..297204d 100644 --- a/flake.lock +++ b/flake.lock @@ -359,11 +359,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1770400632, - "narHash": "sha256-TsOt49sYfzmxSTj2wKHKK2ZToCByLJLxPbwbu1brDt0=", + "lastModified": 1771514840, + "narHash": "sha256-t3WbZvwoDj/75YDX/nwkZuxanZLZaWr9meSfKswaN6g=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "652dbeb0ac2c481dee5b57be972c6fd6feb38adc", + "rev": "4f69ab280e9bb34e2c0b67fdfa6f0978a170ef56", "type": "github" }, "original": { @@ -392,11 +392,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1770394936, - "narHash": "sha256-Pa0fkyLYUR+pZh7phPENDUo4mJIweaAm0uV83iUUlX8=", + "lastModified": 1771305475, + "narHash": "sha256-lqweVTwHhYc+9T33cysp38gVwxaibGJHriOPZXWyhCY=", "owner": "YaLTeR", "repo": "niri", - "rev": "549148d27779d024255a84535b42b947f1c2a113", + "rev": "a2a52911757cb3b497db9407592f9b4c439571ea", "type": "github" }, "original": { @@ -427,11 +427,11 @@ ] }, "locked": { - "lastModified": 1770431965, - "narHash": "sha256-vVMfSjrmeYGfT+dj5eLZ8xNnJP62gvdW32IFQk606wM=", + "lastModified": 1771555311, + "narHash": "sha256-aFjIc57eYBx5jgyLcHujraPf6b/p9RWxzvOGnHML5h0=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "2b53743c0c65c6c525952fce502fe6eaa0913300", + "rev": "88fc33a8a8868de1ac41362fb62341513904dc0f", "type": "github" }, "original": { @@ -478,11 +478,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1770464364, - "narHash": "sha256-z5NJPSBwsLf/OfD8WTmh79tlSU8XgIbwmk6qB1/TFzY=", + "lastModified": 1771419570, + "narHash": "sha256-bxAlQgre3pcQcaRUm/8A0v/X8d2nhfraWSFqVmMcBcU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "23d72dabcb3b12469f57b37170fcbc1789bd7457", + "rev": "6d41bc27aaf7b6a3ba6b169db3bd5d6159cfaa47", "type": "github" }, "original": { @@ -509,11 +509,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1770380644, - "narHash": "sha256-P7dWMHRUWG5m4G+06jDyThXO7kwSk46C1kgjEWcybkE=", + "lastModified": 1771207753, + "narHash": "sha256-b9uG8yN50DRQ6A7JdZBfzq718ryYrlmGgqkRm9OOwCE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ae67888ff7ef9dff69b3cf0cc0fbfbcd3a722abe", + "rev": "d1c15b7d5806069da59e819999d70e1cec0760bf", "type": "github" }, "original": { @@ -549,11 +549,11 @@ ] }, "locked": { - "lastModified": 1770486118, - "narHash": "sha256-eto9txBNwwlQmi445yHZ+x+7mMbyYnbcSn5jG+WJpQU=", + "lastModified": 1771620573, + "narHash": "sha256-EnAmfSplNKGQsf2NB/IySJi2uJ756+yCBl2jNvnbvCs=", "owner": "nix-community", "repo": "NUR", - "rev": "efe9288eff027bbef3bc02ff23937751d20f64c1", + "rev": "55ea501d235d485f2943b71050407ab8ec256043", "type": "github" }, "original": { @@ -747,11 +747,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1770308890, - "narHash": "sha256-7bx8Bn9B2g/loBaz+uLwdKI2rUW+RhDPyP/MqAgvrxU=", + "lastModified": 1771429540, + "narHash": "sha256-YKytDx8LOPOvE+dip1ja+1nbIpDVdqTaFbP4MaXwveM=", "owner": "nix-community", "repo": "stylix", - "rev": "7e7fa955abac04a8e118b1cedf930a8fd41c34a6", + "rev": "1a5c9d8be82127aeccc929f60b952e8a3df6b63c", "type": "github" }, "original": { @@ -897,11 +897,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1770167989, - "narHash": "sha256-rE2WTxKHe3KMG/Zr5YUNeKHkZfWwSFl7yJXrOKnunHg=", + "lastModified": 1771195969, + "narHash": "sha256-BUE41HjLIGPjq3U8VXPjf8asH8GaMI7FYdgrIHKFMXA=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "0947c4685f6237d4f8045482ce0c62feab40b6c4", + "rev": "536bd32efc935bf876d6de385ec18a1b715c9358", "type": "github" }, "original": { From 95c202eabd31624a7fff56bd07eb87793c69a5c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Sat, 21 Feb 2026 23:28:48 +0100 Subject: [PATCH 15/28] update servicepoint-cli --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index 297204d..5579220 100644 --- a/flake.lock +++ b/flake.lock @@ -663,11 +663,11 @@ ] }, "locked": { - "lastModified": 1764875421, - "narHash": "sha256-ZO9wiokPhropwsU3BfIgjm1bc59SIyqrfjfnFCM2Q68=", + "lastModified": 1771709842, + "narHash": "sha256-zbKj2waitgCFE/I4DcV4lWMRkQ7gDOa9QgPXVTao5+g=", "ref": "refs/heads/main", - "rev": "fa892558f123c5d5395663fa666466c73b997245", - "revCount": 48, + "rev": "6c731e3f5ac0fc63e3cf1e727856f3a3327fddfb", + "revCount": 52, "type": "git", "url": "https://git.berlin.ccc.de/servicepoint/servicepoint-cli.git" }, From 866b51811135b69991b9b65093cb40b94985ac54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Sun, 22 Feb 2026 12:32:16 +0100 Subject: [PATCH 16/28] move most git config into home --- homeConfigurations/muede/default.nix | 1 - homeConfigurations/muede/git.nix | 48 ++++++++++++++++------------ homeModules/git.nix | 13 ++------ 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/homeConfigurations/muede/default.nix b/homeConfigurations/muede/default.nix index 4847729..7b4b688 100644 --- a/homeConfigurations/muede/default.nix +++ b/homeConfigurations/muede/default.nix @@ -24,7 +24,6 @@ programs = { home-manager.enable = true; fzf.enable = true; - git-credential-oauth.enable = true; direnv = { enable = true; diff --git a/homeConfigurations/muede/git.nix b/homeConfigurations/muede/git.nix index ba7cd61..97c8477 100644 --- a/homeConfigurations/muede/git.nix +++ b/homeConfigurations/muede/git.nix @@ -1,27 +1,35 @@ { - config.programs.git = { - enable = true; - settings = { - user = { - name = "müde"; - email = "git@darkest.space"; + programs = { + git = { + enable = true; + settings = { + user = { + name = "müde"; + email = "git@darkest.space"; + }; + + aliases = { + prettylog = "log --pretty=oneline --graph"; + spring-clean = "!git branch --merged | xargs -n 1 -r git branch -d"; + }; + + pull.ff = "only"; + merge.tool = "kdiff3"; + push.autoSetupRemote = "true"; + credential.credentialStore = "cache"; }; - aliases = { - prettylog = "log --pretty=oneline --graph"; - spring-clean = "!git branch --merged | xargs -n 1 -r git branch -d"; - }; - - pull.ff = "only"; - merge.tool = "kdiff3"; - push.autoSetupRemote = "true"; - credential.credentialStore = "cache"; + ignores = [ + ".direnv" + ".idea" + ".envrc" + ]; }; - ignores = [ - ".direnv" - ".idea" - ".envrc" - ]; + git-credential-oauth.enable = true; + gh = { + enable = true; + gitCredentialHelper.enable = true; + }; }; } diff --git a/homeModules/git.nix b/homeModules/git.nix index 5da1ba7..2c66c82 100644 --- a/homeModules/git.nix +++ b/homeModules/git.nix @@ -1,13 +1,6 @@ { - programs = { - git = { - enable = true; - settings.init.defaultBranch = "main"; - }; - - gh = { - enable = true; - gitCredentialHelper.enable = true; - }; + programs.git = { + enable = true; + settings.init.defaultBranch = "main"; }; } From e9e3eea3d0ff628a889525b9beed1eeca736baea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Sun, 22 Feb 2026 14:34:19 +0100 Subject: [PATCH 17/28] move podman policy to home manager config, add arch btw --- .../muede/.config/containers/policy.json | 23 ------------------- homeConfigurations/muede/default.nix | 5 +--- homeConfigurations/muede/podman.nix | 18 +++++++++++++++ 3 files changed, 19 insertions(+), 27 deletions(-) delete mode 100644 homeConfigurations/muede/.config/containers/policy.json create mode 100644 homeConfigurations/muede/podman.nix diff --git a/homeConfigurations/muede/.config/containers/policy.json b/homeConfigurations/muede/.config/containers/policy.json deleted file mode 100644 index 245b3df..0000000 --- a/homeConfigurations/muede/.config/containers/policy.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "default": [ - { - "type": "reject" - } - ], - "transports": { - "docker-daemon": { - "": [ - { - "type": "insecureAcceptAnything" - } - ] - }, - "docker": { - "docker.io/library/debian": [ - { - "type": "insecureAcceptAnything" - } - ] - } - } -} diff --git a/homeConfigurations/muede/default.nix b/homeConfigurations/muede/default.nix index 7b4b688..4b5e1ec 100644 --- a/homeConfigurations/muede/default.nix +++ b/homeConfigurations/muede/default.nix @@ -9,6 +9,7 @@ ./git.nix ./gnome.nix ./niri.nix + ./podman.nix ./ssh.nix ./starship.nix ./swaylock.nix @@ -83,10 +84,6 @@ ]; home.file = { - "policy.json" = { - target = ".config/containers/policy.json"; - text = builtins.readFile ./.config/containers/policy.json; - }; "idea.properties".text = "idea.filewatcher.executable.path = ${pkgs.fsnotifier}/bin/fsnotifier"; }; diff --git a/homeConfigurations/muede/podman.nix b/homeConfigurations/muede/podman.nix new file mode 100644 index 0000000..ea5b090 --- /dev/null +++ b/homeConfigurations/muede/podman.nix @@ -0,0 +1,18 @@ +{ + services.podman = { + settings = { + policy = { + default = [ { type = "reject"; } ]; + transports = { + docker-daemon = { + "" = [ { type = "insecureAcceptAnything"; } ]; + }; + docker = { + "docker.io/library/debian" = [ { type = "insecureAcceptAnything"; } ]; + "docker.io/library/rust" = [ { type = "insecureAcceptAnything"; } ]; + }; + }; + }; + }; + }; +} From 22436fccae75aab9325a97789748ca0f03eab58b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Sun, 15 Mar 2026 11:59:24 +0100 Subject: [PATCH 18/28] vscode: ignore .git and .direnv in search --- homeConfigurations/muede/vscode.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/homeConfigurations/muede/vscode.nix b/homeConfigurations/muede/vscode.nix index a32a433..b7e01ab 100644 --- a/homeConfigurations/muede/vscode.nix +++ b/homeConfigurations/muede/vscode.nix @@ -37,6 +37,10 @@ "files.autoSave" = "afterDelay"; "files.autoSaveWhenNoErrors" = true; "files.autoSaveWorkspaceFilesOnly" = true; + "files.exclude" = [ + ".git" + ".direnv" + ]; "editor.fontLigatures" = true; "editor.formatOnSave" = true; From 26a4d3374215b9dbf376cc56d9bb4fd22940b805 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Sun, 15 Mar 2026 12:00:44 +0100 Subject: [PATCH 19/28] nix flake update --- flake.lock | 72 +++++++++++++++++++++++++++--------------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/flake.lock b/flake.lock index 5579220..2665279 100644 --- a/flake.lock +++ b/flake.lock @@ -186,11 +186,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1769996383, - "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", + "lastModified": 1772408722, + "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", + "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", "type": "github" }, "original": { @@ -284,11 +284,11 @@ ] }, "locked": { - "lastModified": 1770260404, - "narHash": "sha256-3iVX1+7YUIt23hBx1WZsUllhbmP2EnXrV8tCRbLxHc8=", + "lastModified": 1773264488, + "narHash": "sha256-rK0507bDuWBrZo+0zts9bCs/+RRUEHuvFE5DHWPxX/Q=", "owner": "nix-community", "repo": "home-manager", - "rev": "0d782ee42c86b196acff08acfbf41bb7d13eed5b", + "rev": "5c0f63f8d55040a7eed69df7e3fcdd15dfb5a04c", "type": "github" }, "original": { @@ -359,11 +359,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1771514840, - "narHash": "sha256-t3WbZvwoDj/75YDX/nwkZuxanZLZaWr9meSfKswaN6g=", + "lastModified": 1773501701, + "narHash": "sha256-+0LBAEm8F5h9Nm+hdS07aoS1W4oTtW6c8lltb66oOYQ=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "4f69ab280e9bb34e2c0b67fdfa6f0978a170ef56", + "rev": "39ac039250a4a32bf8691405cac04864fc66a70d", "type": "github" }, "original": { @@ -392,11 +392,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1771305475, - "narHash": "sha256-lqweVTwHhYc+9T33cysp38gVwxaibGJHriOPZXWyhCY=", + "lastModified": 1773130184, + "narHash": "sha256-3bwx4WqCB06yfQIGB+OgIckOkEDyKxiTD5pOo4Xz2rI=", "owner": "YaLTeR", "repo": "niri", - "rev": "a2a52911757cb3b497db9407592f9b4c439571ea", + "rev": "b07bde3ee82dd73115e6b949e4f3f63695da35ea", "type": "github" }, "original": { @@ -427,11 +427,11 @@ ] }, "locked": { - "lastModified": 1771555311, - "narHash": "sha256-aFjIc57eYBx5jgyLcHujraPf6b/p9RWxzvOGnHML5h0=", + "lastModified": 1773543606, + "narHash": "sha256-phMmtcMDGos4O82iEE3qFl58jp7fp1mu2liDE0A11gQ=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "88fc33a8a8868de1ac41362fb62341513904dc0f", + "rev": "014e1925a28b3e53f90883530ce6ff80e2da238a", "type": "github" }, "original": { @@ -478,11 +478,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1771419570, - "narHash": "sha256-bxAlQgre3pcQcaRUm/8A0v/X8d2nhfraWSFqVmMcBcU=", + "lastModified": 1773375660, + "narHash": "sha256-SEzUWw2Rf5Ki3bcM26nSKgbeoqi2uYy8IHVBqOKjX3w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6d41bc27aaf7b6a3ba6b169db3bd5d6159cfaa47", + "rev": "3e20095fe3c6cbb1ddcef89b26969a69a1570776", "type": "github" }, "original": { @@ -494,11 +494,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1769909678, - "narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=", + "lastModified": 1772328832, + "narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "72716169fe93074c333e8d0173151350670b824c", + "rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742", "type": "github" }, "original": { @@ -509,11 +509,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1771207753, - "narHash": "sha256-b9uG8yN50DRQ6A7JdZBfzq718ryYrlmGgqkRm9OOwCE=", + "lastModified": 1773507054, + "narHash": "sha256-Q8U5VXgrcxmCxPtCCJCIZkcAX3FCZwGh1GNVIXxMND0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d1c15b7d5806069da59e819999d70e1cec0760bf", + "rev": "e80236013dc8b77aa49ca90e7a12d86f5d8d64c9", "type": "github" }, "original": { @@ -549,11 +549,11 @@ ] }, "locked": { - "lastModified": 1771620573, - "narHash": "sha256-EnAmfSplNKGQsf2NB/IySJi2uJ756+yCBl2jNvnbvCs=", + "lastModified": 1773570788, + "narHash": "sha256-WarFHtdyYB1tCDNCPIfazfXWKGpmW5lpYhxqC+IfX/E=", "owner": "nix-community", "repo": "NUR", - "rev": "55ea501d235d485f2943b71050407ab8ec256043", + "rev": "ca9c5ddc6cd9671fadff5da08e26255d55030179", "type": "github" }, "original": { @@ -747,11 +747,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1771429540, - "narHash": "sha256-YKytDx8LOPOvE+dip1ja+1nbIpDVdqTaFbP4MaXwveM=", + "lastModified": 1771788390, + "narHash": "sha256-RzBpBwn93GWxLjacTte+ngwwg0L/BVOg4G/sSIeK3Rw=", "owner": "nix-community", "repo": "stylix", - "rev": "1a5c9d8be82127aeccc929f60b952e8a3df6b63c", + "rev": "ebb238f14d6f930068be4718472da3105fd5d3bf", "type": "github" }, "original": { @@ -864,11 +864,11 @@ ] }, "locked": { - "lastModified": 1770228511, - "narHash": "sha256-wQ6NJSuFqAEmIg2VMnLdCnUc0b7vslUohqqGGD+Fyxk=", + "lastModified": 1773297127, + "narHash": "sha256-6E/yhXP7Oy/NbXtf1ktzmU8SdVqJQ09HC/48ebEGBpk=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "337a4fe074be1042a35086f15481d763b8ddc0e7", + "rev": "71b125cd05fbfd78cab3e070b73544abe24c5016", "type": "github" }, "original": { @@ -897,11 +897,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1771195969, - "narHash": "sha256-BUE41HjLIGPjq3U8VXPjf8asH8GaMI7FYdgrIHKFMXA=", + "lastModified": 1773499041, + "narHash": "sha256-XZ4/tVdLeAYDgKe4JD4C7yYUKydMxwt8c2j6APFWcIc=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "536bd32efc935bf876d6de385ec18a1b715c9358", + "rev": "309d8e2a29953f7465dc14c939e2afe4682c0aa9", "type": "github" }, "original": { From 98da73dceb3fbce2705f876af68dba35d488b04f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Thu, 9 Apr 2026 17:31:53 +0200 Subject: [PATCH 20/28] swaylock: move niri lock hotkey --- homeConfigurations/muede/niri.nix | 4 ---- homeConfigurations/muede/swaylock.nix | 11 ++++++++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/homeConfigurations/muede/niri.nix b/homeConfigurations/muede/niri.nix index d88db90..4eebab7 100644 --- a/homeConfigurations/muede/niri.nix +++ b/homeConfigurations/muede/niri.nix @@ -172,10 +172,6 @@ # Suggested binds for running programs: terminal, app launcher, screen locker. "Mod+T".action.spawn = "${lib.getBin pkgs.gnome-console}/bin/kgx"; "Mod+D".action.spawn = "${lib.getBin config.programs.fuzzel.package}/bin/fuzzel"; - "Super+Alt+L" = { - action.spawn = "${lib.getBin config.programs.swaylock.package}/bin/swaylock"; - allow-when-locked = true; - }; # You can also use a shell. Do this if you need pipes, multiple commands, etc. # Note: the entire command goes as a single argument in the end. diff --git a/homeConfigurations/muede/swaylock.nix b/homeConfigurations/muede/swaylock.nix index 1b756ff..8ff6747 100644 --- a/homeConfigurations/muede/swaylock.nix +++ b/homeConfigurations/muede/swaylock.nix @@ -1,11 +1,11 @@ # based on https://codeberg.org/kiara/cfg/src/commit/b9c472acd78c9c08dfe8b6a643c5c82cc5828433/home-manager/kiara/swaylock.nix# -{ pkgs, config, ... }: +{ pkgs, config, lib, ... }: { - config = { stylix.targets.swaylock = { enable = true; useWallpaper = true; }; + programs.swaylock = { enable = true; package = pkgs.swaylock-effects; @@ -50,5 +50,10 @@ } ]; }; - }; + + + programs.niri.settings.binds."Super+Alt+L" = { + action.spawn = "${lib.getBin config.programs.swaylock.package}/bin/swaylock"; + allow-when-locked = true; + }; } From aeba29ef356ca13da13cfe3abfa686dd0697269a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Fri, 10 Apr 2026 11:44:33 +0200 Subject: [PATCH 21/28] nix flake update --- flake.lock | 72 +++++++++++++++++++++++++++--------------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/flake.lock b/flake.lock index 2665279..e1d289b 100644 --- a/flake.lock +++ b/flake.lock @@ -186,11 +186,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1772408722, - "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", + "lastModified": 1775087534, + "narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", + "rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b", "type": "github" }, "original": { @@ -284,11 +284,11 @@ ] }, "locked": { - "lastModified": 1773264488, - "narHash": "sha256-rK0507bDuWBrZo+0zts9bCs/+RRUEHuvFE5DHWPxX/Q=", + "lastModified": 1775425411, + "narHash": "sha256-KY6HsebJHEe5nHOWP7ur09mb0drGxYSzE3rQxy62rJo=", "owner": "nix-community", "repo": "home-manager", - "rev": "5c0f63f8d55040a7eed69df7e3fcdd15dfb5a04c", + "rev": "0d02ec1d0a05f88ef9e74b516842900c41f0f2fe", "type": "github" }, "original": { @@ -359,11 +359,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1773501701, - "narHash": "sha256-+0LBAEm8F5h9Nm+hdS07aoS1W4oTtW6c8lltb66oOYQ=", + "lastModified": 1775710668, + "narHash": "sha256-pi2TWoWZR22vzr5RBAgIdl1LDwgLX+fh+Hqngt/Kkt8=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "39ac039250a4a32bf8691405cac04864fc66a70d", + "rev": "bef414577a6a745543989716df478afec96486bd", "type": "github" }, "original": { @@ -392,11 +392,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1773130184, - "narHash": "sha256-3bwx4WqCB06yfQIGB+OgIckOkEDyKxiTD5pOo4Xz2rI=", + "lastModified": 1775561155, + "narHash": "sha256-TK2IrqQivRcwqJa0suZMbcsN17CtA8Uu0v7CDnLATb0=", "owner": "YaLTeR", "repo": "niri", - "rev": "b07bde3ee82dd73115e6b949e4f3f63695da35ea", + "rev": "599db847f857b8a7ff78ce02f15acab5d5d9fee1", "type": "github" }, "original": { @@ -427,11 +427,11 @@ ] }, "locked": { - "lastModified": 1773543606, - "narHash": "sha256-phMmtcMDGos4O82iEE3qFl58jp7fp1mu2liDE0A11gQ=", + "lastModified": 1775703285, + "narHash": "sha256-Dck/lX920n3ClC6U2m3fWaXgoGrtJpnqfGCdiOb8Gf4=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "014e1925a28b3e53f90883530ce6ff80e2da238a", + "rev": "c2281bf25d05ecb8155319456340afd34bea28ec", "type": "github" }, "original": { @@ -478,11 +478,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1773375660, - "narHash": "sha256-SEzUWw2Rf5Ki3bcM26nSKgbeoqi2uYy8IHVBqOKjX3w=", + "lastModified": 1775595990, + "narHash": "sha256-OEf7YqhF9IjJFYZJyuhAypgU+VsRB5lD4DuiMws5Ltc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3e20095fe3c6cbb1ddcef89b26969a69a1570776", + "rev": "4e92bbcdb030f3b4782be4751dc08e6b6cb6ccf2", "type": "github" }, "original": { @@ -494,11 +494,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1772328832, - "narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=", + "lastModified": 1774748309, + "narHash": "sha256-+U7gF3qxzwD5TZuANzZPeJTZRHS29OFQgkQ2kiTJBIQ=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742", + "rev": "333c4e0545a6da976206c74db8773a1645b5870a", "type": "github" }, "original": { @@ -509,11 +509,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1773507054, - "narHash": "sha256-Q8U5VXgrcxmCxPtCCJCIZkcAX3FCZwGh1GNVIXxMND0=", + "lastModified": 1775701739, + "narHash": "sha256-2FWWY1rr/+pGUJK1npcVcsWNEblzmKs6VxD3VEvwJSs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e80236013dc8b77aa49ca90e7a12d86f5d8d64c9", + "rev": "0f7663154ff2fec150f9dbf5f81ec2785dc1e0db", "type": "github" }, "original": { @@ -549,11 +549,11 @@ ] }, "locked": { - "lastModified": 1773570788, - "narHash": "sha256-WarFHtdyYB1tCDNCPIfazfXWKGpmW5lpYhxqC+IfX/E=", + "lastModified": 1775746236, + "narHash": "sha256-wCMkv45LNU6gjWbl53WE4LAHU3Q3dNFU4dRWdlGW1PE=", "owner": "nix-community", "repo": "NUR", - "rev": "ca9c5ddc6cd9671fadff5da08e26255d55030179", + "rev": "1088e4c4f5f40c9ce5e5181ae501576f72f1bce8", "type": "github" }, "original": { @@ -747,11 +747,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1771788390, - "narHash": "sha256-RzBpBwn93GWxLjacTte+ngwwg0L/BVOg4G/sSIeK3Rw=", + "lastModified": 1775509805, + "narHash": "sha256-CxmSn6FihFw7RvqLGGAdQUhbdBfdok946bg8ubvTfa4=", "owner": "nix-community", "repo": "stylix", - "rev": "ebb238f14d6f930068be4718472da3105fd5d3bf", + "rev": "83e8a81710ddd56fb5112da54e0395de51bbcd3a", "type": "github" }, "original": { @@ -864,11 +864,11 @@ ] }, "locked": { - "lastModified": 1773297127, - "narHash": "sha256-6E/yhXP7Oy/NbXtf1ktzmU8SdVqJQ09HC/48ebEGBpk=", + "lastModified": 1775636079, + "narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "71b125cd05fbfd78cab3e070b73544abe24c5016", + "rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba", "type": "github" }, "original": { @@ -897,11 +897,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1773499041, - "narHash": "sha256-XZ4/tVdLeAYDgKe4JD4C7yYUKydMxwt8c2j6APFWcIc=", + "lastModified": 1773622265, + "narHash": "sha256-wToKwH7IgWdGLMSIWksEDs4eumR6UbbsuPQ42r0oTXQ=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "309d8e2a29953f7465dc14c939e2afe4682c0aa9", + "rev": "a879e5e0896a326adc79c474bf457b8b99011027", "type": "github" }, "original": { From 39496b44a01b4ce526e04b39a3aabd315062e881 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Fri, 10 Apr 2026 11:44:58 +0200 Subject: [PATCH 22/28] git credential helper globally --- nixosModules/globalinstalls.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/nixosModules/globalinstalls.nix b/nixosModules/globalinstalls.nix index 47fb343..146d401 100644 --- a/nixosModules/globalinstalls.nix +++ b/nixosModules/globalinstalls.nix @@ -8,6 +8,7 @@ screen tldr nix-output-monitor + git-credential-oauth ]; programs = { @@ -20,4 +21,10 @@ syntaxHighlight = true; }; }; + + environment.etc."gitconfig".text = '' + [credential] + helper = oauth + credentialStore = cache + ''; } From fb7d4981b1d9a01def8bb18069fdbe201cf6e5dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Fri, 10 Apr 2026 11:45:31 +0200 Subject: [PATCH 23/28] misc installs --- homeConfigurations/muede/default.nix | 6 ++++++ nixosModules/muede-desktop-settings.nix | 1 + nixosModules/user-muede.nix | 2 ++ 3 files changed, 9 insertions(+) diff --git a/homeConfigurations/muede/default.nix b/homeConfigurations/muede/default.nix index 4b5e1ec..9face22 100644 --- a/homeConfigurations/muede/default.nix +++ b/homeConfigurations/muede/default.nix @@ -81,6 +81,12 @@ dconf2nix gnome-terminal + + gparted + + geary + + claude-code ]; home.file = { diff --git a/nixosModules/muede-desktop-settings.nix b/nixosModules/muede-desktop-settings.nix index ea02ed9..27e790b 100644 --- a/nixosModules/muede-desktop-settings.nix +++ b/nixosModules/muede-desktop-settings.nix @@ -5,6 +5,7 @@ environment.systemPackages = with pkgs; [ lm_sensors libreoffice-qt6 + usbutils ]; fonts.enableDefaultPackages = true; diff --git a/nixosModules/user-muede.nix b/nixosModules/user-muede.nix index 19e4d82..498c5a8 100644 --- a/nixosModules/user-muede.nix +++ b/nixosModules/user-muede.nix @@ -31,5 +31,7 @@ "anydesk" "vscode-extension-ms-dotnettools-csharp" + + "claude-code" ]; } From f30165eada5a9fddea3ac89260bfc770bd7957ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Fri, 10 Apr 2026 11:49:11 +0200 Subject: [PATCH 24/28] add damocles container --- flake.nix | 3 +++ nixosConfigurations/damocles/default.nix | 18 ++++++++++++++++++ nixosConfigurations/muede-lpt2/default.nix | 6 ++++++ 3 files changed, 27 insertions(+) create mode 100644 nixosConfigurations/damocles/default.nix diff --git a/flake.nix b/flake.nix index e864fc6..2a7ad86 100644 --- a/flake.nix +++ b/flake.nix @@ -132,6 +132,9 @@ epimetheus = { system = "aarch64-linux"; }; + damocles = { + system = "x86_64-linux"; + }; }; inherit (nixpkgs) lib; forDevice = f: lib.mapAttrs (device: value: f (value // { inherit device; })) devices; diff --git a/nixosConfigurations/damocles/default.nix b/nixosConfigurations/damocles/default.nix new file mode 100644 index 0000000..36ef5b9 --- /dev/null +++ b/nixosConfigurations/damocles/default.nix @@ -0,0 +1,18 @@ +{ pkgs, ... }: +{ + boot.isContainer = true; + + allowedUnfreePackages = [ "claude-code" ]; + + environment.systemPackages = with pkgs; [ + unstable.claude-code + git + ]; + + users.users.muede = { + isNormalUser = true; + extraGroups = [ "wheel" ]; + }; + + security.sudo.wheelNeedsPassword = false; +} diff --git a/nixosConfigurations/muede-lpt2/default.nix b/nixosConfigurations/muede-lpt2/default.nix index dcb580f..29f97bc 100644 --- a/nixosConfigurations/muede-lpt2/default.nix +++ b/nixosConfigurations/muede-lpt2/default.nix @@ -60,5 +60,11 @@ ]; boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; + + containers.damocles = { + autoStart = false; + privateNetwork = false; + path = self.nixosConfigurations.damocles.config.system.build.toplevel; + }; }; } From 30b2b8668b00cb2c7d498251483060af009618bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Sun, 12 Apr 2026 21:37:14 +0200 Subject: [PATCH 25/28] only eval unstable if needed --- nixosConfigurations/damocles/default.nix | 4 +++- nixosModules/global-settings-desktop.nix | 1 - nixosModules/global-settings.nix | 4 ---- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/nixosConfigurations/damocles/default.nix b/nixosConfigurations/damocles/default.nix index 36ef5b9..69ebb1a 100644 --- a/nixosConfigurations/damocles/default.nix +++ b/nixosConfigurations/damocles/default.nix @@ -1,5 +1,7 @@ -{ pkgs, ... }: +{ pkgs, self, ... }: { + nixpkgs.overlays = [ self.overlays.unstable-packages ]; + boot.isContainer = true; allowedUnfreePackages = [ "claude-code" ]; diff --git a/nixosModules/global-settings-desktop.nix b/nixosModules/global-settings-desktop.nix index eda369d..5f8bbf7 100644 --- a/nixosModules/global-settings-desktop.nix +++ b/nixosModules/global-settings-desktop.nix @@ -20,7 +20,6 @@ self.nixosModules.modern-desktop self.nixosModules.niri self.nixosModules.nix-ld - self.nixosModules.pkgs-unstable self.nixosModules.pkgs-vscode-extensions self.nixosModules.quiet-boot self.nixosModules.stylix diff --git a/nixosModules/global-settings.nix b/nixosModules/global-settings.nix index 77bddae..cd92140 100644 --- a/nixosModules/global-settings.nix +++ b/nixosModules/global-settings.nix @@ -30,10 +30,6 @@ autoUpgrade.flake = "git+https://git.berlin.ccc.de/vinzenz/nixos-configuration.git"; }; - nixpkgs.overlays = [ - self.overlays.unstable-packages - ]; - nix.settings.experimental-features = [ "nix-command" "flakes" From dc70f474a9ed16e4ae608ce348d52630fcee3fd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Sun, 12 Apr 2026 11:33:12 +0200 Subject: [PATCH 26/28] replace waybar and wlogout with nova-shell --- flake.lock | 67 ++++- flake.nix | 10 +- foo.diff | 295 ++++++++++++++++++++++ homeConfigurations/muede/default.nix | 13 +- homeConfigurations/muede/swaylock.nix | 110 ++++---- homeConfigurations/muede/waybar.css | 4 +- nixosConfigurations/damocles/default.nix | 1 + nixosConfigurations/muede-pc2/default.nix | 4 +- 8 files changed, 441 insertions(+), 63 deletions(-) create mode 100644 foo.diff diff --git a/flake.lock b/flake.lock index e1d289b..9773037 100644 --- a/flake.lock +++ b/flake.lock @@ -539,6 +539,28 @@ "type": "github" } }, + "nova-shell": { + "inputs": { + "nixpkgs": [ + "nixpkgs-unstable" + ], + "quickshell": "quickshell", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1776022066, + "narHash": "sha256-EVl6pS3C8qogiqMNGBLibPsnK8saURb5Ayf9pxzcFjA=", + "ref": "refs/heads/main", + "rev": "d33b47139a431ebc6aef9926f1f80bb2420ac596", + "revCount": 152, + "type": "git", + "url": "https://git.berlin.ccc.de/vinzenz/nova-shell" + }, + "original": { + "type": "git", + "url": "https://git.berlin.ccc.de/vinzenz/nova-shell" + } + }, "nur": { "inputs": { "flake-parts": [ @@ -588,6 +610,27 @@ "type": "github" } }, + "quickshell": { + "inputs": { + "nixpkgs": [ + "nova-shell", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775720097, + "narHash": "sha256-p+vqkCuFfVNyQBo370wr6MebNUvz55RZiC0m8YKUhvQ=", + "ref": "refs/heads/master", + "rev": "d4c92973b53d9fa34cc110d3b974eb6bde5b3027", + "revCount": 800, + "type": "git", + "url": "https://git.outfoxxed.me/outfoxxed/quickshell" + }, + "original": { + "type": "git", + "url": "https://git.outfoxxed.me/outfoxxed/quickshell" + } + }, "root": { "inputs": { "flake-parts": "flake-parts", @@ -600,12 +643,13 @@ "nixos-generators": "nixos-generators", "nixpkgs": "nixpkgs", "nixpkgs-unstable": "nixpkgs-unstable", + "nova-shell": "nova-shell", "nur": "nur", "servicepoint-cli": "servicepoint-cli", "servicepoint-simulator": "servicepoint-simulator", "servicepoint-tanks": "servicepoint-tanks", "stylix": "stylix", - "treefmt-nix": "treefmt-nix", + "treefmt-nix": "treefmt-nix_2", "zerforschen-plus": "zerforschen-plus" } }, @@ -858,6 +902,27 @@ } }, "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "nova-shell", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775636079, + "narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "treefmt-nix_2": { "inputs": { "nixpkgs": [ "nixpkgs" diff --git a/flake.nix b/flake.nix index 2a7ad86..4cb474f 100644 --- a/flake.nix +++ b/flake.nix @@ -23,8 +23,10 @@ }; niri = { url = "github:sodiboo/niri-flake"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.nixpkgs-stable.follows = "nixpkgs"; + inputs = { + nixpkgs.follows = "nixpkgs"; + nixpkgs-stable.follows = "nixpkgs"; + }; }; nix-filter.url = "github:numtide/nix-filter"; nix-vscode-extensions = { @@ -35,6 +37,10 @@ url = "github:nix-community/nixos-generators"; inputs.nixpkgs.follows = "nixpkgs"; }; + nova-shell = { + url = "git+https://git.berlin.ccc.de/vinzenz/nova-shell"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; + }; nur = { url = "github:nix-community/NUR"; inputs = { diff --git a/foo.diff b/foo.diff new file mode 100644 index 0000000..a070e7b --- /dev/null +++ b/foo.diff @@ -0,0 +1,295 @@ +diff --git a/flake.lock b/flake.lock +index e1d289b..2ae403c 100644 +--- a/flake.lock ++++ b/flake.lock +@@ -539,6 +539,28 @@ + "type": "github" + } + }, ++ "nova-shell": { ++ "inputs": { ++ "nixpkgs": [ ++ "nixpkgs-unstable" ++ ], ++ "quickshell": "quickshell", ++ "treefmt-nix": "treefmt-nix" ++ }, ++ "locked": { ++ "lastModified": 1775855370, ++ "narHash": "sha256-HCTOC6tSXvRNoZl/CQjjvZ63iMlYgH4HSPsqn25zFJA=", ++ "ref": "refs/heads/main", ++ "rev": "3c9f6e78cc8a0af240a5ac7a0ed0cb517f2bbb5a", ++ "revCount": 8, ++ "type": "git", ++ "url": "https://git.berlin.ccc.de/vinzenz/nova-shell" ++ }, ++ "original": { ++ "type": "git", ++ "url": "https://git.berlin.ccc.de/vinzenz/nova-shell" ++ } ++ }, + "nur": { + "inputs": { + "flake-parts": [ +@@ -588,6 +610,27 @@ + "type": "github" + } + }, ++ "quickshell": { ++ "inputs": { ++ "nixpkgs": [ ++ "nova-shell", ++ "nixpkgs" ++ ] ++ }, ++ "locked": { ++ "lastModified": 1775720097, ++ "narHash": "sha256-p+vqkCuFfVNyQBo370wr6MebNUvz55RZiC0m8YKUhvQ=", ++ "ref": "refs/heads/master", ++ "rev": "d4c92973b53d9fa34cc110d3b974eb6bde5b3027", ++ "revCount": 800, ++ "type": "git", ++ "url": "https://git.outfoxxed.me/outfoxxed/quickshell" ++ }, ++ "original": { ++ "type": "git", ++ "url": "https://git.outfoxxed.me/outfoxxed/quickshell" ++ } ++ }, + "root": { + "inputs": { + "flake-parts": "flake-parts", +@@ -600,12 +643,13 @@ + "nixos-generators": "nixos-generators", + "nixpkgs": "nixpkgs", + "nixpkgs-unstable": "nixpkgs-unstable", ++ "nova-shell": "nova-shell", + "nur": "nur", + "servicepoint-cli": "servicepoint-cli", + "servicepoint-simulator": "servicepoint-simulator", + "servicepoint-tanks": "servicepoint-tanks", + "stylix": "stylix", +- "treefmt-nix": "treefmt-nix", ++ "treefmt-nix": "treefmt-nix_2", + "zerforschen-plus": "zerforschen-plus" + } + }, +@@ -858,6 +902,27 @@ + } + }, + "treefmt-nix": { ++ "inputs": { ++ "nixpkgs": [ ++ "nova-shell", ++ "nixpkgs" ++ ] ++ }, ++ "locked": { ++ "lastModified": 1775636079, ++ "narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=", ++ "owner": "numtide", ++ "repo": "treefmt-nix", ++ "rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba", ++ "type": "github" ++ }, ++ "original": { ++ "owner": "numtide", ++ "repo": "treefmt-nix", ++ "type": "github" ++ } ++ }, ++ "treefmt-nix_2": { + "inputs": { + "nixpkgs": [ + "nixpkgs" +diff --git a/flake.nix b/flake.nix +index 2a7ad86..87683fe 100644 +--- a/flake.nix ++++ b/flake.nix +@@ -35,6 +35,10 @@ + url = "github:nix-community/nixos-generators"; + inputs.nixpkgs.follows = "nixpkgs"; + }; ++ nova-shell = { ++ url = "git+https://git.berlin.ccc.de/vinzenz/nova-shell"; ++ inputs.nixpkgs.follows = "nixpkgs-unstable"; ++ }; + nur = { + url = "github:nix-community/NUR"; + inputs = { +diff --git a/homeConfigurations/muede/default.nix b/homeConfigurations/muede/default.nix +index 9face22..5f12afb 100644 +--- a/homeConfigurations/muede/default.nix ++++ b/homeConfigurations/muede/default.nix +@@ -1,4 +1,4 @@ +-{ pkgs, ... }: ++{ pkgs, self,... }: + { + imports = [ + # keep-sorted start ++ self.inputs.nova-shell.homeModules.default +@@ -18,6 +18,7 @@ + ./waybar.nix + ./wlogout.nix + ./zsh.nix + # keep-sorted end + ]; + +@@ -48,6 +49,7 @@ + }; + + chromium.enable = true; ++ nova-shell.enable = true; + }; + + home.packages = with pkgs; [ +diff --git a/homeConfigurations/muede/swaylock.nix b/homeConfigurations/muede/swaylock.nix +index 8ff6747..55d7f91 100644 +--- a/homeConfigurations/muede/swaylock.nix ++++ b/homeConfigurations/muede/swaylock.nix +@@ -1,59 +1,63 @@ + # based on https://codeberg.org/kiara/cfg/src/commit/b9c472acd78c9c08dfe8b6a643c5c82cc5828433/home-manager/kiara/swaylock.nix# +-{ pkgs, config, lib, ... }: + { +- stylix.targets.swaylock = { +- enable = true; +- useWallpaper = true; +- }; +- +- programs.swaylock = { +- enable = true; +- package = pkgs.swaylock-effects; +- # https://github.com/jirutka/swaylock-effects/blob/master/swaylock.1.scd +- settings = { +- screenshot = false; +- effect-blur = "9x9"; +- effect-vignette = "0.2:0.2"; +- fade-in = 0.5; +- font-size = 75; +- indicator-caps-lock = true; +- clock = true; +- indicator-radius = 400; +- show-failed-attempts = true; +- ignore-empty-password = true; +- grace = 3.5; +- indicator-thickness = 20; +- }; +- }; ++ pkgs, ++ config, ++ lib, ++ ... ++}: ++{ ++ stylix.targets.swaylock = { ++ enable = true; ++ useWallpaper = true; ++ }; + +- services.swayidle = { +- enable = true; +- systemdTarget = "graphical-session.target"; +- timeouts = [ +- { +- timeout = 60; +- command = "${config.programs.swaylock.package}/bin/swaylock"; +- } +- { +- timeout = 60 * 10; +- command = "${pkgs.systemd}/bin/systemctl suspend"; +- } +- ]; +- events = [ +- { +- event = "before-sleep"; +- command = "${pkgs.playerctl}/bin/playerctl pause; ${config.programs.swaylock.package}/bin/swaylock"; +- } +- { +- event = "lock"; +- command = "${config.programs.swaylock.package}/bin/swaylock"; +- } +- ]; ++ programs.swaylock = { ++ enable = true; ++ package = pkgs.swaylock-effects; ++ # https://github.com/jirutka/swaylock-effects/blob/master/swaylock.1.scd ++ settings = { ++ screenshot = false; ++ effect-blur = "9x9"; ++ effect-vignette = "0.2:0.2"; ++ fade-in = 0.5; ++ font-size = 75; ++ indicator-caps-lock = true; ++ clock = true; ++ indicator-radius = 400; ++ show-failed-attempts = true; ++ ignore-empty-password = true; ++ grace = 3.5; ++ indicator-thickness = 20; + }; ++ }; + ++ services.swayidle = { ++ enable = true; ++ systemdTarget = "graphical-session.target"; ++ timeouts = [ ++ { ++ timeout = 60; ++ command = "${config.programs.swaylock.package}/bin/swaylock"; ++ } ++ { ++ timeout = 60 * 10; ++ command = "${pkgs.systemd}/bin/systemctl suspend"; ++ } ++ ]; ++ events = [ ++ { ++ event = "before-sleep"; ++ command = "${pkgs.playerctl}/bin/playerctl pause; ${config.programs.swaylock.package}/bin/swaylock"; ++ } ++ { ++ event = "lock"; ++ command = "${config.programs.swaylock.package}/bin/swaylock"; ++ } ++ ]; ++ }; + +- programs.niri.settings.binds."Super+Alt+L" = { +- action.spawn = "${lib.getBin config.programs.swaylock.package}/bin/swaylock"; +- allow-when-locked = true; +- }; ++ programs.niri.settings.binds."Super+Alt+L" = { ++ action.spawn = "${lib.getBin config.programs.swaylock.package}/bin/swaylock"; ++ allow-when-locked = true; ++ }; + } +diff --git a/homeConfigurations/muede/waybar.css b/homeConfigurations/muede/waybar.css +index 79e7671..0f1d38a 100644 +--- a/homeConfigurations/muede/waybar.css ++++ b/homeConfigurations/muede/waybar.css +@@ -72,8 +72,8 @@ window#waybar { + } + + #workspaces { +- padding-left: 0; +- padding-right: 0; ++ padding-left: 0; ++ padding-right: 0; + } + + /* Individual widget colors */ +diff --git a/nixosConfigurations/muede-pc2/default.nix b/nixosConfigurations/muede-pc2/default.nix +index 742fa9f..dd97b00 100644 +--- a/nixosConfigurations/muede-pc2/default.nix ++++ b/nixosConfigurations/muede-pc2/default.nix +@@ -2,8 +2,8 @@ + { + imports = [ + ./hardware.nix +-# ./vscode-server.nix +-# ./hass.nix ++ # ./vscode-server.nix ++ # ./hass.nix + + self.nixosModules.user-muede + self.nixosModules.gnome diff --git a/homeConfigurations/muede/default.nix b/homeConfigurations/muede/default.nix index 9face22..e4ff011 100644 --- a/homeConfigurations/muede/default.nix +++ b/homeConfigurations/muede/default.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ pkgs, self, ... }: { imports = [ # keep-sorted start @@ -15,9 +15,10 @@ ./swaylock.nix ./swaync.nix ./vscode.nix - ./waybar.nix - ./wlogout.nix +# ./waybar.nix +# ./wlogout.nix ./zsh.nix + self.inputs.nova-shell.homeModules.default # keep-sorted end ]; @@ -48,6 +49,12 @@ }; chromium.enable = true; + nova-shell = { + enable = true; + theme = { + fontSize = 13; + }; + }; }; home.packages = with pkgs; [ diff --git a/homeConfigurations/muede/swaylock.nix b/homeConfigurations/muede/swaylock.nix index 8ff6747..064cb9b 100644 --- a/homeConfigurations/muede/swaylock.nix +++ b/homeConfigurations/muede/swaylock.nix @@ -1,59 +1,63 @@ # based on https://codeberg.org/kiara/cfg/src/commit/b9c472acd78c9c08dfe8b6a643c5c82cc5828433/home-manager/kiara/swaylock.nix# -{ pkgs, config, lib, ... }: { - stylix.targets.swaylock = { - enable = true; - useWallpaper = true; + pkgs, + config, + lib, + ... +}: +{ + stylix.targets.swaylock = { + enable = true; + useWallpaper = true; + }; + + programs.swaylock = { + enable = true; + package = pkgs.swaylock-effects; + # https://github.com/jirutka/swaylock-effects/blob/master/swaylock.1.scd + settings = { + screenshot = false; + effect-blur = "9x9"; + effect-vignette = "0.2:0.2"; + fade-in = 0.5; + font-size = 75; + indicator-caps-lock = true; + clock = true; + indicator-radius = 400; + show-failed-attempts = true; + ignore-empty-password = true; + grace = 3.5; + indicator-thickness = 20; }; + }; - programs.swaylock = { - enable = true; - package = pkgs.swaylock-effects; - # https://github.com/jirutka/swaylock-effects/blob/master/swaylock.1.scd - settings = { - screenshot = false; - effect-blur = "9x9"; - effect-vignette = "0.2:0.2"; - fade-in = 0.5; - font-size = 75; - indicator-caps-lock = true; - clock = true; - indicator-radius = 400; - show-failed-attempts = true; - ignore-empty-password = true; - grace = 3.5; - indicator-thickness = 20; - }; - }; + services.swayidle = { + enable = true; + systemdTarget = "graphical-session.target"; + timeouts = [ + { + timeout = 5; + command = "${config.programs.swaylock.package}/bin/swaylock"; + } + { + timeout = 60 * 10; + command = "${pkgs.systemd}/bin/systemctl suspend"; + } + ]; + events = [ + { + event = "before-sleep"; + command = "${pkgs.playerctl}/bin/playerctl pause; ${config.programs.swaylock.package}/bin/swaylock"; + } + { + event = "lock"; + command = "${config.programs.swaylock.package}/bin/swaylock"; + } + ]; + }; - services.swayidle = { - enable = true; - systemdTarget = "graphical-session.target"; - timeouts = [ - { - timeout = 60; - command = "${config.programs.swaylock.package}/bin/swaylock"; - } - { - timeout = 60 * 10; - command = "${pkgs.systemd}/bin/systemctl suspend"; - } - ]; - events = [ - { - event = "before-sleep"; - command = "${pkgs.playerctl}/bin/playerctl pause; ${config.programs.swaylock.package}/bin/swaylock"; - } - { - event = "lock"; - command = "${config.programs.swaylock.package}/bin/swaylock"; - } - ]; - }; - - - programs.niri.settings.binds."Super+Alt+L" = { - action.spawn = "${lib.getBin config.programs.swaylock.package}/bin/swaylock"; - allow-when-locked = true; - }; + programs.niri.settings.binds."Super+Alt+L" = { + action.spawn = "${lib.getBin config.programs.swaylock.package}/bin/swaylock"; + allow-when-locked = true; + }; } diff --git a/homeConfigurations/muede/waybar.css b/homeConfigurations/muede/waybar.css index 79e7671..0f1d38a 100644 --- a/homeConfigurations/muede/waybar.css +++ b/homeConfigurations/muede/waybar.css @@ -72,8 +72,8 @@ window#waybar { } #workspaces { - padding-left: 0; - padding-right: 0; + padding-left: 0; + padding-right: 0; } /* Individual widget colors */ diff --git a/nixosConfigurations/damocles/default.nix b/nixosConfigurations/damocles/default.nix index 69ebb1a..e62b6ac 100644 --- a/nixosConfigurations/damocles/default.nix +++ b/nixosConfigurations/damocles/default.nix @@ -9,6 +9,7 @@ environment.systemPackages = with pkgs; [ unstable.claude-code git + python3 ]; users.users.muede = { diff --git a/nixosConfigurations/muede-pc2/default.nix b/nixosConfigurations/muede-pc2/default.nix index 742fa9f..dd97b00 100644 --- a/nixosConfigurations/muede-pc2/default.nix +++ b/nixosConfigurations/muede-pc2/default.nix @@ -2,8 +2,8 @@ { imports = [ ./hardware.nix -# ./vscode-server.nix -# ./hass.nix + # ./vscode-server.nix + # ./hass.nix self.nixosModules.user-muede self.nixosModules.gnome From 8a097b0581586b73c580452503af86a759053325 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Sun, 12 Apr 2026 21:39:52 +0200 Subject: [PATCH 27/28] nix fmt, explicit container enable --- homeConfigurations/muede/default.nix | 58 ++++++++++------------ nixosConfigurations/muede-lpt2/default.nix | 3 ++ 2 files changed, 28 insertions(+), 33 deletions(-) diff --git a/homeConfigurations/muede/default.nix b/homeConfigurations/muede/default.nix index e4ff011..d239d01 100644 --- a/homeConfigurations/muede/default.nix +++ b/homeConfigurations/muede/default.nix @@ -15,8 +15,8 @@ ./swaylock.nix ./swaync.nix ./vscode.nix -# ./waybar.nix -# ./wlogout.nix + # ./waybar.nix + # ./wlogout.nix ./zsh.nix self.inputs.nova-shell.homeModules.default # keep-sorted end @@ -58,42 +58,34 @@ }; home.packages = with pkgs; [ - keepassxc - nextcloud-client - thunderbird - fractal - telegram-desktop - - wireguard-tools - wirelesstools - tailscale - - kdiff3 - jetbrains-toolbox - - vlc - lutris + # keep-sorted start arduino - arduino-ide arduino-cli - + arduino-ide + claude-code + dconf2nix + foliate + fractal + geary + gnome-terminal + gparted + icu + jetbrains-toolbox + kdiff3 + keepassxc + lutris + nextcloud-client + onefetch servicepoint-cli servicepoint-simulator - - icu - - foliate - - dconf2nix - - gnome-terminal - - gparted - - geary - - claude-code + tailscale + telegram-desktop + thunderbird + vlc + wireguard-tools + wirelesstools + # keep-sorted end ]; home.file = { diff --git a/nixosConfigurations/muede-lpt2/default.nix b/nixosConfigurations/muede-lpt2/default.nix index 29f97bc..6cc5934 100644 --- a/nixosConfigurations/muede-lpt2/default.nix +++ b/nixosConfigurations/muede-lpt2/default.nix @@ -66,5 +66,8 @@ privateNetwork = false; path = self.nixosConfigurations.damocles.config.system.build.toplevel; }; + + boot.enableContainers = true; + virtualisation.containers.enable = true; }; } From 925fd85c2855d7899cd49ad32e21e841c870332d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Sun, 12 Apr 2026 21:44:10 +0200 Subject: [PATCH 28/28] remove diff --- foo.diff | 295 ------------------------------------------------------- 1 file changed, 295 deletions(-) delete mode 100644 foo.diff diff --git a/foo.diff b/foo.diff deleted file mode 100644 index a070e7b..0000000 --- a/foo.diff +++ /dev/null @@ -1,295 +0,0 @@ -diff --git a/flake.lock b/flake.lock -index e1d289b..2ae403c 100644 ---- a/flake.lock -+++ b/flake.lock -@@ -539,6 +539,28 @@ - "type": "github" - } - }, -+ "nova-shell": { -+ "inputs": { -+ "nixpkgs": [ -+ "nixpkgs-unstable" -+ ], -+ "quickshell": "quickshell", -+ "treefmt-nix": "treefmt-nix" -+ }, -+ "locked": { -+ "lastModified": 1775855370, -+ "narHash": "sha256-HCTOC6tSXvRNoZl/CQjjvZ63iMlYgH4HSPsqn25zFJA=", -+ "ref": "refs/heads/main", -+ "rev": "3c9f6e78cc8a0af240a5ac7a0ed0cb517f2bbb5a", -+ "revCount": 8, -+ "type": "git", -+ "url": "https://git.berlin.ccc.de/vinzenz/nova-shell" -+ }, -+ "original": { -+ "type": "git", -+ "url": "https://git.berlin.ccc.de/vinzenz/nova-shell" -+ } -+ }, - "nur": { - "inputs": { - "flake-parts": [ -@@ -588,6 +610,27 @@ - "type": "github" - } - }, -+ "quickshell": { -+ "inputs": { -+ "nixpkgs": [ -+ "nova-shell", -+ "nixpkgs" -+ ] -+ }, -+ "locked": { -+ "lastModified": 1775720097, -+ "narHash": "sha256-p+vqkCuFfVNyQBo370wr6MebNUvz55RZiC0m8YKUhvQ=", -+ "ref": "refs/heads/master", -+ "rev": "d4c92973b53d9fa34cc110d3b974eb6bde5b3027", -+ "revCount": 800, -+ "type": "git", -+ "url": "https://git.outfoxxed.me/outfoxxed/quickshell" -+ }, -+ "original": { -+ "type": "git", -+ "url": "https://git.outfoxxed.me/outfoxxed/quickshell" -+ } -+ }, - "root": { - "inputs": { - "flake-parts": "flake-parts", -@@ -600,12 +643,13 @@ - "nixos-generators": "nixos-generators", - "nixpkgs": "nixpkgs", - "nixpkgs-unstable": "nixpkgs-unstable", -+ "nova-shell": "nova-shell", - "nur": "nur", - "servicepoint-cli": "servicepoint-cli", - "servicepoint-simulator": "servicepoint-simulator", - "servicepoint-tanks": "servicepoint-tanks", - "stylix": "stylix", -- "treefmt-nix": "treefmt-nix", -+ "treefmt-nix": "treefmt-nix_2", - "zerforschen-plus": "zerforschen-plus" - } - }, -@@ -858,6 +902,27 @@ - } - }, - "treefmt-nix": { -+ "inputs": { -+ "nixpkgs": [ -+ "nova-shell", -+ "nixpkgs" -+ ] -+ }, -+ "locked": { -+ "lastModified": 1775636079, -+ "narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=", -+ "owner": "numtide", -+ "repo": "treefmt-nix", -+ "rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba", -+ "type": "github" -+ }, -+ "original": { -+ "owner": "numtide", -+ "repo": "treefmt-nix", -+ "type": "github" -+ } -+ }, -+ "treefmt-nix_2": { - "inputs": { - "nixpkgs": [ - "nixpkgs" -diff --git a/flake.nix b/flake.nix -index 2a7ad86..87683fe 100644 ---- a/flake.nix -+++ b/flake.nix -@@ -35,6 +35,10 @@ - url = "github:nix-community/nixos-generators"; - inputs.nixpkgs.follows = "nixpkgs"; - }; -+ nova-shell = { -+ url = "git+https://git.berlin.ccc.de/vinzenz/nova-shell"; -+ inputs.nixpkgs.follows = "nixpkgs-unstable"; -+ }; - nur = { - url = "github:nix-community/NUR"; - inputs = { -diff --git a/homeConfigurations/muede/default.nix b/homeConfigurations/muede/default.nix -index 9face22..5f12afb 100644 ---- a/homeConfigurations/muede/default.nix -+++ b/homeConfigurations/muede/default.nix -@@ -1,4 +1,4 @@ --{ pkgs, ... }: -+{ pkgs, self,... }: - { - imports = [ - # keep-sorted start -+ self.inputs.nova-shell.homeModules.default -@@ -18,6 +18,7 @@ - ./waybar.nix - ./wlogout.nix - ./zsh.nix - # keep-sorted end - ]; - -@@ -48,6 +49,7 @@ - }; - - chromium.enable = true; -+ nova-shell.enable = true; - }; - - home.packages = with pkgs; [ -diff --git a/homeConfigurations/muede/swaylock.nix b/homeConfigurations/muede/swaylock.nix -index 8ff6747..55d7f91 100644 ---- a/homeConfigurations/muede/swaylock.nix -+++ b/homeConfigurations/muede/swaylock.nix -@@ -1,59 +1,63 @@ - # based on https://codeberg.org/kiara/cfg/src/commit/b9c472acd78c9c08dfe8b6a643c5c82cc5828433/home-manager/kiara/swaylock.nix# --{ pkgs, config, lib, ... }: - { -- stylix.targets.swaylock = { -- enable = true; -- useWallpaper = true; -- }; -- -- programs.swaylock = { -- enable = true; -- package = pkgs.swaylock-effects; -- # https://github.com/jirutka/swaylock-effects/blob/master/swaylock.1.scd -- settings = { -- screenshot = false; -- effect-blur = "9x9"; -- effect-vignette = "0.2:0.2"; -- fade-in = 0.5; -- font-size = 75; -- indicator-caps-lock = true; -- clock = true; -- indicator-radius = 400; -- show-failed-attempts = true; -- ignore-empty-password = true; -- grace = 3.5; -- indicator-thickness = 20; -- }; -- }; -+ pkgs, -+ config, -+ lib, -+ ... -+}: -+{ -+ stylix.targets.swaylock = { -+ enable = true; -+ useWallpaper = true; -+ }; - -- services.swayidle = { -- enable = true; -- systemdTarget = "graphical-session.target"; -- timeouts = [ -- { -- timeout = 60; -- command = "${config.programs.swaylock.package}/bin/swaylock"; -- } -- { -- timeout = 60 * 10; -- command = "${pkgs.systemd}/bin/systemctl suspend"; -- } -- ]; -- events = [ -- { -- event = "before-sleep"; -- command = "${pkgs.playerctl}/bin/playerctl pause; ${config.programs.swaylock.package}/bin/swaylock"; -- } -- { -- event = "lock"; -- command = "${config.programs.swaylock.package}/bin/swaylock"; -- } -- ]; -+ programs.swaylock = { -+ enable = true; -+ package = pkgs.swaylock-effects; -+ # https://github.com/jirutka/swaylock-effects/blob/master/swaylock.1.scd -+ settings = { -+ screenshot = false; -+ effect-blur = "9x9"; -+ effect-vignette = "0.2:0.2"; -+ fade-in = 0.5; -+ font-size = 75; -+ indicator-caps-lock = true; -+ clock = true; -+ indicator-radius = 400; -+ show-failed-attempts = true; -+ ignore-empty-password = true; -+ grace = 3.5; -+ indicator-thickness = 20; - }; -+ }; - -+ services.swayidle = { -+ enable = true; -+ systemdTarget = "graphical-session.target"; -+ timeouts = [ -+ { -+ timeout = 60; -+ command = "${config.programs.swaylock.package}/bin/swaylock"; -+ } -+ { -+ timeout = 60 * 10; -+ command = "${pkgs.systemd}/bin/systemctl suspend"; -+ } -+ ]; -+ events = [ -+ { -+ event = "before-sleep"; -+ command = "${pkgs.playerctl}/bin/playerctl pause; ${config.programs.swaylock.package}/bin/swaylock"; -+ } -+ { -+ event = "lock"; -+ command = "${config.programs.swaylock.package}/bin/swaylock"; -+ } -+ ]; -+ }; - -- programs.niri.settings.binds."Super+Alt+L" = { -- action.spawn = "${lib.getBin config.programs.swaylock.package}/bin/swaylock"; -- allow-when-locked = true; -- }; -+ programs.niri.settings.binds."Super+Alt+L" = { -+ action.spawn = "${lib.getBin config.programs.swaylock.package}/bin/swaylock"; -+ allow-when-locked = true; -+ }; - } -diff --git a/homeConfigurations/muede/waybar.css b/homeConfigurations/muede/waybar.css -index 79e7671..0f1d38a 100644 ---- a/homeConfigurations/muede/waybar.css -+++ b/homeConfigurations/muede/waybar.css -@@ -72,8 +72,8 @@ window#waybar { - } - - #workspaces { -- padding-left: 0; -- padding-right: 0; -+ padding-left: 0; -+ padding-right: 0; - } - - /* Individual widget colors */ -diff --git a/nixosConfigurations/muede-pc2/default.nix b/nixosConfigurations/muede-pc2/default.nix -index 742fa9f..dd97b00 100644 ---- a/nixosConfigurations/muede-pc2/default.nix -+++ b/nixosConfigurations/muede-pc2/default.nix -@@ -2,8 +2,8 @@ - { - imports = [ - ./hardware.nix --# ./vscode-server.nix --# ./hass.nix -+ # ./vscode-server.nix -+ # ./hass.nix - - self.nixosModules.user-muede - self.nixosModules.gnome