This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

superconfig / machines / atlas / config.nix
3.0 kB 79 lines
1{ 2 self, 3 config, 4 pkgs, 5 lib, 6 ... 7}: 8{ 9 imports = [ 10 ../../configs 11 ../../configs/desktops/sway/default.nix 12 ../../configs/pipewire.nix 13 ../../configs/network-manager.nix 14 self.wrapperModules.workspace-manager 15 ]; 16 17 krebs.build.host.name = "atlas"; 18 system.stateVersion = "25.05"; 19 20 lass.workspace-manager.enable = true; 21 22 nix.settings.trusted-users = [ 23 "root" 24 "lass" 25 ]; 26 27 # Autostart straight into sway: greetd logs the main user in on boot with no 28 # prompt and execs sway (a login shell so the wrapped sway + session env from 29 # programs.sway are on PATH). default_session with a real user means every 30 # (re)start goes directly into the session — there is no greeter. 31 services.greetd = { 32 enable = true; 33 settings.default_session = { 34 command = "${lib.getExe pkgs.bash} --login -c sway"; 35 user = config.users.users.mainUser.name; 36 }; 37 }; 38 39 # Stateless box: no password/credential is baked into the image, so a screen 40 # lock could never be unlocked (swaylock PAM has nothing to accept). Disable 41 # the desktop's idle auto-lock (swayidle: lock after 120s, suspend-then- 42 # hibernate after 300s) and the lock service itself. The $mod+l / $mod+F11 43 # lock keybinds then start an empty lock.target and harmlessly do nothing. 44 systemd.user.services.swayidle.enable = lib.mkForce false; 45 systemd.user.services.swaylock.enable = lib.mkForce false; 46 47 # Noctalia pops a one-time "Privacy Update" telemetry wizard whenever its 48 # cache (~/.cache/noctalia/shell-state.json) has an empty 49 # changelogState.lastSeenVersion (UpdateService.shouldShowTelemetryWizard, 50 # gated only on that cache — not on any setting). This box is stateless, so 51 # the cache is wiped every boot and the wizard returned on every start. 52 # Seed the cache before noctalia launches with the current version, so it 53 # treats the changelog/telemetry notice as already seen (and, since 54 # lastSeen == currentVersion, the changelog stays closed too). 55 systemd.user.services.noctalia-seed-state = { 56 description = "Seed noctalia changelog cache (suppress telemetry wizard on stateless boots)"; 57 partOf = [ "sway-session.target" ]; 58 wantedBy = [ "noctalia-shell.service" ]; 59 before = [ "noctalia-shell.service" ]; 60 serviceConfig = { 61 Type = "oneshot"; 62 RemainAfterExit = true; 63 ExecStart = pkgs.writeShellScript "noctalia-seed-state" '' 64 set -eu 65 dir="''${XDG_CACHE_HOME:-$HOME/.cache}/noctalia" 66 f="$dir/shell-state.json" 67 ver="v${pkgs.noctalia-shell.version}" 68 mkdir -p "$dir" 69 if [ -s "$f" ]; then 70 ${pkgs.jq}/bin/jq --arg v "$ver" \ 71 '.changelogState.lastSeenVersion = (if (.changelogState.lastSeenVersion // "") == "" then $v else .changelogState.lastSeenVersion end)' \ 72 "$f" > "$f.tmp" && mv "$f.tmp" "$f" 73 else 74 ${pkgs.jq}/bin/jq -n --arg v "$ver" '{changelogState:{lastSeenVersion:$v}}' > "$f" 75 fi 76 ''; 77 }; 78 }; 79}