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