From 3206eeb6568945131028941e44ead20ba501ca2e Mon Sep 17 00:00:00 2001 From: Archive Bot Date: Wed, 13 Nov 2024 14:34:18 +0000 Subject: [PATCH] Update archive. --- .github/workflows/main.yaml | 22 + .nojekyll | 0 CNAME | 1 + LICENSE | 21 + README.md | 3 + assets/img/zulip.svg | 10 + index.html | 44 + sitemap-001-pages.xml.gz | Bin 0 -> 4303 bytes sitemap.xml | 6 + stream/413948-nixos/index.html | 50 + ...ll.20on.20bare.20metal.20-.20howto.3F.html | 39 + .../topic/.E2.9C.94.20VM.20-.20QEMU.html | 147 + ...9C.94.20Weird.20behavior.20in.20socat.html | 70 + ...st.20resolve.20.28matrix.2Ftwisted.29.html | 244 + ...ll.20on.20bare.20metal.20-.20howto.3F.html | 94 + ...cation.20and.20git.20commit.20signing.html | 111 + .../topic/Darwin.27s.20linux-builder.html | 106 + .../topic/Deploying.20to.20DigitalOcean.html | 109 + .../Home.20CI.20machine.20.28portable.29.html | 299 + ....20gsettings.20schema.20on.20NixOS.3F.html | 19 + ...rsion.20of.20a.20tool.20in.20NixOS.3F.html | 57 + .../topic/ISO.20download.20speed.html | 27 + .../Installing.20a.20flake.20directly.html | 28 + ....20reproducible.20my.20system.20is.3F.html | 39 + ...0repos.20and.20sharing.20of.20nixpkgs.html | 55 + ...SD.2C.20it.27s.20NixOS.20on.20FreeBSD.html | 42 + .../NixOS.20.20nat.20race.20condition.3F.html | 49 + .../413948-nixos/topic/NixOS.20Anywhere.html | 189 + .../topic/NixOS.20Cloud-init.20images.html | 62 + .../NixOS.20for.20small.20datacenter.html | 160 + ...NixOS.20oneclick.20install.20tutorial.html | 295 + .../topic/NixOS.20tutorial.20series.html | 241 + .../topic/QEMU.20internal.20SIGSEGV.html | 85 + .../topic/Self-hosted.20GitHub.20runners.html | 431 ++ ...ing.20HedgeDoc.20with.20GitHub.20auth.html | 25 + .../topic/Self-hosting.20email.html | 74 + ...rsonal.20caches.20using.20.60attic.60.html | 136 + .../Specifying.20UUID.20in.20diskio.html | 106 + .../topic/Unified.20activation.html | 31 + ...0removed.20from.20the.20configuration.html | 53 + ...20home.20manager.20regularly.2E.2E.2E.html | 30 + .../topic/Zulip.20Nix.20packaging.html | 45 + stream/413948-nixos/topic/disko-install.html | 95 + stream/413948-nixos/topic/nixos-unified.html | 20 + ...dn.20router.20using.20NixOS.20microvm.html | 33 + .../secrets.2Fpassword.20management.html | 141 + .../topic/services.2Eself-deploy.html | 21 + .../413948-nixos/topic/stream.20events.html | 22 + stream/413949-haskell-flake/index.html | 30 + ...stom.60.20setting.20stopped.20working.html | 195 + ...gs.60.20is.20for.20which.20package.3F.html | 127 + ...stom.60.20setting.20stopped.20working.html | 19 + .../topic/.E2.9C.94.200.2E5.2E0.20plan.html | 25 + .../topic/0.2E5.2E0.20plan.html | 67 + ....20library.20packages.20in.20settings.html | 55 + ...when.20embedding.20files.20using.20TH.html | 110 + .../topic/Documentation.20updates.html | 23 + ....20to.20parse.20.60cabal.2Eproject.60.html | 87 + .../topic/Missing.20gettext.html | 47 + .../topic/Non-standard.20package.20set.html | 32 + .../topic/OOM.20during.20compilation.3F.html | 89 + .../topic/Removing.20IFD.html | 90 + ...0package.20set.20with.20haskell-flake.html | 55 + ...20ignoring.20user.27s.20package.20set.html | 512 ++ ...ropped.20support.20for.20ghc.208.2E10.html | 36 + .../topic/stream.20events.html | 22 + ...what.20is.20.60toDefinedProject.60.3F.html | 54 + stream/413950-nix/index.html | 87 + ...ELOG.60.20auto.20update.20on.20Github.html | 22 + ....2Elock.60.20auto-merge.20on.20GitHub.html | 112 + ...20Accessing.20list.20items.20in.20Nix.html | 51 + ....20automatic.20gc.20in.20home-manager.html | 124 + ...h.20template.20in.20private.20repo.3F.html | 31 + ...auth.20for.20git.2C.20ssh.2C.20etc.2E.html | 50 + ...20deep.20packages.20in.20nix.20flakes.html | 103 + stream/413950-nix/topic/ANN.3A.20nixci.html | 109 + .../Accessing.20list.20items.20in.20Nix.html | 26 + ...80.99t.20depend.20on.20external.20git.html | 39 + .../Becoming.20a.20package.20maintainer.html | 34 + ...g.20in.20.60nix.20run.60.20of.20flake.html | 107 + ...r.20generated.20code.20is.20in.20sync.html | 141 + .../Conditional.20internal.20option.html | 33 + ...0launchctl.20logs.20for.20a.20service.html | 87 + .../413950-nix/topic/Dependency.20graph.html | 85 + ...atches.20without.20massive.20rebuilds.html | 21 + ...S.20configuration.2C.20using.20flakes.html | 129 + .../topic/Ekala.20project.20announcement.html | 20 + ...macs.20with.20Xwidgets.20.28Darwin.29.html | 28 + .../Expressions.20in.20flake.20inputs.html | 92 + .../topic/Failed.20to.20evalModules.html | 48 + .../topic/Filesystem.20As.20Memory.html | 31 + .../topic/Flake.20template.20vars.html | 42 + .../topic/Git.20manyFiles.20issue.html | 21 + .../topic/Haskell.20.2B.20Rust.20FFI.html | 113 + ...rom.20flake.20into.20callCabal2nix.3F.html | 64 + ...ands.20from.20old.20cli.20in.20nix_rs.html | 62 + ...0to.20override.20Python.20packages.3F.html | 36 + stream/413950-nix/topic/IFD.html | 21 + stream/413950-nix/topic/Jobs.html | 20 + stream/413950-nix/topic/LWN.20Article.html | 44 + .../Man.20pages.20with.20home-manager.html | 91 + ...ts.20to.20make.20a.20complex.20string.html | 201 + .../topic/Module.20system.20tutorial.html | 20 + .../Nix.20development.20environments.html | 128 + .../topic/Nix.20events.20in.20India.html | 41 + stream/413950-nix/topic/Nix.20iceberg.html | 39 + .../413950-nix/topic/Nix.20performance.html | 24 + .../topic/Nix.20tutorial.20series.html | 65 + .../topic/Nix.20using.20incorrect.20GHC.html | 116 + .../topic/Nix.27s.20Achilles.20heel.3F.html | 32 + .../413950-nix/topic/NixCon.20NA.202024.html | 32 + ...ing.20the.20vlang.20dev.20environment.html | 104 + ...encies.20in.20Rust.20flake.20template.html | 49 + ...rriding.20flake.20inputs.20from.20CLI.html | 95 + .../Passing.20arguments.20to.20flake.html | 114 + .../413950-nix/topic/Portable.20binaries.html | 42 + ...y.20search.20through.20flake.20inputs.html | 147 + ...n.20process.20using.20process-compose.html | 325 + .../topic/Rust.20cross-compilation.html | 107 + ...ting.20evaluation.20and.20realization.html | 46 + .../topic/The.20Nix.20Abstractions.html | 31 + .../The.20future.20of.20.60nixci.60.html | 25 + ....20Github.20Actions.E2.80.99.20matrix.html | 19 + ...20calls.20to.20git.20in.20derivations.html | 38 + ....20of.20formatters.20in.20treefmt-nix.html | 33 + stream/413950-nix/topic/flake.html | 36 + stream/413950-nix/topic/helix.html | 201 + ...me-manager.20without.20admin.20access.html | 202 + .../topic/jupyter.20env.20setup.html | 37 + ...just-flake.20.28justfile.20sharing.29.html | 32 + stream/413950-nix/topic/macOS.20Sequoia.html | 187 + .../topic/nested.20nix.20shell.html | 44 + stream/413950-nix/topic/nix-index.html | 96 + .../nix.20-.20direnv.20and.20starship.html | 20 + ...h.20template.20in.20private.20repo.3F.html | 50 + stream/413950-nix/topic/nix.html | 19 + stream/413950-nix/topic/nixfmt.html | 101 + ...20Manage.20neovim.20config.20in.20Nix.html | 59 + .../topic/nosys.20.60pkgs.60.20handling.html | 45 + ...st.20home-manager.20implementation.2E.html | 111 + ...mmit-hooks.20to.20format.20the.20code.html | 54 + ...lake.20.28Nixify.20Rust.20projects.29.html | 54 + stream/413950-nix/topic/stream.20events.html | 22 + stream/413951-general/index.html | 25 + stream/413951-general/topic/0th.html | 26 + .../ANN.3A.20NixOS.20Asia.20website.html | 122 + ...urrent.20FOSS.20Scenario.20in.20India.html | 103 + ...724.2C.20Kerala.20.28March.2022-24.29.html | 39 + stream/413951-general/topic/FP.20India.html | 33 + ...dcast.20looking.20for.20text.20author.html | 23 + stream/413951-general/topic/Introduction.html | 59 + ...tting.20Google.20index.20this.20Zulip.html | 54 + .../topic/OSS.20contribution.20ideas.html | 61 + .../topic/Social.20media.20stream.html | 28 + .../topic/Syntax.20highlighting.html | 26 + stream/413951-general/topic/Telegram.html | 44 + .../413951-general/topic/stream.20events.html | 58 + stream/414011-services-flake/index.html | 34 + .../.E2.9C.94.200.2E2.2E0.20release.html | 45 + ...open-browser.60.20as.20a.20service.3F.html | 19 + ....20opinion.20on.20.60example.2Fllm.60.html | 219 + ....20of.20postgres.20in.20initialScript.html | 72 + .../topic/.E2.9C.94.20Weaviate.html | 25 + .../.E2.9C.94.20custom.20local.20service.html | 31 + .../topic/0.2E2.2E0.20release.html | 45 + .../CUDA.20acceleration.20in.20ollama.html | 96 + .../topic/Compared.20to.20other.20tools.html | 20 + .../Darwin.20support.20for.20grafana.html | 20 + stream/414011-services-flake/topic/Docs.html | 19 + ...open-browser.60.20as.20a.20service.3F.html | 27 + stream/414011-services-flake/topic/GSoC.html | 26 + ...to.20see.20when.20I.20try.20to.20quit.html | 22 + .../topic/Java.20process.20leak.html | 35 + ...toprism.20based.20on.20services-flake.html | 146 + ....20opinion.20on.20.60example.2Fllm.60.html | 283 + .../414011-services-flake/topic/Weaviate.html | 316 + .../topic/cargo-doc-live.20initial.20PR.html | 317 + .../topic/custom.20local.20service.html | 33 + ...rvice.20has.20incorrect.20permissions.html | 240 + .../topic/stream.20events.html | 22 + .../414022-process-compose-flake/index.html | 21 + .../Alternative.20to.20F.3Cn.3E.20keys.html | 79 + .../topic/Branding.html | 33 + ...to.20see.20when.20I.20try.20to.20quit.html | 61 + ...20to.20select.20text.20in.20the.20tui.html | 51 + .../topic/devenv.html | 19 + .../process-compose.201.2E0.20released.html | 19 + ...compose.20log.20in.20GitHub.20runners.html | 43 + ...ose.20on.20FreeBSD-based.20systems.3F.html | 53 + .../topic/stream.20events.html | 22 + stream/415266-social-media/index.html | 18 + .../topic/Discourse.20Announcements.html | 2013 +++++ .../topic/Hacker.20News.html | 257 + .../topic/Lobste.2Ers.html | 1644 ++++ .../topic/StackOverflow.html | 285 + .../415266-social-media/topic/r.2Fnixos.html | 6696 +++++++++++++++++ .../topic/stream.20events.html | 40 + stream/415454-nix-browser/index.html | 15 + .../topic/Building.20Tauri.20apps.html | 35 + ...le.20to.20gather.20nix.20info.20issue.html | 34 + .../topic/stream.20events.html | 22 + stream/415454-omnix/index.html | 24 + stream/415454-omnix/topic/0.2E1.2E0.html | 20 + .../topic/Building.20Tauri.20apps.html | 35 + .../415454-omnix/topic/Flake.20schemas.html | 20 + .../topic/Grand.20plan.20for.20omnix.html | 211 + .../415454-omnix/topic/Static.20binary.html | 40 + .../topic/cargo-doc-live.20broken.3F.html | 35 + .../415454-omnix/topic/channel.20events.html | 37 + stream/415454-omnix/topic/om.20ci.html | 21 + stream/415454-omnix/topic/om.20health.html | 20 + stream/415454-omnix/topic/om.20init.html | 20 + stream/415454-omnix/topic/om.20show.html | 33 + .../415454-omnix/topic/stream.20events.html | 22 + stream/416818-jenkins-nix-ci/index.html | 14 + ...not.20get.20working.20in.20my.20setup.html | 87 + .../topic/stream.20events.html | 22 + stream/416826-website/index.html | 19 + ...22og.3Aimage.22.3E.20for.20wiki-links.html | 25 + ....20Copy.20button.20to.20code.20blocks.html | 51 + ...b-section.20of.20an.20internal.20page.html | 27 + stream/416826-website/topic/SEO.html | 21 + stream/416826-website/topic/Updates.html | 54 + .../obsidian.20graph.20in.20emanote.html | 178 + .../416826-website/topic/stream.20events.html | 22 + stream/419910-flake-parts/index.html | 17 + ...ommunity.20docs.20site.20in.20Emanote.html | 34 + .../topic/Having.20multiple.20.60pkgs.60.html | 26 + .../topic/Make.20me.20a.20beliver.html | 125 + ...riding.20.60lib.60.20in.20flake-parts.html | 111 + .../topic/stream.20events.html | 22 + stream/420166-offtopic/index.html | 21 + ...web.20editing.20of.20Markdown.20files.html | 45 + .../420166-offtopic/topic/Github.20Pages.html | 20 + ...resting.20take.20on.20memory.20safety.html | 19 + .../topic/Publishing.20videos.html | 25 + .../topic/channel.20events.html | 31 + .../topic/just.20recipe.20grouping.html | 68 + .../topic/llama3.20release.html | 40 + stream/420166-offtopic/topic/memes.html | 26 + .../topic/stream.20events.html | 22 + stream/424491-horizon-haskell/index.html | 14 + ...Introduction.20To.20Horizon.20Haskell.html | 40 + .../topic/stream.20events.html | 22 + stream/426237-nixify-llm/index.html | 29 + ...C.94.20Issues.20with.20ollama.20flake.html | 19 + .../426237-nixify-llm/topic/Aider.20vs.html | 44 + .../Anyone.20aware.20of.20Pinokio.3F.html | 56 + .../Editor.20integration.20.28LSP.3F.29.html | 356 + .../426237-nixify-llm/topic/Eluther.20AI.html | 29 + .../topic/Issues.20with.20ollama.20flake.html | 153 + .../topic/LoRA.20model.20refinememt.html | 27 + ...local.20OpenAI.20compatible.20backend.html | 27 + ...s.20all.20LLMV.20OpenAPI.20compatible.html | 167 + stream/426237-nixify-llm/topic/khoj.html | 25 + .../topic/llm.20example.20.2B.20neovim.html | 20 + .../topic/nixified.2Eai.html | 33 + .../topic/ollama.20image.20analysis.3F.html | 77 + stream/426237-nixify-llm/topic/ollama.html | 2231 ++++++ .../426237-nixify-llm/topic/private-gpt.html | 50 + .../sc.20-.20or.20how.20to.20AI.20editor.html | 242 + .../topic/stream.20events.html | 28 + stream/442953-cull-os/index.html | 33 + .../topic/.E2.9C.94.20channel.20events.html | 19 + .../topic/Bind.20expressions.html | 59 + ...ent.20addressed.20dynamic.20libraries.html | 105 + ...ands.20to.20Derivations.20Efficiently.html | 61 + .../topic/Current.20status.html | 306 + .../topic/Derivation.20storing.20service.html | 315 + .../topic/Discuss.20cull-os.html | 45 + .../Fixing.20what.20Nix.20did.20wrong.html | 154 + stream/442953-cull-os/topic/Flowcharts.html | 32 + .../topic/Language.20design.20philosophy.html | 69 + .../442953-cull-os/topic/Match.20syntax.html | 92 + .../topic/Novel.20LSP.20features.html | 33 + .../topic/Realizer.20Protocol.html | 67 + .../topic/Recursive.20Realization.html | 19 + ...20do.20in.20the.20realizer.20protocol.html | 110 + .../topic/Typed.20Lambda.20Arguments.html | 43 + ...ilder.20to.20do.20the.20buil.2E.2E.2E.html | 73 + ...oes.20.22Cab.22.20mean.2C.20anyway.3F.html | 27 + ....20the.20Computability.20Hierarchy.3F.html | 90 + .../442953-cull-os/topic/Why.20no.20IFD.html | 31 + .../topic/channel.20events.html | 22 + stream/446608-rust-flake/index.html | 14 + .../topic/Trunk.20.2B.20Wasm.html | 261 + .../topic/channel.20events.html | 28 + streams.yaml | 2 + style.css | 1 + ...ll.20on.20bare.20metal.20-.20howto.3F.json | 26 + .../.E2.9C.94.20VM.20-.20QEMU.json | 50 + ...9C.94.20Weird.20behavior.20in.20socat.json | 44 + ...st.20resolve.20.28matrix.2Ftwisted.29.json | 92 + ...ll.20on.20bare.20metal.20-.20howto.3F.json | 68 + ...cation.20and.20git.20commit.20signing.json | 86 + .../Darwin.27s.20linux-builder.json | 38 + .../Deploying.20to.20DigitalOcean.json | 44 + .../Home.20CI.20machine.20.28portable.29.json | 236 + ....20gsettings.20schema.20on.20NixOS.3F.json | 8 + ...rsion.20of.20a.20tool.20in.20NixOS.3F.json | 26 + .../413948-nixos/ISO.20download.20speed.json | 14 + .../Installing.20a.20flake.20directly.json | 14 + ....20reproducible.20my.20system.20is.3F.json | 26 + ...0repos.20and.20sharing.20of.20nixpkgs.json | 26 + ...SD.2C.20it.27s.20NixOS.20on.20FreeBSD.json | 26 + .../NixOS.20.20nat.20race.20condition.3F.json | 20 + zulip_json/413948-nixos/NixOS.20Anywhere.json | 92 + .../NixOS.20Cloud-init.20images.json | 44 + .../NixOS.20for.20small.20datacenter.json | 134 + ...NixOS.20oneclick.20install.20tutorial.json | 218 + .../NixOS.20tutorial.20series.json | 164 + .../QEMU.20internal.20SIGSEGV.json | 50 + .../Self-hosted.20GitHub.20runners.json | 308 + ...ing.20HedgeDoc.20with.20GitHub.20auth.json | 14 + .../413948-nixos/Self-hosting.20email.json | 56 + ...rsonal.20caches.20using.20.60attic.60.json | 110 + .../Specifying.20UUID.20in.20diskio.json | 86 + .../413948-nixos/Unified.20activation.json | 14 + ...0removed.20from.20the.20configuration.json | 38 + ...20home.20manager.20regularly.2E.2E.2E.json | 14 + .../413948-nixos/Zulip.20Nix.20packaging.json | 20 + zulip_json/413948-nixos/disko-install.json | 68 + zulip_json/413948-nixos/nixos-unified.json | 8 + ...dn.20router.20using.20NixOS.20microvm.json | 20 + .../secrets.2Fpassword.20management.json | 104 + .../413948-nixos/services.2Eself-deploy.json | 8 + zulip_json/413948-nixos/stream.20events.json | 8 + ...stom.60.20setting.20stopped.20working.json | 128 + ...gs.60.20is.20for.20which.20package.3F.json | 98 + ...stom.60.20setting.20stopped.20working.json | 8 + .../.E2.9C.94.200.2E5.2E0.20plan.json | 14 + .../0.2E5.2E0.20plan.json | 44 + ....20library.20packages.20in.20settings.json | 20 + ...when.20embedding.20files.20using.20TH.json | 20 + .../Documentation.20updates.json | 8 + ....20to.20parse.20.60cabal.2Eproject.60.json | 50 + .../Missing.20gettext.json | 26 + .../Non-standard.20package.20set.json | 20 + .../OOM.20during.20compilation.3F.json | 20 + .../413949-haskell-flake/Removing.20IFD.json | 44 + ...0package.20set.20with.20haskell-flake.json | 38 + ...20ignoring.20user.27s.20package.20set.json | 368 + ...ropped.20support.20for.20ghc.208.2E10.json | 20 + .../413949-haskell-flake/stream.20events.json | 8 + ...what.20is.20.60toDefinedProject.60.3F.json | 38 + ...ELOG.60.20auto.20update.20on.20Github.json | 8 + ....2Elock.60.20auto-merge.20on.20GitHub.json | 68 + ...20Accessing.20list.20items.20in.20Nix.json | 38 + ....20automatic.20gc.20in.20home-manager.json | 56 + ...h.20template.20in.20private.20repo.3F.json | 20 + ...auth.20for.20git.2C.20ssh.2C.20etc.2E.json | 32 + ...20deep.20packages.20in.20nix.20flakes.json | 44 + zulip_json/413950-nix/ANN.3A.20nixci.json | 68 + .../Accessing.20list.20items.20in.20Nix.json | 14 + ...80.99t.20depend.20on.20external.20git.json | 26 + .../Becoming.20a.20package.20maintainer.json | 20 + ...g.20in.20.60nix.20run.60.20of.20flake.json | 74 + ...r.20generated.20code.20is.20in.20sync.json | 80 + .../Conditional.20internal.20option.json | 20 + ...0launchctl.20logs.20for.20a.20service.json | 56 + zulip_json/413950-nix/Dependency.20graph.json | 50 + ...atches.20without.20massive.20rebuilds.json | 8 + ...S.20configuration.2C.20using.20flakes.json | 80 + .../Ekala.20project.20announcement.json | 8 + ...macs.20with.20Xwidgets.20.28Darwin.29.json | 14 + .../Expressions.20in.20flake.20inputs.json | 56 + .../413950-nix/Failed.20to.20evalModules.json | 26 + .../413950-nix/Filesystem.20As.20Memory.json | 8 + .../413950-nix/Flake.20template.20vars.json | 26 + .../413950-nix/Git.20manyFiles.20issue.json | 8 + .../Haskell.20.2B.20Rust.20FFI.json | 68 + ...rom.20flake.20into.20callCabal2nix.3F.json | 20 + ...ands.20from.20old.20cli.20in.20nix_rs.json | 50 + ...0to.20override.20Python.20packages.3F.json | 20 + zulip_json/413950-nix/IFD.json | 8 + zulip_json/413950-nix/Jobs.json | 8 + zulip_json/413950-nix/LWN.20Article.json | 32 + .../Man.20pages.20with.20home-manager.json | 50 + ...ts.20to.20make.20a.20complex.20string.json | 110 + .../Module.20system.20tutorial.json | 8 + .../Nix.20development.20environments.json | 74 + .../413950-nix/Nix.20events.20in.20India.json | 26 + zulip_json/413950-nix/Nix.20iceberg.json | 26 + zulip_json/413950-nix/Nix.20performance.json | 8 + .../413950-nix/Nix.20tutorial.20series.json | 38 + .../Nix.20using.20incorrect.20GHC.json | 38 + .../Nix.27s.20Achilles.20heel.3F.json | 20 + zulip_json/413950-nix/NixCon.20NA.202024.json | 20 + ...ing.20the.20vlang.20dev.20environment.json | 74 + ...encies.20in.20Rust.20flake.20template.json | 26 + ...rriding.20flake.20inputs.20from.20CLI.json | 44 + .../Passing.20arguments.20to.20flake.json | 98 + .../413950-nix/Portable.20binaries.json | 20 + ...y.20search.20through.20flake.20inputs.json | 92 + ...n.20process.20using.20process-compose.json | 92 + .../413950-nix/Rust.20cross-compilation.json | 80 + ...ting.20evaluation.20and.20realization.json | 26 + .../413950-nix/The.20Nix.20Abstractions.json | 14 + .../The.20future.20of.20.60nixci.60.json | 14 + ....20Github.20Actions.E2.80.99.20matrix.json | 8 + ...20calls.20to.20git.20in.20derivations.json | 20 + ....20of.20formatters.20in.20treefmt-nix.json | 20 + zulip_json/413950-nix/flake.json | 20 + zulip_json/413950-nix/helix.json | 44 + ...me-manager.20without.20admin.20access.json | 146 + .../413950-nix/jupyter.20env.20setup.json | 26 + ...just-flake.20.28justfile.20sharing.29.json | 20 + zulip_json/413950-nix/macOS.20Sequoia.json | 98 + .../413950-nix/nested.20nix.20shell.json | 32 + zulip_json/413950-nix/nix-index.json | 68 + .../nix.20-.20direnv.20and.20starship.json | 8 + ...h.20template.20in.20private.20repo.3F.json | 38 + zulip_json/413950-nix/nix.json | 8 + zulip_json/413950-nix/nixfmt.json | 80 + ...20Manage.20neovim.20config.20in.20Nix.json | 38 + .../nosys.20.60pkgs.60.20handling.json | 32 + ...st.20home-manager.20implementation.2E.json | 86 + ...mmit-hooks.20to.20format.20the.20code.json | 38 + ...lake.20.28Nixify.20Rust.20projects.29.json | 38 + zulip_json/413950-nix/stream.20events.json | 8 + zulip_json/413951-general/0th.json | 14 + .../ANN.3A.20NixOS.20Asia.20website.json | 104 + ...urrent.20FOSS.20Scenario.20in.20India.json | 80 + ...724.2C.20Kerala.20.28March.2022-24.29.json | 26 + zulip_json/413951-general/FP.20India.json | 20 + ...dcast.20looking.20for.20text.20author.json | 8 + zulip_json/413951-general/Introduction.json | 38 + ...tting.20Google.20index.20this.20Zulip.json | 38 + .../OSS.20contribution.20ideas.json | 32 + .../Social.20media.20stream.json | 14 + .../413951-general/Syntax.20highlighting.json | 8 + zulip_json/413951-general/Telegram.json | 32 + .../413951-general/stream.20events.json | 32 + .../.E2.9C.94.200.2E2.2E0.20release.json | 32 + ...open-browser.60.20as.20a.20service.3F.json | 8 + ....20opinion.20on.20.60example.2Fllm.60.json | 182 + ....20of.20postgres.20in.20initialScript.json | 56 + .../.E2.9C.94.20Weaviate.json | 14 + .../.E2.9C.94.20custom.20local.20service.json | 20 + .../0.2E2.2E0.20release.json | 26 + .../CUDA.20acceleration.20in.20ollama.json | 56 + .../Compared.20to.20other.20tools.json | 8 + .../Darwin.20support.20for.20grafana.json | 8 + zulip_json/414011-services-flake/Docs.json | 8 + ...open-browser.60.20as.20a.20service.3F.json | 14 + zulip_json/414011-services-flake/GSoC.json | 14 + ...to.20see.20when.20I.20try.20to.20quit.json | 8 + .../Java.20process.20leak.json | 20 + ...toprism.20based.20on.20services-flake.json | 86 + ....20opinion.20on.20.60example.2Fllm.60.json | 242 + .../414011-services-flake/Weaviate.json | 164 + .../cargo-doc-live.20initial.20PR.json | 266 + .../custom.20local.20service.json | 20 + ...rvice.20has.20incorrect.20permissions.json | 182 + .../stream.20events.json | 8 + .../Alternative.20to.20F.3Cn.3E.20keys.json | 56 + .../Branding.json | 20 + ...to.20see.20when.20I.20try.20to.20quit.json | 44 + ...20to.20select.20text.20in.20the.20tui.json | 26 + .../414022-process-compose-flake/devenv.json | 8 + .../process-compose.201.2E0.20released.json | 8 + ...compose.20log.20in.20GitHub.20runners.json | 32 + ...ose.20on.20FreeBSD-based.20systems.3F.json | 38 + .../stream.20events.json | 8 + .../Discourse.20Announcements.json | 1370 ++++ .../415266-social-media/Hacker.20News.json | 182 + .../415266-social-media/Lobste.2Ers.json | 986 +++ .../415266-social-media/StackOverflow.json | 50 + zulip_json/415266-social-media/r.2Fnixos.json | 4418 +++++++++++ .../415266-social-media/stream.20events.json | 14 + .../Building.20Tauri.20apps.json | 8 + ...le.20to.20gather.20nix.20info.20issue.json | 14 + .../415454-nix-browser/stream.20events.json | 8 + zulip_json/415454-omnix/0.2E1.2E0.json | 8 + .../415454-omnix/Building.20Tauri.20apps.json | 8 + zulip_json/415454-omnix/Flake.20schemas.json | 8 + .../Grand.20plan.20for.20omnix.json | 182 + zulip_json/415454-omnix/Static.20binary.json | 26 + .../cargo-doc-live.20broken.3F.json | 14 + zulip_json/415454-omnix/channel.20events.json | 14 + zulip_json/415454-omnix/om.20ci.json | 8 + zulip_json/415454-omnix/om.20health.json | 8 + zulip_json/415454-omnix/om.20init.json | 8 + zulip_json/415454-omnix/om.20show.json | 20 + zulip_json/415454-omnix/stream.20events.json | 8 + ...not.20get.20working.20in.20my.20setup.json | 44 + .../stream.20events.json | 8 + ...22og.3Aimage.22.3E.20for.20wiki-links.json | 14 + ....20Copy.20button.20to.20code.20blocks.json | 26 + ...b-section.20of.20an.20internal.20page.json | 14 + zulip_json/416826-website/SEO.json | 8 + zulip_json/416826-website/Updates.json | 38 + .../obsidian.20graph.20in.20emanote.json | 134 + .../416826-website/stream.20events.json | 8 + ...ommunity.20docs.20site.20in.20Emanote.json | 14 + .../Having.20multiple.20.60pkgs.60.json | 14 + .../Make.20me.20a.20beliver.json | 80 + ...riding.20.60lib.60.20in.20flake-parts.json | 44 + .../419910-flake-parts/stream.20events.json | 8 + ...web.20editing.20of.20Markdown.20files.json | 32 + .../420166-offtopic/Github.20Pages.json | 8 + ...resting.20take.20on.20memory.20safety.json | 8 + .../420166-offtopic/Publishing.20videos.json | 14 + .../420166-offtopic/channel.20events.json | 8 + .../just.20recipe.20grouping.json | 50 + .../420166-offtopic/llama3.20release.json | 26 + zulip_json/420166-offtopic/memes.json | 14 + .../420166-offtopic/stream.20events.json | 8 + ...Introduction.20To.20Horizon.20Haskell.json | 20 + .../stream.20events.json | 8 + ...C.94.20Issues.20with.20ollama.20flake.json | 8 + zulip_json/426237-nixify-llm/Aider.20vs.json | 20 + .../Anyone.20aware.20of.20Pinokio.3F.json | 32 + .../Editor.20integration.20.28LSP.3F.29.json | 278 + .../426237-nixify-llm/Eluther.20AI.json | 14 + .../Issues.20with.20ollama.20flake.json | 92 + .../LoRA.20model.20refinememt.json | 14 + ...local.20OpenAI.20compatible.20backend.json | 14 + ...s.20all.20LLMV.20OpenAPI.20compatible.json | 134 + zulip_json/426237-nixify-llm/khoj.json | 14 + .../llm.20example.20.2B.20neovim.json | 8 + .../426237-nixify-llm/nixified.2Eai.json | 20 + .../ollama.20image.20analysis.3F.json | 56 + zulip_json/426237-nixify-llm/ollama.json | 1712 +++++ zulip_json/426237-nixify-llm/private-gpt.json | 32 + .../sc.20-.20or.20how.20to.20AI.20editor.json | 152 + .../426237-nixify-llm/stream.20events.json | 14 + .../.E2.9C.94.20channel.20events.json | 8 + .../442953-cull-os/Bind.20expressions.json | 38 + ...ent.20addressed.20dynamic.20libraries.json | 86 + ...ands.20to.20Derivations.20Efficiently.json | 26 + .../442953-cull-os/Current.20status.json | 254 + .../Derivation.20storing.20service.json | 248 + .../442953-cull-os/Discuss.20cull-os.json | 32 + .../Fixing.20what.20Nix.20did.20wrong.json | 104 + zulip_json/442953-cull-os/Flowcharts.json | 20 + .../Language.20design.20philosophy.json | 38 + zulip_json/442953-cull-os/Match.20syntax.json | 56 + .../Novel.20LSP.20features.json | 20 + .../442953-cull-os/Realizer.20Protocol.json | 20 + .../Recursive.20Realization.json | 8 + ...20do.20in.20the.20realizer.20protocol.json | 38 + .../Typed.20Lambda.20Arguments.json | 20 + ...ilder.20to.20do.20the.20buil.2E.2E.2E.json | 50 + ...oes.20.22Cab.22.20mean.2C.20anyway.3F.json | 14 + ....20the.20Computability.20Hierarchy.3F.json | 68 + zulip_json/442953-cull-os/Why.20no.20IFD.json | 14 + .../442953-cull-os/channel.20events.json | 8 + .../446608-rust-flake/Trunk.20.2B.20Wasm.json | 86 + .../446608-rust-flake/channel.20events.json | 14 + zulip_json/stream_index.json | 1151 +++ 551 files changed, 54369 insertions(+) create mode 100644 .github/workflows/main.yaml create mode 100644 .nojekyll create mode 100644 CNAME create mode 100644 LICENSE create mode 100644 README.md create mode 100644 assets/img/zulip.svg create mode 100644 index.html create mode 100644 sitemap-001-pages.xml.gz create mode 100644 sitemap.xml create mode 100644 stream/413948-nixos/index.html create mode 100644 stream/413948-nixos/topic/.E2.9C.94.20Automate.20NixOS.20install.20on.20bare.20metal.20-.20howto.3F.html create mode 100644 stream/413948-nixos/topic/.E2.9C.94.20VM.20-.20QEMU.html create mode 100644 stream/413948-nixos/topic/.E2.9C.94.20Weird.20behavior.20in.20socat.html create mode 100644 stream/413948-nixos/topic/.E2.9C.94.20systemd.20host.20resolve.20.28matrix.2Ftwisted.29.html create mode 100644 stream/413948-nixos/topic/Automate.20NixOS.20install.20on.20bare.20metal.20-.20howto.3F.html create mode 100644 stream/413948-nixos/topic/Bitwarden.20for.20SSH.20authentication.20and.20git.20commit.20signing.html create mode 100644 stream/413948-nixos/topic/Darwin.27s.20linux-builder.html create mode 100644 stream/413948-nixos/topic/Deploying.20to.20DigitalOcean.html create mode 100644 stream/413948-nixos/topic/Home.20CI.20machine.20.28portable.29.html create mode 100644 stream/413948-nixos/topic/How.20to.20apply.20gsettings.20schema.20on.20NixOS.3F.html create mode 100644 stream/413948-nixos/topic/How.20to.20use.20an.20older.20version.20of.20a.20tool.20in.20NixOS.3F.html create mode 100644 stream/413948-nixos/topic/ISO.20download.20speed.html create mode 100644 stream/413948-nixos/topic/Installing.20a.20flake.20directly.html create mode 100644 stream/413948-nixos/topic/Is.20there.20a.20way.20to.20test.20how.20reproducible.20my.20system.20is.3F.html create mode 100644 stream/413948-nixos/topic/Multi-config.20repos.20and.20sharing.20of.20nixpkgs.html create mode 100644 stream/413948-nixos/topic/NixBSD.2C.20it.27s.20NixOS.20on.20FreeBSD.html create mode 100644 stream/413948-nixos/topic/NixOS.20.20nat.20race.20condition.3F.html create mode 100644 stream/413948-nixos/topic/NixOS.20Anywhere.html create mode 100644 stream/413948-nixos/topic/NixOS.20Cloud-init.20images.html create mode 100644 stream/413948-nixos/topic/NixOS.20for.20small.20datacenter.html create mode 100644 stream/413948-nixos/topic/NixOS.20oneclick.20install.20tutorial.html create mode 100644 stream/413948-nixos/topic/NixOS.20tutorial.20series.html create mode 100644 stream/413948-nixos/topic/QEMU.20internal.20SIGSEGV.html create mode 100644 stream/413948-nixos/topic/Self-hosted.20GitHub.20runners.html create mode 100644 stream/413948-nixos/topic/Self-hosting.20HedgeDoc.20with.20GitHub.20auth.html create mode 100644 stream/413948-nixos/topic/Self-hosting.20email.html create mode 100644 stream/413948-nixos/topic/Setting.20up.20personal.20caches.20using.20.60attic.60.html create mode 100644 stream/413948-nixos/topic/Specifying.20UUID.20in.20diskio.html create mode 100644 stream/413948-nixos/topic/Unified.20activation.html create mode 100644 stream/413948-nixos/topic/Usr.20files.20persist.20after.20being.20removed.20from.20the.20configuration.html create mode 100644 stream/413948-nixos/topic/When.20you.20forget.20to.20garbage.20collect.20home.20manager.20regularly.2E.2E.2E.html create mode 100644 stream/413948-nixos/topic/Zulip.20Nix.20packaging.html create mode 100644 stream/413948-nixos/topic/disko-install.html create mode 100644 stream/413948-nixos/topic/nixos-unified.html create mode 100644 stream/413948-nixos/topic/sdn.20router.20using.20NixOS.20microvm.html create mode 100644 stream/413948-nixos/topic/secrets.2Fpassword.20management.html create mode 100644 stream/413948-nixos/topic/services.2Eself-deploy.html create mode 100644 stream/413948-nixos/topic/stream.20events.html create mode 100644 stream/413949-haskell-flake/index.html create mode 100644 stream/413949-haskell-flake/topic/.60custom.60.20setting.20stopped.20working.html create mode 100644 stream/413949-haskell-flake/topic/.60globalSettings.60.20is.20for.20which.20package.3F.html create mode 100644 stream/413949-haskell-flake/topic/.E2.9C.94.20.60custom.60.20setting.20stopped.20working.html create mode 100644 stream/413949-haskell-flake/topic/.E2.9C.94.200.2E5.2E0.20plan.html create mode 100644 stream/413949-haskell-flake/topic/0.2E5.2E0.20plan.html create mode 100644 stream/413949-haskell-flake/topic/Can.E2.80.99t.20assign.20custom.20library.20packages.20in.20settings.html create mode 100644 stream/413949-haskell-flake/topic/Compilation.20fails.20when.20embedding.20files.20using.20TH.html create mode 100644 stream/413949-haskell-flake/topic/Documentation.20updates.html create mode 100644 stream/413949-haskell-flake/topic/Failed.20to.20parse.20.60cabal.2Eproject.60.html create mode 100644 stream/413949-haskell-flake/topic/Missing.20gettext.html create mode 100644 stream/413949-haskell-flake/topic/Non-standard.20package.20set.html create mode 100644 stream/413949-haskell-flake/topic/OOM.20during.20compilation.3F.html create mode 100644 stream/413949-haskell-flake/topic/Removing.20IFD.html create mode 100644 stream/413949-haskell-flake/topic/Using.20horizon.20package.20set.20with.20haskell-flake.html create mode 100644 stream/413949-haskell-flake/topic/cabal-install.20ignoring.20user.27s.20package.20set.html create mode 100644 stream/413949-haskell-flake/topic/haskell-language-server.20dropped.20support.20for.20ghc.208.2E10.html create mode 100644 stream/413949-haskell-flake/topic/stream.20events.html create mode 100644 stream/413949-haskell-flake/topic/what.20is.20.60toDefinedProject.60.3F.html create mode 100644 stream/413950-nix/index.html create mode 100644 stream/413950-nix/topic/.60CHANGELOG.60.20auto.20update.20on.20Github.html create mode 100644 stream/413950-nix/topic/.60flake.2Elock.60.20auto-merge.20on.20GitHub.html create mode 100644 stream/413950-nix/topic/.E2.9C.94.20Accessing.20list.20items.20in.20Nix.html create mode 100644 stream/413950-nix/topic/.E2.9C.94.20automatic.20gc.20in.20home-manager.html create mode 100644 stream/413950-nix/topic/.E2.9C.94.20nix.20flake.20--init.20with.20template.20in.20private.20repo.3F.html create mode 100644 stream/413950-nix/topic/1Password.20TouchID.20auth.20for.20git.2C.20ssh.2C.20etc.2E.html create mode 100644 stream/413950-nix/topic/2.20level.20deep.20packages.20in.20nix.20flakes.html create mode 100644 stream/413950-nix/topic/ANN.3A.20nixci.html create mode 100644 stream/413950-nix/topic/Accessing.20list.20items.20in.20Nix.html create mode 100644 stream/413950-nix/topic/Add.20a.20flake.20input.20that.20doesn.E2.80.99t.20depend.20on.20external.20git.html create mode 100644 stream/413950-nix/topic/Becoming.20a.20package.20maintainer.html create mode 100644 stream/413950-nix/topic/Cache.20config.20in.20.60nix.20run.60.20of.20flake.html create mode 100644 stream/413950-nix/topic/Check.20whether.20generated.20code.20is.20in.20sync.html create mode 100644 stream/413950-nix/topic/Conditional.20internal.20option.html create mode 100644 stream/413950-nix/topic/Darwin.3A.20launchctl.20logs.20for.20a.20service.html create mode 100644 stream/413950-nix/topic/Dependency.20graph.html create mode 100644 stream/413950-nix/topic/Dependency.20patches.20without.20massive.20rebuilds.html create mode 100644 stream/413950-nix/topic/Dynamic.20NixOS.20configuration.2C.20using.20flakes.html create mode 100644 stream/413950-nix/topic/Ekala.20project.20announcement.html create mode 100644 stream/413950-nix/topic/Emacs.20with.20Xwidgets.20.28Darwin.29.html create mode 100644 stream/413950-nix/topic/Expressions.20in.20flake.20inputs.html create mode 100644 stream/413950-nix/topic/Failed.20to.20evalModules.html create mode 100644 stream/413950-nix/topic/Filesystem.20As.20Memory.html create mode 100644 stream/413950-nix/topic/Flake.20template.20vars.html create mode 100644 stream/413950-nix/topic/Git.20manyFiles.20issue.html create mode 100644 stream/413950-nix/topic/Haskell.20.2B.20Rust.20FFI.html create mode 100644 stream/413950-nix/topic/How.20to.20add.20Haskell.20packages.20from.20flake.20into.20callCabal2nix.3F.html create mode 100644 stream/413950-nix/topic/How.20to.20call.20commands.20from.20old.20cli.20in.20nix_rs.html create mode 100644 stream/413950-nix/topic/How.20to.20override.20Python.20packages.3F.html create mode 100644 stream/413950-nix/topic/IFD.html create mode 100644 stream/413950-nix/topic/Jobs.html create mode 100644 stream/413950-nix/topic/LWN.20Article.html create mode 100644 stream/413950-nix/topic/Man.20pages.20with.20home-manager.html create mode 100644 stream/413950-nix/topic/Mapping.20through.20list.20of.20attrSets.20to.20make.20a.20complex.20string.html create mode 100644 stream/413950-nix/topic/Module.20system.20tutorial.html create mode 100644 stream/413950-nix/topic/Nix.20development.20environments.html create mode 100644 stream/413950-nix/topic/Nix.20events.20in.20India.html create mode 100644 stream/413950-nix/topic/Nix.20iceberg.html create mode 100644 stream/413950-nix/topic/Nix.20performance.html create mode 100644 stream/413950-nix/topic/Nix.20tutorial.20series.html create mode 100644 stream/413950-nix/topic/Nix.20using.20incorrect.20GHC.html create mode 100644 stream/413950-nix/topic/Nix.27s.20Achilles.20heel.3F.html create mode 100644 stream/413950-nix/topic/NixCon.20NA.202024.html create mode 100644 stream/413950-nix/topic/Nixifying.20the.20vlang.20dev.20environment.html create mode 100644 stream/413950-nix/topic/Non-Rust.20dependencies.20in.20Rust.20flake.20template.html create mode 100644 stream/413950-nix/topic/Overriding.20flake.20inputs.20from.20CLI.html create mode 100644 stream/413950-nix/topic/Passing.20arguments.20to.20flake.html create mode 100644 stream/413950-nix/topic/Portable.20binaries.html create mode 100644 stream/413950-nix/topic/Recursively.20search.20through.20flake.20inputs.html create mode 100644 stream/413950-nix/topic/Running.20python.20process.20using.20process-compose.html create mode 100644 stream/413950-nix/topic/Rust.20cross-compilation.html create mode 100644 stream/413950-nix/topic/Separating.20evaluation.20and.20realization.html create mode 100644 stream/413950-nix/topic/The.20Nix.20Abstractions.html create mode 100644 stream/413950-nix/topic/The.20future.20of.20.60nixci.60.html create mode 100644 stream/413950-nix/topic/Update.20multiple.20.60flake.2Elock.60.20using.20Github.20Actions.E2.80.99.20matrix.html create mode 100644 stream/413950-nix/topic/auth.20credentials.20for.20manual.20calls.20to.20git.20in.20derivations.html create mode 100644 stream/413950-nix/topic/define.20order.20of.20formatters.20in.20treefmt-nix.html create mode 100644 stream/413950-nix/topic/flake.html create mode 100644 stream/413950-nix/topic/helix.html create mode 100644 stream/413950-nix/topic/home-manager.20without.20admin.20access.html create mode 100644 stream/413950-nix/topic/jupyter.20env.20setup.html create mode 100644 stream/413950-nix/topic/just-flake.20.28justfile.20sharing.29.html create mode 100644 stream/413950-nix/topic/macOS.20Sequoia.html create mode 100644 stream/413950-nix/topic/nested.20nix.20shell.html create mode 100644 stream/413950-nix/topic/nix-index.html create mode 100644 stream/413950-nix/topic/nix.20-.20direnv.20and.20starship.html create mode 100644 stream/413950-nix/topic/nix.20flake.20--init.20with.20template.20in.20private.20repo.3F.html create mode 100644 stream/413950-nix/topic/nix.html create mode 100644 stream/413950-nix/topic/nixfmt.html create mode 100644 stream/413950-nix/topic/nixvim.20-.20Manage.20neovim.20config.20in.20Nix.html create mode 100644 stream/413950-nix/topic/nosys.20.60pkgs.60.20handling.html create mode 100644 stream/413950-nix/topic/per-host.20home-manager.20implementation.2E.html create mode 100644 stream/413950-nix/topic/pre-commit-hooks.20to.20format.20the.20code.html create mode 100644 stream/413950-nix/topic/rust-flake.20.28Nixify.20Rust.20projects.29.html create mode 100644 stream/413950-nix/topic/stream.20events.html create mode 100644 stream/413951-general/index.html create mode 100644 stream/413951-general/topic/0th.html create mode 100644 stream/413951-general/topic/ANN.3A.20NixOS.20Asia.20website.html create mode 100644 stream/413951-general/topic/Current.20FOSS.20Scenario.20in.20India.html create mode 100644 stream/413951-general/topic/FOSSMeet.2724.2C.20Kerala.20.28March.2022-24.29.html create mode 100644 stream/413951-general/topic/FP.20India.html create mode 100644 stream/413951-general/topic/Full.20Time.20Nix.20podcast.20looking.20for.20text.20author.html create mode 100644 stream/413951-general/topic/Introduction.html create mode 100644 stream/413951-general/topic/Letting.20Google.20index.20this.20Zulip.html create mode 100644 stream/413951-general/topic/OSS.20contribution.20ideas.html create mode 100644 stream/413951-general/topic/Social.20media.20stream.html create mode 100644 stream/413951-general/topic/Syntax.20highlighting.html create mode 100644 stream/413951-general/topic/Telegram.html create mode 100644 stream/413951-general/topic/stream.20events.html create mode 100644 stream/414011-services-flake/index.html create mode 100644 stream/414011-services-flake/topic/.E2.9C.94.200.2E2.2E0.20release.html create mode 100644 stream/414011-services-flake/topic/.E2.9C.94.20Does.20it.20make.20sense.20to.20add.20.60open-browser.60.20as.20a.20service.3F.html create mode 100644 stream/414011-services-flake/topic/.E2.9C.94.20Require.20opinion.20on.20.60example.2Fllm.60.html create mode 100644 stream/414011-services-flake/topic/.E2.9C.94.20Using.20psql.20command.20instead.20of.20postgres.20in.20initialScript.html create mode 100644 stream/414011-services-flake/topic/.E2.9C.94.20Weaviate.html create mode 100644 stream/414011-services-flake/topic/.E2.9C.94.20custom.20local.20service.html create mode 100644 stream/414011-services-flake/topic/0.2E2.2E0.20release.html create mode 100644 stream/414011-services-flake/topic/CUDA.20acceleration.20in.20ollama.html create mode 100644 stream/414011-services-flake/topic/Compared.20to.20other.20tools.html create mode 100644 stream/414011-services-flake/topic/Darwin.20support.20for.20grafana.html create mode 100644 stream/414011-services-flake/topic/Docs.html create mode 100644 stream/414011-services-flake/topic/Does.20it.20make.20sense.20to.20add.20.60open-browser.60.20as.20a.20service.3F.html create mode 100644 stream/414011-services-flake/topic/GSoC.html create mode 100644 stream/414011-services-flake/topic/Hard.20to.20see.20when.20I.20try.20to.20quit.html create mode 100644 stream/414011-services-flake/topic/Java.20process.20leak.html create mode 100644 stream/414011-services-flake/topic/Plan.20on.20integrating.20photoprism.20based.20on.20services-flake.html create mode 100644 stream/414011-services-flake/topic/Require.20opinion.20on.20.60example.2Fllm.60.html create mode 100644 stream/414011-services-flake/topic/Weaviate.html create mode 100644 stream/414011-services-flake/topic/cargo-doc-live.20initial.20PR.html create mode 100644 stream/414011-services-flake/topic/custom.20local.20service.html create mode 100644 stream/414011-services-flake/topic/dataDir.20for.20postgres.20service.20has.20incorrect.20permissions.html create mode 100644 stream/414011-services-flake/topic/stream.20events.html create mode 100644 stream/414022-process-compose-flake/index.html create mode 100644 stream/414022-process-compose-flake/topic/Alternative.20to.20F.3Cn.3E.20keys.html create mode 100644 stream/414022-process-compose-flake/topic/Branding.html create mode 100644 stream/414022-process-compose-flake/topic/Hard.20to.20see.20when.20I.20try.20to.20quit.html create mode 100644 stream/414022-process-compose-flake/topic/Unable.20to.20select.20text.20in.20the.20tui.html create mode 100644 stream/414022-process-compose-flake/topic/devenv.html create mode 100644 stream/414022-process-compose-flake/topic/process-compose.201.2E0.20released.html create mode 100644 stream/414022-process-compose-flake/topic/process-compose.20log.20in.20GitHub.20runners.html create mode 100644 stream/414022-process-compose-flake/topic/process-compose.20on.20FreeBSD-based.20systems.3F.html create mode 100644 stream/414022-process-compose-flake/topic/stream.20events.html create mode 100644 stream/415266-social-media/index.html create mode 100644 stream/415266-social-media/topic/Discourse.20Announcements.html create mode 100644 stream/415266-social-media/topic/Hacker.20News.html create mode 100644 stream/415266-social-media/topic/Lobste.2Ers.html create mode 100644 stream/415266-social-media/topic/StackOverflow.html create mode 100644 stream/415266-social-media/topic/r.2Fnixos.html create mode 100644 stream/415266-social-media/topic/stream.20events.html create mode 100644 stream/415454-nix-browser/index.html create mode 100644 stream/415454-nix-browser/topic/Building.20Tauri.20apps.html create mode 100644 stream/415454-nix-browser/topic/Unable.20to.20gather.20nix.20info.20issue.html create mode 100644 stream/415454-nix-browser/topic/stream.20events.html create mode 100644 stream/415454-omnix/index.html create mode 100644 stream/415454-omnix/topic/0.2E1.2E0.html create mode 100644 stream/415454-omnix/topic/Building.20Tauri.20apps.html create mode 100644 stream/415454-omnix/topic/Flake.20schemas.html create mode 100644 stream/415454-omnix/topic/Grand.20plan.20for.20omnix.html create mode 100644 stream/415454-omnix/topic/Static.20binary.html create mode 100644 stream/415454-omnix/topic/cargo-doc-live.20broken.3F.html create mode 100644 stream/415454-omnix/topic/channel.20events.html create mode 100644 stream/415454-omnix/topic/om.20ci.html create mode 100644 stream/415454-omnix/topic/om.20health.html create mode 100644 stream/415454-omnix/topic/om.20init.html create mode 100644 stream/415454-omnix/topic/om.20show.html create mode 100644 stream/415454-omnix/topic/stream.20events.html create mode 100644 stream/416818-jenkins-nix-ci/index.html create mode 100644 stream/416818-jenkins-nix-ci/topic/cannot.20get.20working.20in.20my.20setup.html create mode 100644 stream/416818-jenkins-nix-ci/topic/stream.20events.html create mode 100644 stream/416826-website/index.html create mode 100644 stream/416826-website/topic/.3Cmeta.20property.3D.22og.3Aimage.22.3E.20for.20wiki-links.html create mode 100644 stream/416826-website/topic/.5BEmanote.5D.20Copy.20button.20to.20code.20blocks.html create mode 100644 stream/416826-website/topic/Link.20to.20a.20sub-section.20of.20an.20internal.20page.html create mode 100644 stream/416826-website/topic/SEO.html create mode 100644 stream/416826-website/topic/Updates.html create mode 100644 stream/416826-website/topic/obsidian.20graph.20in.20emanote.html create mode 100644 stream/416826-website/topic/stream.20events.html create mode 100644 stream/419910-flake-parts/index.html create mode 100644 stream/419910-flake-parts/topic/Community.20docs.20site.20in.20Emanote.html create mode 100644 stream/419910-flake-parts/topic/Having.20multiple.20.60pkgs.60.html create mode 100644 stream/419910-flake-parts/topic/Make.20me.20a.20beliver.html create mode 100644 stream/419910-flake-parts/topic/Overriding.20.60lib.60.20in.20flake-parts.html create mode 100644 stream/419910-flake-parts/topic/stream.20events.html create mode 100644 stream/420166-offtopic/index.html create mode 100644 stream/420166-offtopic/topic/Collaborative.20web.20editing.20of.20Markdown.20files.html create mode 100644 stream/420166-offtopic/topic/Github.20Pages.html create mode 100644 stream/420166-offtopic/topic/Interesting.20take.20on.20memory.20safety.html create mode 100644 stream/420166-offtopic/topic/Publishing.20videos.html create mode 100644 stream/420166-offtopic/topic/channel.20events.html create mode 100644 stream/420166-offtopic/topic/just.20recipe.20grouping.html create mode 100644 stream/420166-offtopic/topic/llama3.20release.html create mode 100644 stream/420166-offtopic/topic/memes.html create mode 100644 stream/420166-offtopic/topic/stream.20events.html create mode 100644 stream/424491-horizon-haskell/index.html create mode 100644 stream/424491-horizon-haskell/topic/Introduction.20To.20Horizon.20Haskell.html create mode 100644 stream/424491-horizon-haskell/topic/stream.20events.html create mode 100644 stream/426237-nixify-llm/index.html create mode 100644 stream/426237-nixify-llm/topic/.E2.9C.94.20Issues.20with.20ollama.20flake.html create mode 100644 stream/426237-nixify-llm/topic/Aider.20vs.html create mode 100644 stream/426237-nixify-llm/topic/Anyone.20aware.20of.20Pinokio.3F.html create mode 100644 stream/426237-nixify-llm/topic/Editor.20integration.20.28LSP.3F.29.html create mode 100644 stream/426237-nixify-llm/topic/Eluther.20AI.html create mode 100644 stream/426237-nixify-llm/topic/Issues.20with.20ollama.20flake.html create mode 100644 stream/426237-nixify-llm/topic/LoRA.20model.20refinememt.html create mode 100644 stream/426237-nixify-llm/topic/Mattermost.20plugin.20with.20local.20OpenAI.20compatible.20backend.html create mode 100644 stream/426237-nixify-llm/topic/Name.20of.20tool.20who.20makes.20all.20LLMV.20OpenAPI.20compatible.html create mode 100644 stream/426237-nixify-llm/topic/khoj.html create mode 100644 stream/426237-nixify-llm/topic/llm.20example.20.2B.20neovim.html create mode 100644 stream/426237-nixify-llm/topic/nixified.2Eai.html create mode 100644 stream/426237-nixify-llm/topic/ollama.20image.20analysis.3F.html create mode 100644 stream/426237-nixify-llm/topic/ollama.html create mode 100644 stream/426237-nixify-llm/topic/private-gpt.html create mode 100644 stream/426237-nixify-llm/topic/sc.20-.20or.20how.20to.20AI.20editor.html create mode 100644 stream/426237-nixify-llm/topic/stream.20events.html create mode 100644 stream/442953-cull-os/index.html create mode 100644 stream/442953-cull-os/topic/.E2.9C.94.20channel.20events.html create mode 100644 stream/442953-cull-os/topic/Bind.20expressions.html create mode 100644 stream/442953-cull-os/topic/Content.20addressed.20dynamic.20libraries.html create mode 100644 stream/442953-cull-os/topic/Convering.20Islands.20to.20Derivations.20Efficiently.html create mode 100644 stream/442953-cull-os/topic/Current.20status.html create mode 100644 stream/442953-cull-os/topic/Derivation.20storing.20service.html create mode 100644 stream/442953-cull-os/topic/Discuss.20cull-os.html create mode 100644 stream/442953-cull-os/topic/Fixing.20what.20Nix.20did.20wrong.html create mode 100644 stream/442953-cull-os/topic/Flowcharts.html create mode 100644 stream/442953-cull-os/topic/Language.20design.20philosophy.html create mode 100644 stream/442953-cull-os/topic/Match.20syntax.html create mode 100644 stream/442953-cull-os/topic/Novel.20LSP.20features.html create mode 100644 stream/442953-cull-os/topic/Realizer.20Protocol.html create mode 100644 stream/442953-cull-os/topic/Recursive.20Realization.html create mode 100644 stream/442953-cull-os/topic/Things.20to.20not.20do.20in.20the.20realizer.20protocol.html create mode 100644 stream/442953-cull-os/topic/Typed.20Lambda.20Arguments.html create mode 100644 stream/442953-cull-os/topic/WASM.20.2B.20WASI.20for.20running.20Cab.20on.20the.20builder.20to.20do.20the.20buil.2E.2E.2E.html create mode 100644 stream/442953-cull-os/topic/What.20does.20.22Cab.22.20mean.2C.20anyway.3F.html create mode 100644 stream/442953-cull-os/topic/Where.20is.20the.20Language.20in.20the.20Computability.20Hierarchy.3F.html create mode 100644 stream/442953-cull-os/topic/Why.20no.20IFD.html create mode 100644 stream/442953-cull-os/topic/channel.20events.html create mode 100644 stream/446608-rust-flake/index.html create mode 100644 stream/446608-rust-flake/topic/Trunk.20.2B.20Wasm.html create mode 100644 stream/446608-rust-flake/topic/channel.20events.html create mode 100644 streams.yaml create mode 100644 style.css create mode 100644 zulip_json/413948-nixos/.E2.9C.94.20Automate.20NixOS.20install.20on.20bare.20metal.20-.20howto.3F.json create mode 100644 zulip_json/413948-nixos/.E2.9C.94.20VM.20-.20QEMU.json create mode 100644 zulip_json/413948-nixos/.E2.9C.94.20Weird.20behavior.20in.20socat.json create mode 100644 zulip_json/413948-nixos/.E2.9C.94.20systemd.20host.20resolve.20.28matrix.2Ftwisted.29.json create mode 100644 zulip_json/413948-nixos/Automate.20NixOS.20install.20on.20bare.20metal.20-.20howto.3F.json create mode 100644 zulip_json/413948-nixos/Bitwarden.20for.20SSH.20authentication.20and.20git.20commit.20signing.json create mode 100644 zulip_json/413948-nixos/Darwin.27s.20linux-builder.json create mode 100644 zulip_json/413948-nixos/Deploying.20to.20DigitalOcean.json create mode 100644 zulip_json/413948-nixos/Home.20CI.20machine.20.28portable.29.json create mode 100644 zulip_json/413948-nixos/How.20to.20apply.20gsettings.20schema.20on.20NixOS.3F.json create mode 100644 zulip_json/413948-nixos/How.20to.20use.20an.20older.20version.20of.20a.20tool.20in.20NixOS.3F.json create mode 100644 zulip_json/413948-nixos/ISO.20download.20speed.json create mode 100644 zulip_json/413948-nixos/Installing.20a.20flake.20directly.json create mode 100644 zulip_json/413948-nixos/Is.20there.20a.20way.20to.20test.20how.20reproducible.20my.20system.20is.3F.json create mode 100644 zulip_json/413948-nixos/Multi-config.20repos.20and.20sharing.20of.20nixpkgs.json create mode 100644 zulip_json/413948-nixos/NixBSD.2C.20it.27s.20NixOS.20on.20FreeBSD.json create mode 100644 zulip_json/413948-nixos/NixOS.20.20nat.20race.20condition.3F.json create mode 100644 zulip_json/413948-nixos/NixOS.20Anywhere.json create mode 100644 zulip_json/413948-nixos/NixOS.20Cloud-init.20images.json create mode 100644 zulip_json/413948-nixos/NixOS.20for.20small.20datacenter.json create mode 100644 zulip_json/413948-nixos/NixOS.20oneclick.20install.20tutorial.json create mode 100644 zulip_json/413948-nixos/NixOS.20tutorial.20series.json create mode 100644 zulip_json/413948-nixos/QEMU.20internal.20SIGSEGV.json create mode 100644 zulip_json/413948-nixos/Self-hosted.20GitHub.20runners.json create mode 100644 zulip_json/413948-nixos/Self-hosting.20HedgeDoc.20with.20GitHub.20auth.json create mode 100644 zulip_json/413948-nixos/Self-hosting.20email.json create mode 100644 zulip_json/413948-nixos/Setting.20up.20personal.20caches.20using.20.60attic.60.json create mode 100644 zulip_json/413948-nixos/Specifying.20UUID.20in.20diskio.json create mode 100644 zulip_json/413948-nixos/Unified.20activation.json create mode 100644 zulip_json/413948-nixos/Usr.20files.20persist.20after.20being.20removed.20from.20the.20configuration.json create mode 100644 zulip_json/413948-nixos/When.20you.20forget.20to.20garbage.20collect.20home.20manager.20regularly.2E.2E.2E.json create mode 100644 zulip_json/413948-nixos/Zulip.20Nix.20packaging.json create mode 100644 zulip_json/413948-nixos/disko-install.json create mode 100644 zulip_json/413948-nixos/nixos-unified.json create mode 100644 zulip_json/413948-nixos/sdn.20router.20using.20NixOS.20microvm.json create mode 100644 zulip_json/413948-nixos/secrets.2Fpassword.20management.json create mode 100644 zulip_json/413948-nixos/services.2Eself-deploy.json create mode 100644 zulip_json/413948-nixos/stream.20events.json create mode 100644 zulip_json/413949-haskell-flake/.60custom.60.20setting.20stopped.20working.json create mode 100644 zulip_json/413949-haskell-flake/.60globalSettings.60.20is.20for.20which.20package.3F.json create mode 100644 zulip_json/413949-haskell-flake/.E2.9C.94.20.60custom.60.20setting.20stopped.20working.json create mode 100644 zulip_json/413949-haskell-flake/.E2.9C.94.200.2E5.2E0.20plan.json create mode 100644 zulip_json/413949-haskell-flake/0.2E5.2E0.20plan.json create mode 100644 zulip_json/413949-haskell-flake/Can.E2.80.99t.20assign.20custom.20library.20packages.20in.20settings.json create mode 100644 zulip_json/413949-haskell-flake/Compilation.20fails.20when.20embedding.20files.20using.20TH.json create mode 100644 zulip_json/413949-haskell-flake/Documentation.20updates.json create mode 100644 zulip_json/413949-haskell-flake/Failed.20to.20parse.20.60cabal.2Eproject.60.json create mode 100644 zulip_json/413949-haskell-flake/Missing.20gettext.json create mode 100644 zulip_json/413949-haskell-flake/Non-standard.20package.20set.json create mode 100644 zulip_json/413949-haskell-flake/OOM.20during.20compilation.3F.json create mode 100644 zulip_json/413949-haskell-flake/Removing.20IFD.json create mode 100644 zulip_json/413949-haskell-flake/Using.20horizon.20package.20set.20with.20haskell-flake.json create mode 100644 zulip_json/413949-haskell-flake/cabal-install.20ignoring.20user.27s.20package.20set.json create mode 100644 zulip_json/413949-haskell-flake/haskell-language-server.20dropped.20support.20for.20ghc.208.2E10.json create mode 100644 zulip_json/413949-haskell-flake/stream.20events.json create mode 100644 zulip_json/413949-haskell-flake/what.20is.20.60toDefinedProject.60.3F.json create mode 100644 zulip_json/413950-nix/.60CHANGELOG.60.20auto.20update.20on.20Github.json create mode 100644 zulip_json/413950-nix/.60flake.2Elock.60.20auto-merge.20on.20GitHub.json create mode 100644 zulip_json/413950-nix/.E2.9C.94.20Accessing.20list.20items.20in.20Nix.json create mode 100644 zulip_json/413950-nix/.E2.9C.94.20automatic.20gc.20in.20home-manager.json create mode 100644 zulip_json/413950-nix/.E2.9C.94.20nix.20flake.20--init.20with.20template.20in.20private.20repo.3F.json create mode 100644 zulip_json/413950-nix/1Password.20TouchID.20auth.20for.20git.2C.20ssh.2C.20etc.2E.json create mode 100644 zulip_json/413950-nix/2.20level.20deep.20packages.20in.20nix.20flakes.json create mode 100644 zulip_json/413950-nix/ANN.3A.20nixci.json create mode 100644 zulip_json/413950-nix/Accessing.20list.20items.20in.20Nix.json create mode 100644 zulip_json/413950-nix/Add.20a.20flake.20input.20that.20doesn.E2.80.99t.20depend.20on.20external.20git.json create mode 100644 zulip_json/413950-nix/Becoming.20a.20package.20maintainer.json create mode 100644 zulip_json/413950-nix/Cache.20config.20in.20.60nix.20run.60.20of.20flake.json create mode 100644 zulip_json/413950-nix/Check.20whether.20generated.20code.20is.20in.20sync.json create mode 100644 zulip_json/413950-nix/Conditional.20internal.20option.json create mode 100644 zulip_json/413950-nix/Darwin.3A.20launchctl.20logs.20for.20a.20service.json create mode 100644 zulip_json/413950-nix/Dependency.20graph.json create mode 100644 zulip_json/413950-nix/Dependency.20patches.20without.20massive.20rebuilds.json create mode 100644 zulip_json/413950-nix/Dynamic.20NixOS.20configuration.2C.20using.20flakes.json create mode 100644 zulip_json/413950-nix/Ekala.20project.20announcement.json create mode 100644 zulip_json/413950-nix/Emacs.20with.20Xwidgets.20.28Darwin.29.json create mode 100644 zulip_json/413950-nix/Expressions.20in.20flake.20inputs.json create mode 100644 zulip_json/413950-nix/Failed.20to.20evalModules.json create mode 100644 zulip_json/413950-nix/Filesystem.20As.20Memory.json create mode 100644 zulip_json/413950-nix/Flake.20template.20vars.json create mode 100644 zulip_json/413950-nix/Git.20manyFiles.20issue.json create mode 100644 zulip_json/413950-nix/Haskell.20.2B.20Rust.20FFI.json create mode 100644 zulip_json/413950-nix/How.20to.20add.20Haskell.20packages.20from.20flake.20into.20callCabal2nix.3F.json create mode 100644 zulip_json/413950-nix/How.20to.20call.20commands.20from.20old.20cli.20in.20nix_rs.json create mode 100644 zulip_json/413950-nix/How.20to.20override.20Python.20packages.3F.json create mode 100644 zulip_json/413950-nix/IFD.json create mode 100644 zulip_json/413950-nix/Jobs.json create mode 100644 zulip_json/413950-nix/LWN.20Article.json create mode 100644 zulip_json/413950-nix/Man.20pages.20with.20home-manager.json create mode 100644 zulip_json/413950-nix/Mapping.20through.20list.20of.20attrSets.20to.20make.20a.20complex.20string.json create mode 100644 zulip_json/413950-nix/Module.20system.20tutorial.json create mode 100644 zulip_json/413950-nix/Nix.20development.20environments.json create mode 100644 zulip_json/413950-nix/Nix.20events.20in.20India.json create mode 100644 zulip_json/413950-nix/Nix.20iceberg.json create mode 100644 zulip_json/413950-nix/Nix.20performance.json create mode 100644 zulip_json/413950-nix/Nix.20tutorial.20series.json create mode 100644 zulip_json/413950-nix/Nix.20using.20incorrect.20GHC.json create mode 100644 zulip_json/413950-nix/Nix.27s.20Achilles.20heel.3F.json create mode 100644 zulip_json/413950-nix/NixCon.20NA.202024.json create mode 100644 zulip_json/413950-nix/Nixifying.20the.20vlang.20dev.20environment.json create mode 100644 zulip_json/413950-nix/Non-Rust.20dependencies.20in.20Rust.20flake.20template.json create mode 100644 zulip_json/413950-nix/Overriding.20flake.20inputs.20from.20CLI.json create mode 100644 zulip_json/413950-nix/Passing.20arguments.20to.20flake.json create mode 100644 zulip_json/413950-nix/Portable.20binaries.json create mode 100644 zulip_json/413950-nix/Recursively.20search.20through.20flake.20inputs.json create mode 100644 zulip_json/413950-nix/Running.20python.20process.20using.20process-compose.json create mode 100644 zulip_json/413950-nix/Rust.20cross-compilation.json create mode 100644 zulip_json/413950-nix/Separating.20evaluation.20and.20realization.json create mode 100644 zulip_json/413950-nix/The.20Nix.20Abstractions.json create mode 100644 zulip_json/413950-nix/The.20future.20of.20.60nixci.60.json create mode 100644 zulip_json/413950-nix/Update.20multiple.20.60flake.2Elock.60.20using.20Github.20Actions.E2.80.99.20matrix.json create mode 100644 zulip_json/413950-nix/auth.20credentials.20for.20manual.20calls.20to.20git.20in.20derivations.json create mode 100644 zulip_json/413950-nix/define.20order.20of.20formatters.20in.20treefmt-nix.json create mode 100644 zulip_json/413950-nix/flake.json create mode 100644 zulip_json/413950-nix/helix.json create mode 100644 zulip_json/413950-nix/home-manager.20without.20admin.20access.json create mode 100644 zulip_json/413950-nix/jupyter.20env.20setup.json create mode 100644 zulip_json/413950-nix/just-flake.20.28justfile.20sharing.29.json create mode 100644 zulip_json/413950-nix/macOS.20Sequoia.json create mode 100644 zulip_json/413950-nix/nested.20nix.20shell.json create mode 100644 zulip_json/413950-nix/nix-index.json create mode 100644 zulip_json/413950-nix/nix.20-.20direnv.20and.20starship.json create mode 100644 zulip_json/413950-nix/nix.20flake.20--init.20with.20template.20in.20private.20repo.3F.json create mode 100644 zulip_json/413950-nix/nix.json create mode 100644 zulip_json/413950-nix/nixfmt.json create mode 100644 zulip_json/413950-nix/nixvim.20-.20Manage.20neovim.20config.20in.20Nix.json create mode 100644 zulip_json/413950-nix/nosys.20.60pkgs.60.20handling.json create mode 100644 zulip_json/413950-nix/per-host.20home-manager.20implementation.2E.json create mode 100644 zulip_json/413950-nix/pre-commit-hooks.20to.20format.20the.20code.json create mode 100644 zulip_json/413950-nix/rust-flake.20.28Nixify.20Rust.20projects.29.json create mode 100644 zulip_json/413950-nix/stream.20events.json create mode 100644 zulip_json/413951-general/0th.json create mode 100644 zulip_json/413951-general/ANN.3A.20NixOS.20Asia.20website.json create mode 100644 zulip_json/413951-general/Current.20FOSS.20Scenario.20in.20India.json create mode 100644 zulip_json/413951-general/FOSSMeet.2724.2C.20Kerala.20.28March.2022-24.29.json create mode 100644 zulip_json/413951-general/FP.20India.json create mode 100644 zulip_json/413951-general/Full.20Time.20Nix.20podcast.20looking.20for.20text.20author.json create mode 100644 zulip_json/413951-general/Introduction.json create mode 100644 zulip_json/413951-general/Letting.20Google.20index.20this.20Zulip.json create mode 100644 zulip_json/413951-general/OSS.20contribution.20ideas.json create mode 100644 zulip_json/413951-general/Social.20media.20stream.json create mode 100644 zulip_json/413951-general/Syntax.20highlighting.json create mode 100644 zulip_json/413951-general/Telegram.json create mode 100644 zulip_json/413951-general/stream.20events.json create mode 100644 zulip_json/414011-services-flake/.E2.9C.94.200.2E2.2E0.20release.json create mode 100644 zulip_json/414011-services-flake/.E2.9C.94.20Does.20it.20make.20sense.20to.20add.20.60open-browser.60.20as.20a.20service.3F.json create mode 100644 zulip_json/414011-services-flake/.E2.9C.94.20Require.20opinion.20on.20.60example.2Fllm.60.json create mode 100644 zulip_json/414011-services-flake/.E2.9C.94.20Using.20psql.20command.20instead.20of.20postgres.20in.20initialScript.json create mode 100644 zulip_json/414011-services-flake/.E2.9C.94.20Weaviate.json create mode 100644 zulip_json/414011-services-flake/.E2.9C.94.20custom.20local.20service.json create mode 100644 zulip_json/414011-services-flake/0.2E2.2E0.20release.json create mode 100644 zulip_json/414011-services-flake/CUDA.20acceleration.20in.20ollama.json create mode 100644 zulip_json/414011-services-flake/Compared.20to.20other.20tools.json create mode 100644 zulip_json/414011-services-flake/Darwin.20support.20for.20grafana.json create mode 100644 zulip_json/414011-services-flake/Docs.json create mode 100644 zulip_json/414011-services-flake/Does.20it.20make.20sense.20to.20add.20.60open-browser.60.20as.20a.20service.3F.json create mode 100644 zulip_json/414011-services-flake/GSoC.json create mode 100644 zulip_json/414011-services-flake/Hard.20to.20see.20when.20I.20try.20to.20quit.json create mode 100644 zulip_json/414011-services-flake/Java.20process.20leak.json create mode 100644 zulip_json/414011-services-flake/Plan.20on.20integrating.20photoprism.20based.20on.20services-flake.json create mode 100644 zulip_json/414011-services-flake/Require.20opinion.20on.20.60example.2Fllm.60.json create mode 100644 zulip_json/414011-services-flake/Weaviate.json create mode 100644 zulip_json/414011-services-flake/cargo-doc-live.20initial.20PR.json create mode 100644 zulip_json/414011-services-flake/custom.20local.20service.json create mode 100644 zulip_json/414011-services-flake/dataDir.20for.20postgres.20service.20has.20incorrect.20permissions.json create mode 100644 zulip_json/414011-services-flake/stream.20events.json create mode 100644 zulip_json/414022-process-compose-flake/Alternative.20to.20F.3Cn.3E.20keys.json create mode 100644 zulip_json/414022-process-compose-flake/Branding.json create mode 100644 zulip_json/414022-process-compose-flake/Hard.20to.20see.20when.20I.20try.20to.20quit.json create mode 100644 zulip_json/414022-process-compose-flake/Unable.20to.20select.20text.20in.20the.20tui.json create mode 100644 zulip_json/414022-process-compose-flake/devenv.json create mode 100644 zulip_json/414022-process-compose-flake/process-compose.201.2E0.20released.json create mode 100644 zulip_json/414022-process-compose-flake/process-compose.20log.20in.20GitHub.20runners.json create mode 100644 zulip_json/414022-process-compose-flake/process-compose.20on.20FreeBSD-based.20systems.3F.json create mode 100644 zulip_json/414022-process-compose-flake/stream.20events.json create mode 100644 zulip_json/415266-social-media/Discourse.20Announcements.json create mode 100644 zulip_json/415266-social-media/Hacker.20News.json create mode 100644 zulip_json/415266-social-media/Lobste.2Ers.json create mode 100644 zulip_json/415266-social-media/StackOverflow.json create mode 100644 zulip_json/415266-social-media/r.2Fnixos.json create mode 100644 zulip_json/415266-social-media/stream.20events.json create mode 100644 zulip_json/415454-nix-browser/Building.20Tauri.20apps.json create mode 100644 zulip_json/415454-nix-browser/Unable.20to.20gather.20nix.20info.20issue.json create mode 100644 zulip_json/415454-nix-browser/stream.20events.json create mode 100644 zulip_json/415454-omnix/0.2E1.2E0.json create mode 100644 zulip_json/415454-omnix/Building.20Tauri.20apps.json create mode 100644 zulip_json/415454-omnix/Flake.20schemas.json create mode 100644 zulip_json/415454-omnix/Grand.20plan.20for.20omnix.json create mode 100644 zulip_json/415454-omnix/Static.20binary.json create mode 100644 zulip_json/415454-omnix/cargo-doc-live.20broken.3F.json create mode 100644 zulip_json/415454-omnix/channel.20events.json create mode 100644 zulip_json/415454-omnix/om.20ci.json create mode 100644 zulip_json/415454-omnix/om.20health.json create mode 100644 zulip_json/415454-omnix/om.20init.json create mode 100644 zulip_json/415454-omnix/om.20show.json create mode 100644 zulip_json/415454-omnix/stream.20events.json create mode 100644 zulip_json/416818-jenkins-nix-ci/cannot.20get.20working.20in.20my.20setup.json create mode 100644 zulip_json/416818-jenkins-nix-ci/stream.20events.json create mode 100644 zulip_json/416826-website/.3Cmeta.20property.3D.22og.3Aimage.22.3E.20for.20wiki-links.json create mode 100644 zulip_json/416826-website/.5BEmanote.5D.20Copy.20button.20to.20code.20blocks.json create mode 100644 zulip_json/416826-website/Link.20to.20a.20sub-section.20of.20an.20internal.20page.json create mode 100644 zulip_json/416826-website/SEO.json create mode 100644 zulip_json/416826-website/Updates.json create mode 100644 zulip_json/416826-website/obsidian.20graph.20in.20emanote.json create mode 100644 zulip_json/416826-website/stream.20events.json create mode 100644 zulip_json/419910-flake-parts/Community.20docs.20site.20in.20Emanote.json create mode 100644 zulip_json/419910-flake-parts/Having.20multiple.20.60pkgs.60.json create mode 100644 zulip_json/419910-flake-parts/Make.20me.20a.20beliver.json create mode 100644 zulip_json/419910-flake-parts/Overriding.20.60lib.60.20in.20flake-parts.json create mode 100644 zulip_json/419910-flake-parts/stream.20events.json create mode 100644 zulip_json/420166-offtopic/Collaborative.20web.20editing.20of.20Markdown.20files.json create mode 100644 zulip_json/420166-offtopic/Github.20Pages.json create mode 100644 zulip_json/420166-offtopic/Interesting.20take.20on.20memory.20safety.json create mode 100644 zulip_json/420166-offtopic/Publishing.20videos.json create mode 100644 zulip_json/420166-offtopic/channel.20events.json create mode 100644 zulip_json/420166-offtopic/just.20recipe.20grouping.json create mode 100644 zulip_json/420166-offtopic/llama3.20release.json create mode 100644 zulip_json/420166-offtopic/memes.json create mode 100644 zulip_json/420166-offtopic/stream.20events.json create mode 100644 zulip_json/424491-horizon-haskell/Introduction.20To.20Horizon.20Haskell.json create mode 100644 zulip_json/424491-horizon-haskell/stream.20events.json create mode 100644 zulip_json/426237-nixify-llm/.E2.9C.94.20Issues.20with.20ollama.20flake.json create mode 100644 zulip_json/426237-nixify-llm/Aider.20vs.json create mode 100644 zulip_json/426237-nixify-llm/Anyone.20aware.20of.20Pinokio.3F.json create mode 100644 zulip_json/426237-nixify-llm/Editor.20integration.20.28LSP.3F.29.json create mode 100644 zulip_json/426237-nixify-llm/Eluther.20AI.json create mode 100644 zulip_json/426237-nixify-llm/Issues.20with.20ollama.20flake.json create mode 100644 zulip_json/426237-nixify-llm/LoRA.20model.20refinememt.json create mode 100644 zulip_json/426237-nixify-llm/Mattermost.20plugin.20with.20local.20OpenAI.20compatible.20backend.json create mode 100644 zulip_json/426237-nixify-llm/Name.20of.20tool.20who.20makes.20all.20LLMV.20OpenAPI.20compatible.json create mode 100644 zulip_json/426237-nixify-llm/khoj.json create mode 100644 zulip_json/426237-nixify-llm/llm.20example.20.2B.20neovim.json create mode 100644 zulip_json/426237-nixify-llm/nixified.2Eai.json create mode 100644 zulip_json/426237-nixify-llm/ollama.20image.20analysis.3F.json create mode 100644 zulip_json/426237-nixify-llm/ollama.json create mode 100644 zulip_json/426237-nixify-llm/private-gpt.json create mode 100644 zulip_json/426237-nixify-llm/sc.20-.20or.20how.20to.20AI.20editor.json create mode 100644 zulip_json/426237-nixify-llm/stream.20events.json create mode 100644 zulip_json/442953-cull-os/.E2.9C.94.20channel.20events.json create mode 100644 zulip_json/442953-cull-os/Bind.20expressions.json create mode 100644 zulip_json/442953-cull-os/Content.20addressed.20dynamic.20libraries.json create mode 100644 zulip_json/442953-cull-os/Convering.20Islands.20to.20Derivations.20Efficiently.json create mode 100644 zulip_json/442953-cull-os/Current.20status.json create mode 100644 zulip_json/442953-cull-os/Derivation.20storing.20service.json create mode 100644 zulip_json/442953-cull-os/Discuss.20cull-os.json create mode 100644 zulip_json/442953-cull-os/Fixing.20what.20Nix.20did.20wrong.json create mode 100644 zulip_json/442953-cull-os/Flowcharts.json create mode 100644 zulip_json/442953-cull-os/Language.20design.20philosophy.json create mode 100644 zulip_json/442953-cull-os/Match.20syntax.json create mode 100644 zulip_json/442953-cull-os/Novel.20LSP.20features.json create mode 100644 zulip_json/442953-cull-os/Realizer.20Protocol.json create mode 100644 zulip_json/442953-cull-os/Recursive.20Realization.json create mode 100644 zulip_json/442953-cull-os/Things.20to.20not.20do.20in.20the.20realizer.20protocol.json create mode 100644 zulip_json/442953-cull-os/Typed.20Lambda.20Arguments.json create mode 100644 zulip_json/442953-cull-os/WASM.20.2B.20WASI.20for.20running.20Cab.20on.20the.20builder.20to.20do.20the.20buil.2E.2E.2E.json create mode 100644 zulip_json/442953-cull-os/What.20does.20.22Cab.22.20mean.2C.20anyway.3F.json create mode 100644 zulip_json/442953-cull-os/Where.20is.20the.20Language.20in.20the.20Computability.20Hierarchy.3F.json create mode 100644 zulip_json/442953-cull-os/Why.20no.20IFD.json create mode 100644 zulip_json/442953-cull-os/channel.20events.json create mode 100644 zulip_json/446608-rust-flake/Trunk.20.2B.20Wasm.json create mode 100644 zulip_json/446608-rust-flake/channel.20events.json create mode 100644 zulip_json/stream_index.json diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml new file mode 100644 index 00000000000..abf84a4747c --- /dev/null +++ b/.github/workflows/main.yaml @@ -0,0 +1,22 @@ +on: + schedule: + - cron: '*/20 * * * *' + # Allow running manually + workflow_dispatch: +jobs: + publish_archive_job: + runs-on: ubuntu-latest + name: A job to publish zulip-archive in GitHub pages + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Run archive + id: archive + uses: zulip/zulip-archive@master + with: + zuliprc: ${{ secrets.ZULIPRC }} + # Using the GitHub Token that is provided automatically by GitHub Actions + # (no setup needed). + github_token: ${{ secrets.GITHUB_TOKEN }} + delete_history: true + archive_branch: master diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000000..e69de29bb2d diff --git a/CNAME b/CNAME new file mode 100644 index 00000000000..ed335afa1d0 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +chat.nixos.asia \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000000..24e73751514 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 NixOS Asia + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 00000000000..e8f9e3b631e --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# NixOS Asia Chat Archive + +Web-public streams from [NixOS Asia Zulip](https://nixos.zulipchat.com/) managed by [zulip-archive](https://github.com/zulip/zulip-archive). diff --git a/assets/img/zulip.svg b/assets/img/zulip.svg new file mode 100644 index 00000000000..5bef7d9a29b --- /dev/null +++ b/assets/img/zulip.svg @@ -0,0 +1,10 @@ + + + + + + + diff --git a/index.html b/index.html new file mode 100644 index 00000000000..039cdc97a21 --- /dev/null +++ b/index.html @@ -0,0 +1,44 @@ + +Zulip Chat Archive +
+ +

Streams:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/sitemap-001-pages.xml.gz b/sitemap-001-pages.xml.gz new file mode 100644 index 0000000000000000000000000000000000000000..71131bd8d4b79b1b5339f0bd90ed5c66ef633eb7 GIT binary patch literal 4303 zcmV;=5HRl_iwFqnxHM-1|8r?{Wo=<_Eif=KEpTCHWpgfgZEOI%U0ZY8I+A|g^DDf0 zr)(>ZkG++XDMhwp&-%8JJ=xlqEeM1}L?FQdKq;DEzugUhx>&BWRRmAXM7AZW8<$33 zzV62P{I_4FI$8>2rLO+?a5^~oa3m_Ob6L&*`0)C2lU;oH+n3)yH%3|Ej^N?S{_&x3 zuKthXKgou2i3o@v+ax_>KR^7p*gbmB(kNXD6qpnH6R!xv<$xv4!Y~s?)XP$G6Pn zgW-wO@M494*Hs}Z_;H8tnsxl_pN(`q4S_e-=@NJV8K!6)^i)smeh9Xd%=JZn{CYKl zIWW$J5{5YtNBC3Xi&l!2tS7!#n%ka8e;2U(24w^Oto(%NWpI8XezCGv@Y#)0CH&pf z5WY?HxF^y%bL>hQn9fY&Ypt!D8)3Huad=WNOS{OmF@igMOqfzy)HZ!B`?F&0O3TWL zIZ9JCN8W{oM~t+1YNpJJJU+KesILRd%v@)==9!X9L8FsS($RhX-q*3xWzCFeb(MC7 zF!YC3eQkh$1el1Ws9axM{?3*R_ta?k1f@&~w&+VqFtZ|6WShFy#U%KgJ zFuWeZKlpiKKrMpA_NE2t;7XiXi6;P$L}f)38(-ky3Jxx6`LxtkwoPqJ12g*I3S2J@U@Zsj^r;o+wbkb>8@{{_sjpQVO8GIb2z=c zJU#JLGl&bFO`x~lkc`@D>0ObsQBD%pfdNFlnA@&+$2%O+P#KwfuE0adsSi;|B)6XL zgZYDZxJnVCp{c+i-}J#MrPRN}Vyw%usiZ@jk|RO}=Uh4w*Ydh#mF@@yemeVfmca)x znoQyH?UOvDujVX3An+i~XNK=eYa7uA^RJCmK_p*TV+c9vmpZ4|+K8E~zzHv154>t4m&}Q5UiU%0 zJF@-`Vas7*GW6MSa|;L_!s#2`1sp`19@x?w68*w!CVQZNt(u@bU>?0~2WX>`&B>5d zOs%c#>fOG>?vatTA}k8=U+Z|e1yII^;*gL0O-aD*b%WNfqeDZC0aX)#+ISwy7aXmY` zJk1JiBJP6n5kjxrWj&T+*y8FV={i~y7x4mIJ-!PB+EA);#g8QH7#o?+2$V&LyN zZw|}Om-`vZ17>AuG;^3U#`3+exzfBrz%m}krq02?>1lm2`zcjqHDglQ4QeLJsmOzC z?(;7&ny>^fxBU!=vnf-VtgQ34732`Mo>(@RQ5*hl-v~i319^n=4TGq1k175I9G{*Z zFqmw@botiSbj0r7W!baJ+9YW|1t6%#(t}>O#P@)~yn&sfG%k6fxzTm)q0s&0bb(&@ z1&rZETlj`z`h4&^EM81gEn2tz2eW0zt@(7C%|#^)Q%PKe zEplOxpHX*2A17eApm8Z!BeoVNin2|a zp2J~=A77?s@AsH%2x{cCi3OjzU^X?Uw0^+b6SoF;7R9EJ^FqNt*ELIXfXPnmmzeg8 zP#7S0(-G$v!}BaiY64ZgLoO&(Nv6dYq>;Zf1ve;0!-Qb4SoCQs(t$NPwTXxEnjm61 zKvu&apx!E9Rah5M>4^lnmILf2*H5WQCOl?m!^=+}GY+ab(+P5vyX1m21y34XXb}K` zx{yj+T^H-r+{U2hylrE7ZiMy43;DWYrQ|IFA%#uN_(uNn_AB_&-oWJ&*{_W5rl<}v zOzLDFp#Q)enI-GBZer?Jf)XxXrC1k(^8~FGhq%40edKn}%4v=&ZDi(6*~hAZ{6V-F zLNyCfWNxD>-AozZx}MD>moNmC{0w}Bb4=KNjR&A>2f!f?KfH|RzM6S39FEx(Udb6o z%{nF%v0kxt$C&Zp61VQFb<8!%C-+_O##mo}^j$C||HZmG0|!rlw7j8$`tW{ojimGn zo;R+C?MDc=(%s>R!_)<(N+@*m1x{NwWUK56QOCxysZ_pz;#PvM1-^72Lgxj6fS_li zo#t94S5gH5;6Yn}FG445cgkinjJl^`{1{ChHo(GYa@WRWSoG#K8y$CFC+NpD#p;XD z@Dhi;`D8G>4*yR))bSu_w>klq|ss8PhI3VzdkYJ4;FZc2jP^J_guQR>_Ix(1!5 z*pDhj(j|Qpr3K!n+*7BN&vkrAqO_guivP;SB?wwNwi zS~Y=ne93kCZstNPnR?K9qtc$npDp8Q0WyL_B<$Em)^zSVwH4F&EA^&DWk{l)l$ef*~BY*)dCR_diF=ZiDfh6 zt>icjFX^lcq0%a_>yq)UTBHA7$$aiDBCKib=1sbSH&{VHy(om+V|%A>yGv@CqN7`{ z!AYxj+Mna@?6)Z-N>Sm-trrLzjLgp z+9?YP)7(tIbu`DA6&|AXN^69?JHsx4tgS>Y>I_hL7R-u+f})pb(s z6Y(cSy~HA<2RAXuo<>Nyle)@+0n9}$z+0-g+$?nXXtwXHB^<#-)U3Tn1pTQdg2etP znlymi85ncmza)v=X^bGX}{g(Zhot`dic*9)Irj&(D*dYc~Rl$=JSz}dc3 zlDxJU@orhDm#l~%iC?XynaiX@8yA8vd>LYBCh*x+OrTiLnPz7Z80k9Z-KuYN8BxHD;e*PMzqsS(WM@E$TkhYTBU+HHle z3y{k!F_3lttF-67{|O5QX}2VuVkiVJU*W0cq4iZcobXtZP`Q_iGa zM(;^S-rLu?eY+i}Wb`fEKvk`8LPdV}#@sy?Uj;I$ z@uIa=KFd;KJId1Imz1tb8!H%rNI)qagbaGoY8Zb4TO5tNj)ZKVwQ-^8dMYcHIuG#7 zVy_Bo3nt>kdO)MG_0R|459C&C8WQ&*^2fC2ZbX?kKhu!mk#yThKkRm7)fb`l1FvWg zB;i6nw@6lup3@qjpH01XWO+PtVufpx0w$*@j4MrTG%vd0#objX5Z*LmpjJZ!)!M@U zA{Uj=r0-2Wtx=p7O~yLO1LpNE%B5kXm6=w!;ioDB`Mhnf;K!V z%ynAg1X*@;Y7Y~&Mc13b_R02kW5%1Y7lNsdZ47S+rwrW=kDAh+N< zt_gacw@um6enimDCoj9V1MUxjT7$-S4x#J&ORBI ze2y_EN|1n(Rr4#0wR649Y*ejRR8N_d`dui^G_l?ZD}96XI1w@?D}Rcqni+@cP{Nhw>{^*>}KksulH7uG*8mY4*zVY zK)J}oi}qjF53jqa?8)7?$@RB?^s_hK%G%ObLgKCcTp;VT-01hLsr>azNlE)I*|s&4 z!o==*srSuHV@2#F)1i1c{P$7X0?W;XNwPn)1603Gu6(?R0VJvBxU1WDp{8Z~!{3gv z){PgQIo(4NuFf-44}Wm2!mXc$H;$Vev=Q@0F@u&mL3Q;39Y1-Z^xdjbnvoAyi_{{Q z_~M9N;v-O&rAK??Zf-6Fp?#hDJDE!1NIhiUY&qS7S&A*{O&$EcP-w$h04gKsJ2=O> zVhB(>XS&|eQ)8u@Jl1;B1!$=?do6fdKKS}dFpW>KfPs{{pIPZja3v|MK#V&8+ z1a7Ft?WW!!QvO^f$gb}*%W>t5ZhU+Yr6f+fl-%fLnU?2Q=~m3-ViP+~Cbz+5!n_*a zEy?gnG!K5${iX9Nx!Jh$d%8&{#PlRqYVnRebO*w;U|+E(!^J+uv~d6hm!ZU#x&tMw zBU4XYbiCT;{NnT?`zfjgoCCVNl*=S-;%})&P^0p_O5T9Md052sRqOG0#)98x|EDH| xe!vLew|~#Fqv5CXBYfjXR!1PtN8vxAc9dmbe)~TF009600|4 + + + + http://chat.nixos.asia/sitemap-001-pages.xml.gz + \ No newline at end of file diff --git a/stream/413948-nixos/index.html b/stream/413948-nixos/index.html new file mode 100644 index 00000000000..052ec63d0c1 --- /dev/null +++ b/stream/413948-nixos/index.html @@ -0,0 +1,50 @@ + +Zulip Chat Archive +

Stream: nixos

+
+ +

Topics:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/.E2.9C.94.20Automate.20NixOS.20install.20on.20bare.20metal.20-.20howto.3F.html b/stream/413948-nixos/topic/.E2.9C.94.20Automate.20NixOS.20install.20on.20bare.20metal.20-.20howto.3F.html new file mode 100644 index 00000000000..5b352d391e4 --- /dev/null +++ b/stream/413948-nixos/topic/.E2.9C.94.20Automate.20NixOS.20install.20on.20bare.20metal.20-.20howto.3F.html @@ -0,0 +1,39 @@ + +✔ Automate NixOS install on bare metal - howto? · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: ✔ Automate NixOS install on bare metal - howto?

+ +
+ + + + + + +

view this post on Zulip Andreas (May 21 2024 at 16:45):

+

I am not dissing your tutorial here, no worries :smile:

+

I just had this question coming in from someone else 2 days ago.

+

But it's good to know that nixos-anywhere works with any live ISO. That is neat, I didn't know that.

+ + + + +

view this post on Zulip Shivaraj B H (May 21 2024 at 16:48):

+

Yes, it is cool

+ + + + +

view this post on Zulip Andreas (May 21 2024 at 16:48):

+

Anyways, thanks for the answers.

+ + + + +

view this post on Zulip Notification Bot (May 21 2024 at 16:48):

+

Andreas has marked this topic as resolved.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/.E2.9C.94.20VM.20-.20QEMU.html b/stream/413948-nixos/topic/.E2.9C.94.20VM.20-.20QEMU.html new file mode 100644 index 00000000000..1688433547e --- /dev/null +++ b/stream/413948-nixos/topic/.E2.9C.94.20VM.20-.20QEMU.html @@ -0,0 +1,147 @@ + +✔ VM - QEMU · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: ✔ VM - QEMU

+ +
+ + + + + + +

view this post on Zulip David Arnold (Mar 06 2024 at 09:34):

+

How do you fake the net devices to a NixOS VM specialization that is simply built with standard Nixos module system components:

+
nix build .\#nixosConfigurations.deploy-test-roble\
+  .config.system.build.vm
+
+

It's stuck until timeout on this startup:

+

image.png

+

This is my current qemu flag setting:

+
QEMU_KERNEL_PARAMS=console=ttyS0 \
+QEMU_NET_OPTS="hostfwd=tcp:127.0.0.1:80-:80,hostfwd=tcp:127.0.0.1:443-:433" \
+sudo ./result/bin/run-roble-vm -nographic; reset
+
+

Added qemu expert question: why don't I see the boot sequence when run with sudo despite QEMU_KERNEL_PARAMS=console=ttyS0?

+ + + + +

view this post on Zulip Andreas (Mar 06 2024 at 10:39):

+

These env variables are NixOS specific, yes? I wasn't able to find anything on the QEMU_KERNEL_PARAMS variable. But I would say that QEMU_KERNEL_PARAMS=console=ttyS0looks odd without quotation marks. Shouldn't it be like QEMU_KERNEL_PARAMS="console=ttyS0"?

+ + + + +

view this post on Zulip David Arnold (Mar 06 2024 at 10:47):

+

Yes, these are a way to inject into the nixos-specific bash wrapper:

+
#! /nix/store/r9h133c9m8f6jnlsqzwf89zg9w0w78s8-bash-5.2-p15/bin/bash
+
+export PATH=/nix/store/rk067yylvhyb7a360n8k1ps4lb4xsbl3-coreutils-9.3/bin${PATH:+:}$PATH
+
+set -e
+
+# Create an empty ext4 filesystem image. A filesystem image does not
+# contain a partition table but just a filesystem.
+createEmptyFilesystemImage() {
+  local name=$1
+  local size=$2
+  local temp=$(mktemp)
+  /nix/store/vvgmw7dmbpfzli5bbcks63j08ajdrl83-qemu-host-cpu-only-8.1.5/bin/qemu-img create -f raw "$temp" "$size"
+  /nix/store/l9sv8g6xlv06wwbsmqxx4hwpa22q7nq0-e2fsprogs-1.47.0-bin/bin/mkfs.ext4 -L nixos "$temp"
+  /nix/store/vvgmw7dmbpfzli5bbcks63j08ajdrl83-qemu-host-cpu-only-8.1.5/bin/qemu-img convert -f raw -O qcow2 "$temp" "$name"
+  rm "$temp"
+}
+
+NIX_DISK_IMAGE=$(readlink -f "${NIX_DISK_IMAGE:-./roble.qcow2}") || test -z "$NIX_DISK_IMAGE"
+
+if test -n "$NIX_DISK_IMAGE" && ! test -e "$NIX_DISK_IMAGE"; then
+    echo "Disk image do not exist, creating the virtualisation disk image..."
+
+    createEmptyFilesystemImage "$NIX_DISK_IMAGE" "1024M"
+
+    echo "Virtualisation disk image created."
+fi
+
+# Create a directory for storing temporary data of the running VM.
+if [ -z "$TMPDIR" ] || [ -z "$USE_TMPDIR" ]; then
+    TMPDIR=$(mktemp -d nix-vm.XXXXXXXXXX --tmpdir)
+fi
+
+
+
+# Create a directory for exchanging data with the VM.
+mkdir -p "$TMPDIR/xchg"
+
+
+
+
+
+
+
+cd "$TMPDIR"
+
+
+
+
+# Start QEMU.
+exec /nix/store/vvgmw7dmbpfzli5bbcks63j08ajdrl83-qemu-host-cpu-only-8.1.5/bin/qemu-kvm -cpu max \
+    -name roble \
+    -m 1024 \
+    -smp 1 \
+    -device virtio-rng-pci \
+    -net nic,netdev=user.0,model=virtio -netdev user,id=user.0,"$QEMU_NET_OPTS" \
+    -virtfs local,path=/nix/store,security_model=none,mount_tag=nix-store \
+    -virtfs local,path="${SHARED_DIR:-$TMPDIR/xchg}",security_model=none,mount_tag=shared \
+    -virtfs local,path="$TMPDIR"/xchg,security_model=none,mount_tag=xchg \
+    -drive cache=writeback,file="$NIX_DISK_IMAGE",id=drive1,if=none,index=1,werror=report -device virtio-blk-pci,bootindex=1,drive=drive1,serial=root \
+    -device virtio-keyboard \
+    -usb \
+    -device usb-tablet,bus=usb-bus.0 \
+    -kernel ${NIXPKGS_QEMU_KERNEL_roble:-/nix/store/w13hckxyqaqjaf9xxx7s889mbfhnv5iq-nixos-system-roble-23.11pre-git/kernel} \
+    -initrd /nix/store/ayvzq5hpdx552w092k0mbmr1qfia9inb-initrd-linux-6.6.19/initrd \
+    -append "$(cat /nix/store/w13hckxyqaqjaf9xxx7s889mbfhnv5iq-nixos-system-roble-23.11pre-git/kernel-params) init=/nix/store/w13hckxyqaqjaf9xxx7s889mbfhnv5iq-nixos-system-roble-23.11pre-git/init regInfo=/nix/store/xss2c6kv0rjjawcwf7vwjhcnlda8wq5q-closure-info/registration console=ttyS0,115200n8 console=tty0 $QEMU_KERNEL_PARAMS" \
+    $QEMU_OPTS \
+    "$@"
+
+ + + + +

view this post on Zulip Andreas (Mar 06 2024 at 11:04):

+

Looking at this wrapper, console=ttyS0,115200n8 console=tty0 appears to be the default, right? So you wouldn't have to set this yourself?

+ + + + +

view this post on Zulip David Arnold (Mar 06 2024 at 13:22):

+

I figured it out -- under virtualisation.vmVariant one can modify the vm variant.

+

And similarly, I could modify the network interfaces.

+
    virtualisation.vmVariant.networking.useDHCP = lib.mkForce true;
+    virtualisation.vmVariant.networking.interfaces = lib.mkForce {};
+
+ + + + +

view this post on Zulip Notification Bot (Mar 06 2024 at 13:22):

+

David Arnold has marked this topic as resolved.

+ + + + +

view this post on Zulip Andreas (Mar 06 2024 at 14:17):

+

Alright, would you care posting a snippet of the whole working thing @David Arnold ? I wanna play with it maybe in the coming days. Is it possible to create Non-NixOS VMs this way?

+ + + + +

view this post on Zulip David Arnold (Mar 06 2024 at 14:50):

+

Yep, any NixOS is also a VM under config.system.build.vm...

+

It's just that virtualisation.vmVariant.* is made so that under that namespace, you can override any other option that would otherwise be set in the "main" NixOS.

+

I'm currently using this for testing a Frappix deployment, but the deployment itself is private, so I can't share too much. I try to sketch some domain-specific gotchas in the docs, though.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/.E2.9C.94.20Weird.20behavior.20in.20socat.html b/stream/413948-nixos/topic/.E2.9C.94.20Weird.20behavior.20in.20socat.html new file mode 100644 index 00000000000..b781f7b76a9 --- /dev/null +++ b/stream/413948-nixos/topic/.E2.9C.94.20Weird.20behavior.20in.20socat.html @@ -0,0 +1,70 @@ + +✔ Weird behavior in socat · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: ✔ Weird behavior in socat

+ +
+ + + + + + +

view this post on Zulip majorkaks (Mar 03 2024 at 05:21):

+

I started python -m http.server -b 127.0.0.1 8193
+and ran socat TCP6-LISTEN:8192,reuseaddr,fork TCP:127.0.0.1:8193 to forward all IPv6 incoming traffic at [::1]:8192 to 127.0.0.1:8193
+But I can even get the data using curl 127.0.0.1:8192

+

Can someone please explain? I tried asking GPT-3.5 and Gemini, but didn't get any satisfactory answer.
+netstat -tulpn output

+
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
+tcp6       0      0 :::8192                 :::*                    LISTEN      7448/socat
+
+ + + + +

view this post on Zulip majorkaks (Mar 03 2024 at 05:22):

+

My final goal is to use this to allow playing games which support IPv4 over IPv6.

+ + + + +

view this post on Zulip Shivaraj B H (Mar 05 2024 at 18:07):

+

What’s the result of running curl on your ipv6 loopback on port 8192? Do you still get the response?

+ + + + +

view this post on Zulip majorkaks (Mar 06 2024 at 09:33):

+

Yeah, curl http://[::1]:8192 works as expected.

+ + + + +

view this post on Zulip majorkaks (Mar 06 2024 at 09:37):

+

Ah nvm, figured it out on RTFM.
+socat TCP6-LISTEN:8192,reuseaddr,fork,ipv6only TCP:127.0.0.1:8193 works as expected in IPv6 only mode
+image.png

+
+ + + + +

view this post on Zulip majorkaks (Mar 16 2024 at 23:38):

+

trying to mark the stream resolved

+

Please resolve this stream.

+
    +
  • I cannot click resolve without having a recent message.
  • +
  • I don't have permission if it's older than 7 days.
  • +
+ + + + +

view this post on Zulip Notification Bot (Mar 17 2024 at 11:06):

+

Srid has marked this topic as resolved.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/.E2.9C.94.20systemd.20host.20resolve.20.28matrix.2Ftwisted.29.html b/stream/413948-nixos/topic/.E2.9C.94.20systemd.20host.20resolve.20.28matrix.2Ftwisted.29.html new file mode 100644 index 00000000000..955534d9932 --- /dev/null +++ b/stream/413948-nixos/topic/.E2.9C.94.20systemd.20host.20resolve.20.28matrix.2Ftwisted.29.html @@ -0,0 +1,244 @@ + +✔ systemd host resolve (matrix/twisted) · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: ✔ systemd host resolve (matrix/twisted)

+ +
+ + + + + + +

view this post on Zulip David Arnold (Mar 06 2024 at 19:42):

+

within a systemd service

+
synapse.http.client: [sentinel] Error sending request to  GET https://sistema.frx.localhost/.well-known/openid-configuration: RequestTimedOutError 504: Timeout [...]
+
+

From the host:

+
❯ curl -L https://sistema.frx.localhost/api/method/frappe.integrations.oauth2.openid_configuration
+HTTP/2 200
+server: nginx
+date: Wed, 06 Mar 2024 19:42:27 GMT
+content-type: application/json
+content-length: 763
+vary: Accept-Encoding
+set-cookie: sid=Guest; Expires=Sat, 09 Mar 2024 14:42:26 GMT; Secure; HttpOnly; Path=/; SameSite=Lax
+set-cookie: system_user=no; Secure; Path=/; SameSite=Lax
+set-cookie: full_name=Guest; Secure; Path=/; SameSite=Lax
+set-cookie: user_id=Guest; Secure; Path=/; SameSite=Lax
+set-cookie: user_image=; Secure; Path=/; SameSite=Lax
+x-frame-options: SAMEORIGIN
+x-content-type-options: nosniff
+x-xss-protection: 1; mode=block
+strict-transport-security: max-age=63072000; includeSubDomains; preload
+referrer-policy: same-origin, strict-origin-when-cross-origin
+
+{
+    "issuer": "https://sistema.frx.localhost",
+    "authorization_endpoint": "https://sistema.frx.localhost/api/method/frappe.integrations.oauth2.authorize",
+    "token_endpoint": "https://sistema.frx.localhost/api/method/frappe.integrations.oauth2.get_token",
+    "userinfo_endpoint": "https://sistema.frx.localhost/api/method/frappe.integrations.oauth2.openid_profile",
+    "revocation_endpoint": "https://sistema.frx.localhost/api/method/frappe.integrations.oauth2.revoke_token",
+    "introspection_endpoint": "https://sistema.frx.localhost/api/method/frappe.integrations.oauth2.introspect_token",
+    "response_types_supported": [
+        "code",
+        "token",
+        "code id_token",
+        "code token id_token",
+        "id_token",
+        "id_token token"
+    ],
+    "subject_types_supported": [
+        "public"
+    ],
+    "id_token_signing_alg_values_supported": [
+        "HS256"
+    ]
+}
+
+

What's the matter?

+ + + + +

view this post on Zulip David Arnold (Mar 06 2024 at 19:44):

+
❯ cat /etc/nsswitch.conf
+───────┬────────────────────────────────────────────────────────────────────────
+       │ File: /etc/nsswitch.conf
+───────┼────────────────────────────────────────────────────────────────────────
+   1   │ passwd:    files systemd
+   2   │ group:     files [success=merge] systemd
+   3   │ shadow:    files
+   4   │
+   5   │ hosts:     mymachines resolve [!UNAVAIL=return] files myhostname dns
+   6   │ networks:  files
+   7   │
+   8   │ ethers:    files
+   9   │ services:  files
+  10   │ protocols: files
+  11   │ rpc:       files
+───────┴────────────────────────────────────────────────────────────────────────
+
+

^^ it doesn't matter whether I use systemd-resolved or not...

+
❯ cat /etc/hosts
+───────┬────────────────────────────────────────────────────────────────────────
+       │ File: /etc/hosts
+───────┼────────────────────────────────────────────────────────────────────────
+   1   │ 127.0.0.1 localhost
+   2   │ ::1 localhost
+───────┴────────────────────────────────────────────────────────────────────────
+
+
❯ cat /etc/hostname
+───────┬────────────────────────────────────────────────────────────────────────
+       │ File: /etc/hostname
+───────┼────────────────────────────────────────────────────────────────────────
+   1   │ frx
+───────┴────────────────────────────────────────────────────────────────────────
+
+ + + + +

view this post on Zulip Tim DeHerrera (Mar 06 2024 at 19:47):

+

is the systemd service configured in a private network namespace or something?

+ + + + +

view this post on Zulip David Arnold (Mar 06 2024 at 19:57):

+

I'm not really sure if I can tell anything apart here:

+
  17   │ ExecStartPre=/nix/store/l9f43mkpwah0md2gi4hhzmsxxdlc56qm-unit-script-ma
+       │ trix-synapse-pre-start/bin/matrix-synapse-pre-start
+  18   │ ExecStartPre=+/nix/store/680aj7bs2gbr5q18dgapzwy04vicn1q9-matrix-synaps
+       │ e-fix-permissions
+  19   │ Group=matrix-synapse
+  30   │ ProtectKernelLogs=true
+  20   │ LockPersonality=true
+  21   │ NoNewPrivileges=true
+  22   │ PrivateDevices=true
+  23   │ PrivateTmp=true
+  24   │ PrivateUsers=true
+  25   │ ProcSubset=pid
+  26   │ ProtectClock=true
+  27   │ ProtectControlGroups=true
+  28   │ ProtectHome=true
+  29   │ ProtectHostname=true
+  30   │ ProtectKernelLogs=true
+  31   │ ProtectKernelModules=true
+  32   │ ProtectKernelTunables=true
+  33   │ ProtectProc=invisible
+  34   │ ProtectSystem=strict
+  35   │ ReadWritePaths=/var/lib/matrix-synapse
+  36   │ ReadWritePaths=/var/lib/matrix-synapse/media_store
+  37   │ RemoveIPC=true
+  38   │ Restart=on-failure
+  39   │ RestrictAddressFamilies=AF_INET
+  40   │ RestrictAddressFamilies=AF_INET6
+  41   │ RestrictAddressFamilies=AF_UNIX
+:
+  43   │ RestrictRealtime=true
+  44   │ RestrictSUIDSGID=true
+  45   │ SystemCallArchitectures=native
+  46   │ SystemCallFilter=@system-service
+  47   │ SystemCallFilter=~@resources
+  48   │ SystemCallFilter=~@privileged
+  49   │ Type=notify
+  50   │ UMask=0077
+  51   │ User=matrix-synapse
+  52   │ WorkingDirectory=/var/lib/matrix-synapse
+───────┴────────────────────────────────────────────────────────────────────────
+
+ + + + +

view this post on Zulip Andreas (Mar 06 2024 at 20:04):

+

From what I gather, assuming you are trying to run Synapse with OIDC, there might be some issues on Synapse's GitHub related to this:

+

https://github.com/matrix-org/synapse/issues/9662
+https://github.com/matrix-org/synapse/issues/8741
+https://github.com/matrix-org/synapse/issues/16004

+

Judging from a first look, it might have something to do with TLS certificates.

+ + + + +

view this post on Zulip David Arnold (Mar 06 2024 at 20:07):

+

Oh! What a deceiving traceback! :smile:

+ + + + +

view this post on Zulip Tim DeHerrera (Mar 06 2024 at 20:07):

+

PrivateNetwork=true would indicate a private network namespace, so looks like that is not it. TLS would have been my next guess, but that usually doesn't result in a 504 :thinking:

+ + + + +

view this post on Zulip Andreas (Mar 06 2024 at 20:08):

+

It appears Synapse has a use_insecure_ssl_client_just_for_testing_do_not_use: true parameter setting you might try and see if it works...

+ + + + +

view this post on Zulip David Arnold (Mar 06 2024 at 20:08):

+

Yeah, it just doesn't work with my frx.localhost test domain in VM...

+

I'm setting up static certs, but it seams python doesn't acquire the root properly... I remember this is a pita and one might readily have to patch half of nixpkgs to get it into one of these certify packages that are a transitive dependency to half of the tree.

+ + + + +

view this post on Zulip David Arnold (Mar 06 2024 at 20:39):

+
from twisted.internet.ssl import (
+    CertificateOptions,
+    ContextFactory,
+    TLSVersion,
+    platformTrust, # this one is twisted :-)
+)
+
+
+

platformTrus: [...] any process where the SSL_CERT_FILE environment variable is set to the path of a file containing your desired CA certificates bundle.

+
+ + + + +

view this post on Zulip Tim DeHerrera (Mar 06 2024 at 20:42):

+

if you are running this service on localhost, perhaps tls isn't necessary anyway?

+ + + + +

view this post on Zulip David Arnold (Mar 06 2024 at 20:44):

+

Unfortunately, it's a requirement that is part of the oidc stack, which otherwise would just error out, somewhat reasonably, actually.

+ + + + +

view this post on Zulip David Arnold (Mar 06 2024 at 21:00):

+

This seemed to have ultimately appeased twisted:

+
{
+    systemd.services.matrix-synapse.environment = {
+      SSL_CERT_FILE = config.environment.etc."ssl/certs/ca-certificates.crt".source;
+    };
+}
+
+

Thanks for the hint about certs! :smile:

+ + + + +

view this post on Zulip David Arnold (Mar 06 2024 at 21:03):

+

This is what honors the effect of:

+
      security.pki.certificateFiles = [myca];
+
+ + + + +

view this post on Zulip Notification Bot (Mar 06 2024 at 21:11):

+

David Arnold has marked this topic as resolved.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/Automate.20NixOS.20install.20on.20bare.20metal.20-.20howto.3F.html b/stream/413948-nixos/topic/Automate.20NixOS.20install.20on.20bare.20metal.20-.20howto.3F.html new file mode 100644 index 00000000000..dc95859be5f --- /dev/null +++ b/stream/413948-nixos/topic/Automate.20NixOS.20install.20on.20bare.20metal.20-.20howto.3F.html @@ -0,0 +1,94 @@ + +Automate NixOS install on bare metal - howto? · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: Automate NixOS install on bare metal - howto?

+ +
+ + + + + + +

view this post on Zulip Andreas (May 21 2024 at 08:17):

+

What is the easiest way to automate a NixOS install on bare metal? I had this question coming from someone, and I didn't quite know how to answer it.

+

Make a custom boot image I guess?

+

Partition disks with disko I guess?

+

But after that, is there a straightforward way to set up the boot image in such a way to pull in a (private) github nixosConfiguration from a flake to do all this stuff on first boot automatically?

+ + + + +

view this post on Zulip Shivaraj B H (May 21 2024 at 16:31):

+

I would say this: https://nixos.asia/en/nixos-install-oneclick, once the tutorial is complete.

+ + + + +

view this post on Zulip Andreas (May 21 2024 at 16:32):

+

ah awesome @Shivaraj B H I will check it out.

+

But I do not want to enter any commands on the machine I am installing NixOS on.

+ + + + +

view this post on Zulip Shivaraj B H (May 21 2024 at 16:36):

+

Then it would be nixos-anywhere. Assuming you have wired ethernet and ssh access, it should work.

+ + + + +

view this post on Zulip Andreas (May 21 2024 at 16:38):

+

yeah so the idea is then this?

+

1) Make a custom boot iso for NixOS with ssh access and ssh keys and stuff
+2) Boot machine from that ISO
+3) Use nixos-anywhere remotely to do disk configuration and proper installation

+ + + + +

view this post on Zulip Shivaraj B H (May 21 2024 at 16:41):

+

You wouldn’t need NixOS in Step 1, it could be any Linux distro

+ + + + +

view this post on Zulip Andreas (May 21 2024 at 16:42):

+

Yeah okay, technically that is true, but assuming I don't wanna mess with that and have a fundamentalist-purist approach :smile:

+

Also we are talking bare-metal install here, so I have physical access to the machine, I can put a USB drive in with whatever I have.

+ + + + +

view this post on Zulip Andreas (May 21 2024 at 16:42):

+

The important point is also: I don't want to install any other Linux distro first. I just want to boot a live ISO.

+ + + + +

view this post on Zulip Andreas (May 21 2024 at 16:43):

+

Can I use nixos-anywhere with, let's say, an Arch Linux Live USB boot?

+ + + + +

view this post on Zulip Srid (May 21 2024 at 16:44):

+

Yes

+ + + + +

view this post on Zulip Shivaraj B H (May 21 2024 at 16:44):

+
+

Can I use nixos-anywhere with, let's say, an Arch Linux Live USB boot?

+
+

Yes

+
+

The important point is also: I don't want to install any other Linux distro first. I just want to boot a live ISO.

+
+

In this case, I would still say https://nixos.asia/en/nixos-install-oneclick is most reliable approach

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/Bitwarden.20for.20SSH.20authentication.20and.20git.20commit.20signing.html b/stream/413948-nixos/topic/Bitwarden.20for.20SSH.20authentication.20and.20git.20commit.20signing.html new file mode 100644 index 00000000000..d3701bb202a --- /dev/null +++ b/stream/413948-nixos/topic/Bitwarden.20for.20SSH.20authentication.20and.20git.20commit.20signing.html @@ -0,0 +1,111 @@ + +Bitwarden for SSH authentication and git commit signing · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: Bitwarden for SSH authentication and git commit signing

+ +
+ + + + + + +

view this post on Zulip RGBCube (Jun 02 2024 at 15:45):

+

Has anyone used Bitwarden with a vaultwarden instance to sign git commits and store ssh keys?

+ + + + +

view this post on Zulip Srid (Jun 02 2024 at 15:56):

+

cc @Shivaraj B H

+

(Also, related: this topic)

+ + + + +

view this post on Zulip Andreas (Jun 02 2024 at 17:54):

+

I wanted to try out self-hosted vaultwarden soonishly. Does it have that kind of capability?

+ + + + +

view this post on Zulip Shivaraj B H (Jun 02 2024 at 17:57):

+

I use vaultwarden, but it’s only limited to my passwords at the moment. I don’t store my SSH keys there yet as I was looking for a better solution (related topic that srid linked ^). Bitwarden has Secrets manager, but the last I checked, it was proprietary.

+

I was planning to try this out myself with existing vaultwarden. Storing the keys and retrieving them using the “bw” CLI seems straightforward, but signing commits is what would be interesting to see.

+

Anyways, I will update this thread with my progress.

+ + + + +

view this post on Zulip Andreas (Jun 02 2024 at 18:00):

+
+

Storing the keys and retrieving them using the “bw” CLI seems straightforward

+
+

So you would store them as what in vaultwarden? As a secure note? I still use regular Bitwarden for my passwords, so I am not sure which capabilities vaultwarden actually has.

+ + + + +

view this post on Zulip RGBCube (Jun 02 2024 at 18:08):

+

Signing shouldn't be that hard, let me see

+ + + + +

view this post on Zulip RGBCube (Jun 02 2024 at 18:09):

+

@Shivaraj B H For storing SSH private keys I use https://github.com/charmbracelet/melt and store the melted key physically in my wallet. works well and is offline

+ + + + +

view this post on Zulip RGBCube (Jun 02 2024 at 18:10):

+

If everything goes wrong, I can use that key to redeploy everything and ssh into my servers which is great. it's not really possible for me to lose access this way

+ + + + +

view this post on Zulip Shivaraj B H (Jun 02 2024 at 18:24):

+

@RGBCube how do you manage the seed phrases used to create the melted key?

+ + + + +

view this post on Zulip Shivaraj B H (Jun 02 2024 at 18:25):

+

Andreas said:

+
+
+

Storing the keys and retrieving them using the “bw” CLI seems straightforward

+
+

So you would store them as what in vaultwarden? As a secure note? I still use regular Bitwarden for my passwords, so I am not sure which capabilities vaultwarden actually has.

+
+

Yes, I believe it should be secure note. I am guessing that’s what @RGBCube is doing with his melted keys

+ + + + +

view this post on Zulip RGBCube (Jun 02 2024 at 18:29):

+

No, it's not in any password manager, i wrote the melted key down on a piece of paper and put it in my physical wallet.

+ + + + +

view this post on Zulip RGBCube (Jun 02 2024 at 18:30):

+

And the melted key doesn't have a passphrase, when you unmelt it it asks you for a passphrase

+ + + + +

view this post on Zulip RGBCube (Jun 02 2024 at 18:31):

+

Asks you for a passphrase as in ssh-keygening on the melted key to add a passphrase to the restored one

+ + + + +

view this post on Zulip Tim DeHerrera (Jun 02 2024 at 19:13):

+

We have a vaultwarden at work to share passwords and some keys. I would say it's not really appropriate for our usecase.

+

It'd probably be better to use short lived ssh certs

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/Darwin.27s.20linux-builder.html b/stream/413948-nixos/topic/Darwin.27s.20linux-builder.html new file mode 100644 index 00000000000..3b9724ee112 --- /dev/null +++ b/stream/413948-nixos/topic/Darwin.27s.20linux-builder.html @@ -0,0 +1,106 @@ + +Darwin's linux-builder · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: Darwin's linux-builder

+ +
+ + + + + + +

view this post on Zulip Srid (Feb 22 2024 at 18:00):

+

Srid said:

+
+

The linux-builder in nix-darwin would streamline it even further,

+

https://nixcademy.com/2024/02/12/macos-linux-builder/

+

However, it:

+
    +
  • does not support rosetta
  • +
  • does not build packages with IFD
  • +
+
+

Turns out I'm wrong here re: IFD.

+

This won't work:

+
nix --option system aarch64-linux build -L
+
+

But this will:

+
nix build -L .#packages.aarch64-linux.default
+
+

cf. https://github.com/NixOS/nixpkgs/issues/39664

+

That said, I still couldn't get x86_64-linux builds to work. It requires improving the nix-darwin linux builder to take arbitrary configuration, so I can set a binfmt.emulatedSystems.

+ + + + +

view this post on Zulip Notification Bot (Feb 22 2024 at 18:00):

+

A message was moved here from #nixos > Home CI machine (portable) by Srid.

+ + + + +

view this post on Zulip Srid (Feb 22 2024 at 18:09):

+

What will it take to merge all these PRs?

+

image.png

+
+ + + + +

view this post on Zulip Srid (Feb 22 2024 at 18:45):

+

x86 builds

+

Using https://github.com/LnL7/nix-darwin/pull/878

+

I can get x86 packages to build via linux-builder. The config,

+
  # To build Linux derivations whilst on macOS.
+  nix.linux-builder = {
+    enable = true;
+    systems = [
+      "x86_64-linux"
+      "aarch64-linux"
+    ];
+    config = { lib, ... }: {
+      boot.binfmt.emulatedSystems = [ "x86_64-linux" ];
+      virtualisation = {
+        # Larger linux-builder cores, ram, and disk.
+        cores = 6;
+        memorySize = lib.mkForce (1024 * 16);
+        diskSize = lib.mkForce (1024 * 1); # In MB.
+      };
+    };
+  };
+
+

Incidentally, I gain the impression that the linux-builder is draining my battery faster than the parallels VM.

+ + + + +

view this post on Zulip Srid (Feb 22 2024 at 19:21):

+

Timing for a) macOS native, b) arm linux, c) x86 emulation when building haskell-template. I'll do a thorough benchmark latter.

+

image.png

+
+ + + + +

view this post on Zulip Srid (Feb 23 2024 at 14:59):

+

Got something working on macOS. Along with https://github.com/srid/nixci/pull/39 I can now build Emanote (PR) on arm Linux and mac, using the builders hosted on the same host (macbook),

+
jobs:
+  nix:
+    runs-on: self-hosted
+    strategy:
+      matrix:
+        # TODO: Disablig x86_64-linux for now, as it is causing qemu segfault.
+        # Fix treefmt check causing qemu segfault: https://nixos.zulipchat.com/#narrow/stream/413948-nixos/topic/QEMU.20internal.20SIGSEGV
+        system: [aarch64-linux, aarch64-darwin]
+    steps:
+      - uses: actions/checkout@v4
+      - name: Build Nix
+        run: |
+          nixci --build-systems "github:nix-systems/${{ matrix.system }}"
+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/Deploying.20to.20DigitalOcean.html b/stream/413948-nixos/topic/Deploying.20to.20DigitalOcean.html new file mode 100644 index 00000000000..1d346bdd63e --- /dev/null +++ b/stream/413948-nixos/topic/Deploying.20to.20DigitalOcean.html @@ -0,0 +1,109 @@ + +Deploying to DigitalOcean · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: Deploying to DigitalOcean

+ +
+ + + + + + +

view this post on Zulip Srid (Dec 01 2023 at 15:40):

+

I'm trying to find the best way to deploy NixOS to DigitalOcean.

+

Traditional way

+
    +
  • Create a Ubuntu 22.04 droplet
  • +
  • Install NixOS atop using nixos-infect
  • +
  • Enable flakes, copy hardware configuration to Git repo, refactor the flake
  • +
+

New way

+

In particular, can all of this be automated by directly installing from a Git flake input? Similar to nixos-anywhere.

+

(Will update this topic based on what I find out)

+ + + + +

view this post on Zulip Srid (Dec 01 2023 at 17:38):

+

Building DigitalOcean NixOS Image

+

In flake.nix,

+
      perSystem = { pkgs, ... }: {
+        packages.doImage =
+          let
+            config = {
+              imports = [
+                "${pkgs.path}/nixos/modules/virtualisation/digital-ocean-image.nix"
+              ];
+              nix.settings.experimental-features = [ "nix-command" "flakes" ];
+              users.users.admin = {
+                isNormalUser = true;
+                openssh.authorizedKeys.keys = [
+                  # Srid's public key
+                  "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHQRxPoqlThDrkR58pKnJgmeWPY9/wleReRbZ2MOZRyd"
+                ];
+              };
+              system.stateVersion = "23.11";
+            };
+          in
+          (pkgs.nixos config).digitalOceanImage;
+      };
+
+

nix build .#doImage => ./result/nixos.qcow2.gz

+

Then you upload it to DO console

+
+ + + + +

view this post on Zulip Srid (Dec 01 2023 at 18:49):

+

Needs a services.openssh.enable = true; in the config, but yes - that works to one-click install the latest NixOS with flakes enabled.

+

SSH session on droplet

+
+ + + + +

view this post on Zulip Srid (Dec 01 2023 at 18:59):

+

Deployment

+

Next, need to figure out deployment ...

+

Gonna try colmena, rather than deploy-rs, this time because it has built-in support for secrets: https://colmena.cli.rs/unstable/features/keys.html

+ + + + +

view this post on Zulip Srid (Dec 01 2023 at 19:59):

+

Needed to add admin to Nix's trusted-users in the DO image. Then deployment works.

+

Proof of concept: https://github.com/fpindia/fpindia-chat/pull/1

+

colmena deployment

+
+ + + + +

view this post on Zulip Srid (Dec 01 2023 at 20:16):

+

Two potential shortcomings of colmena, per https://lobste.rs/s/pka4na/nixops_is_easier_than_i_thought

+
    +
  • No automatic rollbacks
  • +
  • Doesn't recognize nixosConfigurations output like deploy-rs does
  • +
+ + + + +

view this post on Zulip Srid (Dec 01 2023 at 21:23):

+

Secrets

+

https://colmena.cli.rs/unstable/features/keys.html

+

colmena configured to read secrets form 1Password during deployment:

+
  deployment.keys."matrix-shared-secret.secret" = {
+    keyCommand = [ "op" "read" "op://Juspay/fpindia-chat secrets/matrix-shared-secret" ];
+    user = config.systemd.services.matrix-synapse.serviceConfig.User;
+  };
+
+

(This could be any secret manager of course; in 1Password's case I get prompted to use TouchID)

+

We don't really need the complexity of sops-nix!

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/Home.20CI.20machine.20.28portable.29.html b/stream/413948-nixos/topic/Home.20CI.20machine.20.28portable.29.html new file mode 100644 index 00000000000..d5c58cab4bf --- /dev/null +++ b/stream/413948-nixos/topic/Home.20CI.20machine.20.28portable.29.html @@ -0,0 +1,299 @@ + +Home CI machine (portable) · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: Home CI machine (portable)

+ +
+ + + + + + +

view this post on Zulip Srid (Feb 20 2024 at 13:20):

+

For macOS builds, the answer to what "the simplest and space efficient & portable way to setup a CI machine at home" is clearly the Mac Mini.

+

What would be the answer for x86 Linux (NixOS) builds? Is there an equivalent hardware? I'd like to move away from Hetzner Dedicated to something hosted at home.

+

cc @Tim DeHerrera @Shivaraj B H

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 13:21):

+

Note: 'portable' as in I can throw it all in an international-flight allowed luggage.

+ + + + +

view this post on Zulip Shivaraj B H (Feb 20 2024 at 15:51):

+

I have only experience of self-hosting a raspberry pi model 4 and an old ASUS fx503vd laptop of mine. I host DNS server, password manager, file syncing service and a reverse proxy on my pi. I use the Asus laptop to play around with GitHub runners.

+ + + + +

view this post on Zulip Shivaraj B H (Feb 20 2024 at 15:51):

+

I am looking for a portable Linux box as well, in the same form factor as the Mac mini

+ + + + +

view this post on Zulip Shivaraj B H (Feb 20 2024 at 15:55):

+

For portability, I tend to carry around the SSD, I got an SSD enclosure that supports upto 10gbps of transfer speeds if I want to carry only the data around. I am still yet to play around with encrypting the disk for security and hardware RAID for redundancy

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 20 2024 at 17:41):

+

Have you looked at intel's NUC boxes? Some of those have fairly decent compute and are basically the same size as a mac mini.

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 17:44):

+

Interesting, I think I'll buy one of those NUCs.

+ + + + +

view this post on Zulip Shivaraj B H (Feb 20 2024 at 17:48):

+

66500FAF-187B-4E03-94B1-59F7EB30DB24.jpg

+
+ + + + +

view this post on Zulip Shivaraj B H (Feb 20 2024 at 17:48):

+

Great, I am getting one as well

+ + + + +

view this post on Zulip Shivaraj B H (Feb 20 2024 at 17:49):

+

Oh wait, let me see if I can even buy this in India :smile:

+ + + + +

view this post on Zulip Shivaraj B H (Feb 20 2024 at 17:50):

+

Okay, I can.

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 17:51):

+

Which NUC will you be getting?

+ + + + +

view this post on Zulip Shivaraj B H (Feb 20 2024 at 17:55):

+

Intel NUC 13 pro is what I was thinking

+ + + + +

view this post on Zulip Shivaraj B H (Feb 20 2024 at 17:55):

+

https://amzn.eu/d/bTINAUA

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 18:00):

+

This looks like barebones configuration without memory/SSD?

+

I'm looking at the same, but with memory/SSD installed: https://www.amazon.ca/Canyon-i5-1340P-Support-Thunderbolt-Windows/dp/B0CC2P1TVH/

+

Though it makes sense to get the barebones one and install whatever you need on top.

+ + + + +

view this post on Zulip Shivaraj B H (Feb 20 2024 at 18:01):

+

Yeah, I want to swap stuff based on need

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 18:08):

+

NUCs are dead?

+
+

The popular Intel NUC Mini PCs were to be scrapped - an austerity measure that was necessary after Intel's mounting losses. The processor giant has now reached an agreement with Asus to continue manufacturing existing NUC models and to develop new mini PCs. https://www.notebookcheck.com/Intel-NUC-Mini-PCs-werden-kuenftig-von-Asus-entwickelt-und-vertrieben.735057.0.html

+
+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 18:09):

+

That's a German article, but I learned of it from this English one

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 20 2024 at 18:09):

+

Huh, well you can still buy them on Amazon for now at least :sweat_smile:

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 18:09):

+

I wish the world switched to ARM, then I can just run a Linux VM on my arm Mac.

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 20 2024 at 18:11):

+

Well, it is really easy to setup an x86 NixOS box to emulate arm at least. I know that's the opposite of what you want though :sweat_smile:

+ + + + +

view this post on Zulip Shivaraj B H (Feb 20 2024 at 18:15):

+

I am thinking that the NUC is a little too expensive for only the CPU, ports and the box. I might go scavenging in the local market nearby, see if I can find something cheap

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 18:25):

+

Tim DeHerrera said:

+
+

Well, it is really easy to setup an x86 NixOS box to emulate arm at least. I know that's the opposite of what you want though :sweat_smile:

+
+

You know what I am thinking? Just get a Mac Studio and setup a x86 Linux VM on it providing Linux CI.

+

But if I'm going with that option, I should probably just wait for the M3 studio in second half of this year.

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 18:27):

+

Shivaraj B H said:

+
+

I am thinking that the NUC is a little too expensive for only the CPU, ports and the box. I might go scavenging in the local market nearby, see if I can find something cheap

+
+

You will find cheaper alternative. I found some in Canada,

+ + + + + +

view this post on Zulip Shivaraj B H (Feb 20 2024 at 18:29):

+

Yes, I was also considering getting all teh parts separately and assembling myself.

+

I am literally getting i5 13th gen 14 core CPU for half the price of what the NUC with 12 core variant costed.

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 18:30):

+

Srid said:

+
+

Tim DeHerrera said:

+
+

Well, it is really easy to setup an x86 NixOS box to emulate arm at least. I know that's the opposite of what you want though :sweat_smile:

+
+

You know what I am thinking? Just get a Mac Studio and setup a x86 Linux VM on it providing Linux CI.

+

But if I'm going with that option, I should probably just wait for the M3 studio in second half of this year.

+
+

I'll try this in the meanwhile: repurpose my M1 Max (macbook pro) to run intel x86 VM providing CI for my github projects, in addition to having a native macOS runner (maybe in a VM too) providing macOS CI for the same projects. If nothing else, it would put a good use of my mostly unused 64GB of RAM and CPU cycles.

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 18:59):

+

Actually I don't even need a separate VM for it. Just use the arm NixOS VM, and setup boot.binfmt.emulatedSystems. Then I can build for intel using --option system. Parallels allows the use of rosetta somehow.

+

image.png

+
+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 19:08):

+

The linux-builder in nix-darwin would streamline it even further,

+

https://nixcademy.com/2024/02/12/macos-linux-builder/

+

However, it:

+
    +
  • does not support rosetta
  • +
  • does not build packages with IFD
  • +
+ + + + +

view this post on Zulip Shivaraj B H (Feb 20 2024 at 19:13):

+

What is the overhead of running parallels NixOS VM? Running a qemu NixOS VM consumes additional 600 MB RAM (on my M1 Pro Mac) to keep the VM running, didn’t check the CPU usage though

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 19:21):

+

~850 MB

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 19:23):

+

(That's the total usage, not just overhead, as NixOS boots up)

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 20 2024 at 19:30):

+

yeah the binfmt.emulatedSystems is what I was referring to. As for VM overhead I am currently using https://astro.github.io/microvm.nix/.

+

The cloud-hypervisor instance I'm running seems to reserve all the memory I allocated for the machine up front, but I believe there are ways to configure it so that it doesn't do that. According to this post though, the memory overhead should be miniscule:
+https://github.com/cloud-hypervisor/cloud-hypervisor/issues/1729#issuecomment-1158573430

+ + + + +

view this post on Zulip Notification Bot (Feb 22 2024 at 18:00):

+

A message was moved from this topic to #nixos > Darwin's linux-builder by Srid.

+ + + + +

view this post on Zulip Shivaraj B H (Feb 26 2024 at 19:55):

+

for portable home CI (linux), I am planning to assemble myself. I will be using mini-itx motherboard for mac-mini like form factor.
+This guy on youtube has some pretty cool builds: https://www.youtube.com/watch?v=WN6DUjML8Eo

+
+ + + + +

view this post on Zulip Srid (Feb 26 2024 at 21:41):

+

Take pictures along the way for a great blog post.

+ + + + +

view this post on Zulip Andreas (Feb 27 2024 at 16:50):

+

Shivaraj B H said:

+
+

This guy on youtube has some pretty cool builds: https://www.youtube.com/watch?v=WN6DUjML8Eo

+
+

That looks very portable indeed!

+ + + + +

view this post on Zulip Shivaraj B H (Feb 28 2024 at 05:48):

+

1243781E-3B6F-4E7F-9B9E-ED75CF220836.jpg

+

Got my mac mini to self-host CI and other misc. stuff. Next up, linux build that I spoke of earlier. That might take a while though, temporarily I will use another rog strix laptop I got with i9 13th gen and 3070ti.

+

Only problem is power consumption, I will try to hack my way through to have something like WOL for mac mini and also on the rog strix for now.

+ + + + +

view this post on Zulip Andreas (Feb 28 2024 at 11:08):

+
+

Only problem is power consumption

+
+

I power expensive where you live? In any case it is hard to beat the Mac Mini when you put in a dedicated GPU I guess...

+ + + + +

view this post on Zulip Shivaraj B H (Feb 28 2024 at 11:09):

+

It’s not expensive, but I like to be efficient :laughing:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/How.20to.20apply.20gsettings.20schema.20on.20NixOS.3F.html b/stream/413948-nixos/topic/How.20to.20apply.20gsettings.20schema.20on.20NixOS.3F.html new file mode 100644 index 00000000000..29db4a25b10 --- /dev/null +++ b/stream/413948-nixos/topic/How.20to.20apply.20gsettings.20schema.20on.20NixOS.3F.html @@ -0,0 +1,19 @@ + +How to apply gsettings schema on NixOS? · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: How to apply gsettings schema on NixOS?

+ +
+ + + + + + +

view this post on Zulip majorkaks (Oct 22 2024 at 19:21):

+

https://discourse.nixos.org/t/how-to-apply-gsettings-in-nixos/54637

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/How.20to.20use.20an.20older.20version.20of.20a.20tool.20in.20NixOS.3F.html b/stream/413948-nixos/topic/How.20to.20use.20an.20older.20version.20of.20a.20tool.20in.20NixOS.3F.html new file mode 100644 index 00000000000..c11c2053cab --- /dev/null +++ b/stream/413948-nixos/topic/How.20to.20use.20an.20older.20version.20of.20a.20tool.20in.20NixOS.3F.html @@ -0,0 +1,57 @@ + +How to use an older version of a tool in NixOS? · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: How to use an older version of a tool in NixOS?

+ +
+ + + + + + +

view this post on Zulip majorkaks (Jul 10 2024 at 15:03):

+

On the latest stable, uptime command gives wrong uptime on raspberry pi. It used to work fine before

+
shivam@vivy ~ $ uptime
+ 20:30:24  up 216 days 18:21,  1 user,  load average: 0.04, 0.13, 0.10
+shivam@vivy ~ $ uptime --version
+uptime (GNU coreutils) 9.5
+Packaged by https://nixos.org
+Copyright (C) 2024 Free Software Foundation, Inc.
+License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law.
+
+Written by Joseph Arceneaux, David MacKenzie, and Kaveh Ghazi.
+shivam@vivy ~ $
+
+

How would I go about using uptime from an older version of coreutils in a temporary shell?

+ + + + +

view this post on Zulip Srid (Jul 10 2024 at 15:58):

+
nix shell github:nixos/nixpkgs/nixos-23.05#coreutils -c uptime
+
+ + + + +

view this post on Zulip Srid (Jul 10 2024 at 15:58):

+

Replace nixos-23.05 with the appropriate branch name or revision of https://github.com/NixOS/nixpkgs

+ + + + +

view this post on Zulip majorkaks (Jul 10 2024 at 17:01):

+

Thanks

+
shivam@vivy ~ $ nix --extra-experimental-features nix-command --extra-experimental-features flakes shell github:nixos/nixpkgs/23.11#coreutils -c uptime
+ 22:30:52  up   0:34,  3 users,  load average: 0.26, 2.86, 3.02
+shivam@vivy ~ $ uptime
+ 22:30:56  up 216 days 20:22,  3 users,  load average: 0.24, 2.82, 3.00
+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/ISO.20download.20speed.html b/stream/413948-nixos/topic/ISO.20download.20speed.html new file mode 100644 index 00000000000..406e63cdaed --- /dev/null +++ b/stream/413948-nixos/topic/ISO.20download.20speed.html @@ -0,0 +1,27 @@ + +ISO download speed · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: ISO download speed

+ +
+ + + + + + +

view this post on Zulip Srid (May 23 2024 at 21:11):

+

releases.nixos.org used to be faster before, but has now gotten slower:

+

image.png

+

They should do torrents.

+ + + + +

view this post on Zulip Andreas (May 24 2024 at 08:24):

+

This morning in Europe I get 25 MBytes/s. Maybe you should move to Europe?

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/Installing.20a.20flake.20directly.html b/stream/413948-nixos/topic/Installing.20a.20flake.20directly.html new file mode 100644 index 00000000000..561e2bb7299 --- /dev/null +++ b/stream/413948-nixos/topic/Installing.20a.20flake.20directly.html @@ -0,0 +1,28 @@ + +Installing a flake directly · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: Installing a flake directly

+ +
+ + + + + + +

view this post on Zulip Srid (Dec 12 2023 at 13:19):

+

Per @John Bargman nixos-install --flake github:URL also works during a manual install.

+

I thought only nixos-anywhere allowed direct flake references when installing.

+ + + + +

view this post on Zulip Srid (Dec 12 2023 at 13:37):

+
+

It turns out nix-shell -p nixUnstable git is enough to enable nixos-install --flake

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/Is.20there.20a.20way.20to.20test.20how.20reproducible.20my.20system.20is.3F.html b/stream/413948-nixos/topic/Is.20there.20a.20way.20to.20test.20how.20reproducible.20my.20system.20is.3F.html new file mode 100644 index 00000000000..1e0639738ce --- /dev/null +++ b/stream/413948-nixos/topic/Is.20there.20a.20way.20to.20test.20how.20reproducible.20my.20system.20is.3F.html @@ -0,0 +1,39 @@ + +Is there a way to test how reproducible my system is? · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: Is there a way to test how reproducible my system is?

+ +
+ + + + + + +

view this post on Zulip Muhammad Rizqi Ardiansyah (May 24 2024 at 07:43):

+

Is any configuration.nix file _guaranteed_ to be reproducible, or is it not? Is there a best practice of testing this? Is trying to install it on VM sufficient to test this?

+ + + + +

view this post on Zulip Andreas (May 24 2024 at 08:23):

+

What do you mean by guaranteed to be reproducible? :smile:

+ + + + +

view this post on Zulip Muhammad Rizqi Ardiansyah (May 24 2024 at 08:33):

+

Well what I meant is that it's going to be the same system on every device

+

...or is my understanding of the definition of said word incorrect?

+ + + + +

view this post on Zulip Shivaraj B H (May 24 2024 at 08:47):

+

If its only a configuration.nix file, it might not be reproducible because the packages might be coming from different nixpkgs on each of those devices, based on whatever is set in nix-channel.

+

But if you use flake.nix, it will be reproducible as you will be pinning the nixpkgs revision in flake.lock. See this tutorial to flakeify your existing configuration.nix: https://nixos.asia/en/nixos-install-flake#flakeify

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/Multi-config.20repos.20and.20sharing.20of.20nixpkgs.html b/stream/413948-nixos/topic/Multi-config.20repos.20and.20sharing.20of.20nixpkgs.html new file mode 100644 index 00000000000..c5373318efc --- /dev/null +++ b/stream/413948-nixos/topic/Multi-config.20repos.20and.20sharing.20of.20nixpkgs.html @@ -0,0 +1,55 @@ + +Multi-config repos and sharing of nixpkgs · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: Multi-config repos and sharing of nixpkgs

+ +
+ + + + + + +

view this post on Zulip Srid (May 22 2024 at 19:32):

+

Ideas on this are welcome:

+

https://github.com/srid/nixos-flake/issues/51

+

(Need this for a Juspay internal repo, actually)

+ + + + +

view this post on Zulip Shivaraj B H (May 23 2024 at 13:04):

+

I tried this: https://github.com/shivaraj-bh/nixos-flake/commit/183fc4d5a38875a9e2cf97728f3b354a25295f2e

+

It works if we don’t use nixosModules.home-manager.That can be fixed, if we allowspecifying home-manger input as well

+ + + + +

view this post on Zulip Shivaraj B H (May 23 2024 at 13:04):

+

This will break the existing API though

+ + + + +

view this post on Zulip Srid (May 23 2024 at 14:58):

+

I have tried that approach. Two disadvantages to it:

+
    +
  • it breaks with colmena-flake (but that's more a design fault of colmena than anything else).
  • +
  • coupling
  • +
+

To address the coupling issue, I thought of just dedicating a flake to each host, whilst sharing common modules from the root flake. So:

+
# Root flake, with common modules and inputs
+./flake.nix
+
+# Host A with its own nixpkgs, etc.
+./hosts/a/flake.nix
+
+# Host B with its own nixpkgs, etc.
+./hosts/b/flake.nix
+
+

There are still some issues with it; I'll have revisit it.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/NixBSD.2C.20it.27s.20NixOS.20on.20FreeBSD.html b/stream/413948-nixos/topic/NixBSD.2C.20it.27s.20NixOS.20on.20FreeBSD.html new file mode 100644 index 00000000000..25d42fd0839 --- /dev/null +++ b/stream/413948-nixos/topic/NixBSD.2C.20it.27s.20NixOS.20on.20FreeBSD.html @@ -0,0 +1,42 @@ + +NixBSD, it's NixOS on FreeBSD · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: NixBSD, it's NixOS on FreeBSD

+ +
+ + + + + + +

view this post on Zulip Andreas (Apr 03 2024 at 08:57):

+

Yesterday I came across a particular project trying to port something like NixOS to the FreeBSD ecosystem.

+

https://github.com/nixos-bsd/nixbsd

+

For now they are maintaining their own fork of nixpkgs and some patches to the nix evaluator and are now trying to build something like a module system for FreeBSD.

+

As I've been redoing my OPNsense router, which is based on FreeBSD 13, I had an idea. I am not so much interested in having an entire NixOS on FreeBSD. However: Would it be possible to build something like process-compose flakes on FreeBSD-based systems with this?

+

That would be really neat for extending OPNsense or PFsense with just about anything that can be compiled for FreeBSD.

+ + + + +

view this post on Zulip Andreas (Apr 04 2024 at 12:22):

+

Nobody here any interested in being Free with Nix on FreeBSD? :grinning_face_with_smiling_eyes:

+ + + + +

view this post on Zulip Tim DeHerrera (Apr 04 2024 at 13:42):

+

Well I tried Nix on freebsd a few years ago. It would be pretty cool to use it more like NixOS for sure, might give me more incentive to use it again

+ + + + +

view this post on Zulip Andreas (Apr 04 2024 at 13:53):

+

I wouldn't want to redo the whole FreeBSD system to be like a Nix-infected borg drone. First and foremost my use-case would be to extend firewalls like pfsense / opnsense with Nix-managed services.

+

Using something like process-compose flake on FreeBSD would be really great. Containerization is still a bit iffy on the platform, even though there is an experimental podman built now I believe.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/NixOS.20.20nat.20race.20condition.3F.html b/stream/413948-nixos/topic/NixOS.20.20nat.20race.20condition.3F.html new file mode 100644 index 00000000000..d86197f5e8e --- /dev/null +++ b/stream/413948-nixos/topic/NixOS.20.20nat.20race.20condition.3F.html @@ -0,0 +1,49 @@ + +NixOS nat race condition? · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: NixOS nat race condition?

+ +
+ + + + + + +

view this post on Zulip majorkaks (Mar 16 2024 at 23:28):

+

https://github.com/NixOS/nixpkgs/blob/nixos-23.11/nixos/modules/services/networking/nat.nix Line 181 through 191
+the commands all and default should be swapped

+

Explanation:

+
 Minor nitpick. When you set the following sysctls:
+
+net.ipv6.conf.all.forwarding=2
+net.ipv6.conf.default.forwarding=2
+
+There is a slight race condition in between the two. "all" includes all existing interfaces, but not future interfaces. "default" includes all future interfaces, but no existing interfaces.
+
+So if an interface (i.e. ppp0) is created in between the two statements, it will not have that applied. To do it race-free, just reverse the order:
+
+net.ipv6.conf.default.forwarding=2
+net.ipv6.conf.all.forwarding=2
+
+

Reference: search "race" on https://vk5tu.livejournal.com/37206.html

+ + + + +

view this post on Zulip majorkaks (Mar 16 2024 at 23:30):

+

Should be pretty rare tho, interfaces normally just don't come up and go away.

+ + + + +

view this post on Zulip majorkaks (Mar 16 2024 at 23:37):

+

Tonight I was setting up NixOS for rpi5. Thanks to https://github.com/NixOS/nixpkgs/issues/260754#issuecomment-1908664693 it was a pretty smooth experience. Compiling aarch64 on rpi5 with sdcard was quite slow - took about 3-4 hours or so.
+The final goal was to replace rpi3 in my home which was running a hotspot with ipv6 capability.
+I spent some time trying hostapd - but it just wouldn't stay connected for more than a second. I got some error 13 = INVALID_AE. Can share detailed logs in another thread.
+create_ap worked as is, but it didn't have ipv6. Started a radvd server to assign ipv6 and then struggled with forwarding. Finally got it all working! And in all the struggle found this random blog + bug. There may be similar issues in networking

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/NixOS.20Anywhere.html b/stream/413948-nixos/topic/NixOS.20Anywhere.html new file mode 100644 index 00000000000..7a22d96328c --- /dev/null +++ b/stream/413948-nixos/topic/NixOS.20Anywhere.html @@ -0,0 +1,189 @@ + +NixOS Anywhere · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: NixOS Anywhere

+ +
+ + + + + + +

view this post on Zulip David Arnold (Jan 22 2024 at 16:43):

+

Shrink the initrd, how?

+

The documentation states a minimum 1.5GB RAM requirement, but my target host has only 900MB (yeah!, needs to be a cheap proxy).

+

Does anyone know how I can shrink the initrd (makeInitrdNG?)? — and even more importantly test that reliably?

+ +

What is all that is there in an initrd and how can I minimalize that which there is? — I've never touched this topic and am finding myself on the bottom of a climb that I wouldn't want to do on my own, alone.

+ + + + +

view this post on Zulip Shivaraj B H (Jan 22 2024 at 18:00):

+

kexec image uses netboot-base.nix module which depends on profiles/base.nix, and this base module has a lot of packages by default, you can probably override it to remove unwanted base packages, which will reduce the kexec image size.

+ + + + +

view this post on Zulip Shivaraj B H (Jan 22 2024 at 18:04):

+

(deleted)

+ + + + +

view this post on Zulip David Arnold (Jan 22 2024 at 18:07):

+

I think it's here in the squashfsStore where it get's heavy:

+
    # Create the initrd
+    system.build.netbootRamdisk = pkgs.makeInitrdNG {
+      inherit (config.boot.initrd) compressor;
+      prepend = [ "${config.system.build.initialRamdisk}/initrd" ];
+
+      contents =
+        [ { object = config.system.build.squashfsStore;
+            symlink = "/nix-store.squashfs";
+          }
+        ];
+    };
+
+

and then here:

+
  initialRamdisk = pkgs.makeInitrdNG {
+    name = "initrd-${kernel-name}";
+    inherit (config.boot.initrd) compressor compressorArgs prepend;
+    inherit (cfg) strip;
+
+    contents = map (path: { object = path; symlink = ""; }) (subtractLists cfg.suppressedStorePaths cfg.storePaths)
+      ++ mapAttrsToList (_: v: { object = v.source; symlink = v.target; }) (filterAttrs (_: v: v.enable) cfg.contents);
+  };
+
+

with

+
      contents = {
+        "/tmp/.keep".text = "systemd requires the /tmp mount point in the initrd cpio archive";
+        "/init".source = "${cfg.package}/lib/systemd/systemd";
+        "/etc/systemd/system".source = stage1Units;
+
+        "/etc/systemd/system.conf".text = ''
+          [Manager]
+          DefaultEnvironment=PATH=/bin:/sbin
+          ${cfg.extraConfig}
+          ManagerEnvironment=${lib.concatStringsSep " " (lib.mapAttrsToList (n: v: "${n}=${lib.escapeShellArg v}") cfg.managerEnvironment)}
+        '';
+
+        "/lib".source = "${modulesClosure}/lib";
+
+        "/etc/modules-load.d/nixos.conf".text = concatStringsSep "\n" config.boot.initrd.kernelModules;
+
+        # We can use either ! or * to lock the root account in the
+        # console, but some software like OpenSSH won't even allow you
+        # to log in with an SSH key if you use ! so we use * instead
+        "/etc/shadow".text = "root:${if isBool cfg.emergencyAccess then optionalString (!cfg.emergencyAccess) "*" else cfg.emergencyAccess}:::::::";
+
+        "/bin".source = "${initrdBinEnv}/bin";
+        "/sbin".source = "${initrdBinEnv}/sbin";
+
+        "/etc/sysctl.d/nixos.conf".text = "kernel.modprobe = /sbin/modprobe";
+        "/etc/modprobe.d/systemd.conf".source = "${cfg.package}/lib/modprobe.d/systemd.conf";
+        "/etc/modprobe.d/ubuntu.conf".source = pkgs.runCommand "initrd-kmod-blacklist-ubuntu" { } ''
+          ${pkgs.buildPackages.perl}/bin/perl -0pe 's/## file: iwlwifi.conf(.+?)##/##/s;' $src > $out
+        '';
+        "/etc/modprobe.d/debian.conf".source = pkgs.kmod-debian-aliases;
+
+        "/etc/os-release".source = config.boot.initrd.osRelease;
+        "/etc/initrd-release".source = config.boot.initrd.osRelease;
+
+      } // optionalAttrs (config.environment.etc ? "modprobe.d/nixos.conf") {
+        "/etc/modprobe.d/nixos.conf".source = config.environment.etc."modprobe.d/nixos.conf".source;
+      };
+
+ + + + +

view this post on Zulip Tim DeHerrera (Jan 22 2024 at 18:07):

+

If you have an embedded usecade, clever's not-os might be a better choice fundamentally, as this is its goal from the outset.

+ + + + +

view this post on Zulip David Arnold (Jan 22 2024 at 18:08):

+

That'd be fun, but in my case not really necessary. I just got a cheap IPv6-only 900mb vps collocated in Bogota (which is key, and otherwise very expensive).

+ + + + +

view this post on Zulip Shivaraj B H (Jan 22 2024 at 19:49):

+

I doubt it is the initialRamdisk, on my nixos machine when I check the size of initrd it shows just 12 MB:

+
ls -lah /nix/store/l8qssxmf3ff1c6g2iq6klcfahclxxgzb-initrd-linux-6.1.71/initrd
+.r--r--r-- root root 12 MB Thu Jan  1 05:30:01 1970  /nix/store/l8qssxmf3ff1c6g2iq6klcfahclxxgzb-initrd-linux-6.1.71/initrd
+
+

This is how I built the initrd:

+
nix build .#nixosConfigurations.nixos.config.system.build.initialRamdisk
+
+ + + + +

view this post on Zulip David Arnold (Jan 22 2024 at 22:23):

+

I'll re-check tomorrow. I somehow need a better testing handle on this piece of software to be able to actually assess the max- memory consumption.

+

Last time I felt lucky and just deployed, then the VM got stuck and hanged and I had to wait two business days for a manual intervention. Not fun :smile:

+ + + + +

view this post on Zulip Tim DeHerrera (Jan 23 2024 at 00:36):

+

900mb is pretty tight. Definitely use an OOM killer daemon on that thing. That will at least help you avoid another manual intervention :sweat_smile:

+ + + + +

view this post on Zulip sedlund (Jan 23 2024 at 05:52):

+

this will get you much further

+
  zramSwap = {
+    enable = true;
+    memoryPercent = 150;
+  };
+
+ + + + +

view this post on Zulip David Arnold (Jan 23 2024 at 07:03):

+

Yeah, I just need it as a reverse proxy with stable IP as failover route in front of a mobile network backup internet link for a site with normally static IP wire-line link, where the site tunnels via wireguard onto that machine to establishes a stable route in case of issue with the main link.

+

I think an OOM daemon might not do much, because it's already after the kexec when this happens and apparently during the loading of the initrd.

+

@sedlund , I'll try your suggestion, although the docs say that swap wouldn't help much and that the requirement is 1.5gb (exclusive of swap). I didn't know about zram, this is really interesting!

+

They don't explain _why_ "no swap" and maybe they should be more precise and change that to "no disk swap" if your suspicion is right.

+ + + + +

view this post on Zulip Shivaraj B H (Jan 23 2024 at 17:51):

+

With nixos-anywhere you are looking to format your disk while being on the ram and swap exists on the disk, which is why it doesn’t help.

+ + + + +

view this post on Zulip David Arnold (Jan 23 2024 at 19:37):

+

I haven't come around to test this yet, but it looks like zramSwap is a compressed swap on ram, effectively making the RAM apparently bigger than it really is through compression. If that work's that'd be fun and really nice.

+ + + + +

view this post on Zulip sedlund (Jan 24 2024 at 03:06):

+

right, 150% is what google uses on ChromeOS. you will see typically 4:1 compression in regular workloads. the setting is not particular to nixos-anywhere (when building remotely), just useful on ram limited machines and in general. Windows does ram compression by default as does Fedora with zram

+ + + + +

view this post on Zulip Tim DeHerrera (Jan 24 2024 at 03:22):

+

fwiw I also use a cheap RAM limited vps from digitalocean (1G). I haven't yet installed nixos on it (intended to, but I was in a rush at the time).

+

Its only use is as a nebula lighthouse to create a network between some of my personal devices, and it hasn't had any issue since I set it up so I kinda forgot about it.

+

Might have to circle back around at some point, if just for usage comparison's sake.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/NixOS.20Cloud-init.20images.html b/stream/413948-nixos/topic/NixOS.20Cloud-init.20images.html new file mode 100644 index 00000000000..f8870d78472 --- /dev/null +++ b/stream/413948-nixos/topic/NixOS.20Cloud-init.20images.html @@ -0,0 +1,62 @@ + +NixOS Cloud-init images · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: NixOS Cloud-init images

+ +
+ + + + + + +

view this post on Zulip Andreas (Apr 03 2024 at 10:13):

+

I'd like to deploy NixOS VMs on Proxmox via terraform using Cloud-init images. (Potentially other real cloud providers with Terraform support as well)

+

On the legacy nix community there was this one thread I found: https://discourse.nixos.org/t/a-cloudinit-image-for-use-in-proxmox/27519

+

Any ideas on that anyone?

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 10:21):

+

The official documentation has a tutorial for deploying to AWS specifically with Terraform.

+

https://nix.dev/tutorials/nixos/deploying-nixos-using-terraform.html

+

But I am not looking for AWS. I am not sure the AWS image would do much good then.

+ + + + +

view this post on Zulip Tim DeHerrera (Apr 03 2024 at 15:00):

+

you can build VM images with NixOS out of the box. They use qemu by default so you should be able to wire those up with proxmox if desired. I have also made some of my own cloud images for digitalocean and aws in the past, there are nixos modules in nixpkgs that you can simply import that will then give you a build target for the image under config.system.build

+ + + + +

view this post on Zulip Andreas (Apr 04 2024 at 12:22):

+

but so if I build VM images, they won't support cloud-init, will they? So if I want to have a cluster of NixOS machines and set their IP address and authorized ssh-keys via cloud-init that won't work this way?

+

I might try and see what I can make out of this guy's gist from legacy nix discourse:

+

https://gist.github.com/voidus/1230b200043b7f815e2513663d16353b

+

That doesn't look too bad actually.

+ + + + +

view this post on Zulip Tim DeHerrera (Apr 04 2024 at 13:40):

+

I know the do and aws images do respect ssh keys you set up through their api. Not sure if it uses cloud-init specifically for that or some ad hoc code path, but it works :sweat_smile:

+ + + + +

view this post on Zulip Tim DeHerrera (Apr 04 2024 at 13:41):

+

There may be a nixos module for cloyd-init as well, haven't checked

+ + + + +

view this post on Zulip Andreas (Apr 04 2024 at 13:52):

+

yeah there is such a module afaik... I will try to build something myself and share it here if it works... or if I run into issues.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/NixOS.20for.20small.20datacenter.html b/stream/413948-nixos/topic/NixOS.20for.20small.20datacenter.html new file mode 100644 index 00000000000..8f399021da3 --- /dev/null +++ b/stream/413948-nixos/topic/NixOS.20for.20small.20datacenter.html @@ -0,0 +1,160 @@ + +NixOS for small datacenter · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: NixOS for small datacenter

+ +
+ + + + + + +

view this post on Zulip Andreas (Jun 30 2024 at 15:23):

+

Srid told mit that you @Shivaraj B H are having some kind of NixOS datacenter project going? Care to tell me more about that?

+ + + + +

view this post on Zulip Shivaraj B H (Jun 30 2024 at 18:41):

+

I have it in mind, yes. But haven’t had the chance to do anything about it unfortunately. I was thinking of providing Hetzner like services here in India. It is especially important considering how expensive AWS, GCP and azure can get and their vendor lock-in strategies (these strategies might be less now, but it does exist). I don’t own racks in any datacenters, but I could either rent a few racks to start with and manage them using NixOS. All this will not matter if I don’t have clients to use this new cloud-service provider in the market. I am hoping a few clients might be ready to use it for their non-critical tasks just because of the lower price. Once the financials add up, could dream bigger and have DCs like Hetzner.

+ + + + +

view this post on Zulip Andreas (Jul 02 2024 at 17:55):

+

Idk if you have seen this, but this project looks interesting: https://github.com/SaumonNet/proxmox-nixos

+

Not quite there yet for clustering, but once they have that, it might be great.

+

The only thing that isn't so great is that they put everything under a licence other than MIT and it's not clear if they intend to upstream this at all.

+ + + + +

view this post on Zulip Andreas (Jul 02 2024 at 17:56):

+

but your project does sound enticing I have to say, very interesting

+ + + + +

view this post on Zulip Shivaraj B H (Jul 03 2024 at 08:46):

+
+

Idk if you have seen this, but this project looks interesting: https://github.com/SaumonNet/proxmox-nixos

+
+

Yes, I came across this one. It is interesting.

+
+

The only thing that isn't so great is that they put everything under a licence other than MIT

+
+

The AGPL-v3 license seems to be because upstream uses that one, I couldn’t find the source but one of the staff member of proxmox mentioned here: https://forum.proxmox.com/threads/proxmox-ve-licensing-features.87788/post-384662

+ + + + +

view this post on Zulip Andreas (Jul 03 2024 at 08:47):

+

Yes but does that make sense? Aren't there many pieces of software already in nixpkgs that use that licence?

+ + + + +

view this post on Zulip Andreas (Jul 03 2024 at 08:53):

+

like that for instance: https://github.com/NixOS/nixpkgs/blob/nixos-24.05/pkgs/applications/backup/proxmox-backup-client/default.nix#L152

+ + + + +

view this post on Zulip Shivaraj B H (Jul 03 2024 at 08:55):

+
+

Yes but does that make sense?

+
+

It does not, unless you are modifying the code you can have your own license and re-distribute it, while providing the original source code with agpl-v3 license.

+ + + + +

view this post on Zulip Andreas (Jul 03 2024 at 08:57):

+

I think this only makes sense if they don't want to commit it to nixpkgs ... I will go and ask them on discourse what is going on with that.

+ + + + +

view this post on Zulip Andreas (Jul 03 2024 at 08:58):

+

because the project is very nice. Once you have Proxmox clustering support and everything, you could use that as the foundational stone for NixOS-based datacenters.

+ + + + +

view this post on Zulip Andreas (Jul 03 2024 at 08:59):

+

and then you could build a terraform-backend with a nice frontend for the outside to automate VM provisioning via Proxmox in your cluster

+ + + + +

view this post on Zulip Shivaraj B H (Jul 03 2024 at 09:00):

+

Yup, pretty exciting

+ + + + +

view this post on Zulip Andreas (Jul 03 2024 at 09:11):

+

Alright, I asked them

+ + + + +

view this post on Zulip Andreas (Jul 03 2024 at 09:12):

+

but if this was working nicely for proxmox custering out of the box and wouldn't rely on a third party cache as it does right now, it'd be a really nice (and cheap!) basis for building smaller datacenters in order to offer hosting solutions with nice automated provisioning for clients.

+ + + + +

view this post on Zulip Andreas (Jul 03 2024 at 09:16):

+

Idk what the alternatives would be tbh: VMware, Nutanix, maybe something like OpenStack?

+ + + + +

view this post on Zulip Shivaraj B H (Jul 03 2024 at 09:19):

+

https://www.reddit.com/r/homelab/s/2eHFsh2NPW

+ + + + +

view this post on Zulip Shivaraj B H (Jul 03 2024 at 09:19):

+

^ recommends xcp-ng

+ + + + +

view this post on Zulip Andreas (Jul 04 2024 at 07:55):

+

yes, I am not sure on the Xen vs. KVM question. I only ever used the latter.

+ + + + +

view this post on Zulip Shivaraj B H (Jul 04 2024 at 07:56):

+

I have also tried only KVM, but I might soon give Xen a shot

+ + + + +

view this post on Zulip John Bargman (Jul 06 2024 at 07:17):

+

I think Proxmox is fantastic for VDS services; but you will most likely want VPS services aswell;
+OpenStack works exceptionally for those.

+

Using Nix as a reliable backbone for a data-center is very exciting! I've got some small-scale tests in my own home, never had enough resources to make a larger system though.

+ + + + +

view this post on Zulip John Bargman (Jul 06 2024 at 07:18):

+

Also, LibVirt/QEMU and/or MicroVM works very very well for stable single-deployments (such as CDN and VPN/networking runners)

+ + + + +

view this post on Zulip Andreas (Jul 06 2024 at 08:13):

+

I can only say I am very happy with Proxmox. If it came built on NixOS it might be even nicer to deploy quicker on new machines. But other than the deployment, there is a fairly capable Terraform-provider for Proxmox out there.

+

And for larger stuff, yes, OpenStack might be a really nice solution.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/NixOS.20oneclick.20install.20tutorial.html b/stream/413948-nixos/topic/NixOS.20oneclick.20install.20tutorial.html new file mode 100644 index 00000000000..70bb3730a12 --- /dev/null +++ b/stream/413948-nixos/topic/NixOS.20oneclick.20install.20tutorial.html @@ -0,0 +1,295 @@ + +NixOS oneclick install tutorial · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: NixOS oneclick install tutorial

+ +
+ + + + + + +

view this post on Zulip LV Nilesh (Jun 11 2024 at 18:01):

+

https://github.com/lvnilesh/nix-one-click

+

is this enough? will it autogenerate the lock file?

+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 18:04):

+

You should generate the lock file by running nix flake lock, and commit that to the repo.

+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 18:04):

+
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
+
+

Also, 24.05 was recently released.

+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 18:05):

+

Don't forget to add your ssh key to rootAuthorizedKeys

+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 18:05):

+

Assuming this is for https://nixos.asia/en/nixos-install-oneclick

+ + + + +

view this post on Zulip LV Nilesh (Jun 11 2024 at 18:10):

+

I added my pubkey.
+I did not generate lock. I could not generate lock because the git repo is remote.
+Install finished when I used my README in my git repo https://github.com/lvnilesh/nix-one-click
+Then the new nix machine wont boot after a power cycle.

+

I am now debugging.

+

Thanks for your help.

+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 18:20):

+

@LV Nilesh It is not advisable to ignore generating the lock file. You won't get the reproducibility benefits of NixOS.

+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 18:20):

+

Just clone the git repo and add it

+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 18:48):

+

LV Nilesh said:

+
+

Then the new nix machine wont boot after a power cycle.

+

I am now debugging.

+
+

Let me know how that goes. Probably something to do with boot loader configuration. I've tested that flake only on Parallels VM on mac.

+ + + + +

view this post on Zulip LV Nilesh (Jun 11 2024 at 19:07):

+

can’t clone without git

+ + + + +

view this post on Zulip LV Nilesh (Jun 11 2024 at 19:08):

+

Newbie does not know how to get git in a USB booted live nix environment

+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 19:08):

+

nix run nixpkgs#git clone <url>

+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 19:09):

+

(For more on that nifty nix run command, see https://nixos.asia/en/nix-first)

+ + + + +

view this post on Zulip LV Nilesh (Jun 11 2024 at 19:10):

+

:+1:

+ + + + +

view this post on Zulip LV Nilesh (Jun 11 2024 at 19:19):

+

nix --extra-experimental-features "nix-command flakes" run nixpkgs#git clone git@github:lvnilesh/nix-one-click

+

Thanks.

+ + + + +

view this post on Zulip LV Nilesh (Jun 11 2024 at 19:26):

+

nix --extra-experimental-features "nix-command flakes" run nix flake lock
+nix --extra-experimental-features "nix-command flakes" run flake lock
+nix --extra-experimental-features "nix-command flakes" flake lock

+

all fail LOL

+ + + + +

view this post on Zulip LV Nilesh (Jun 11 2024 at 19:27):

+

I cloned git - then CD into it and then don't yet know how to nix flake lock

+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 19:37):

+
+

all fail LOL

+
+

Post the error message. Your 3rd command is correct.

+ + + + +

view this post on Zulip LV Nilesh (Jun 11 2024 at 19:49):

+

git cloned https://github.com/lvnilesh/nix-one-click /tmp/nix-one-click
+cd /tmp/nix-one-click
+nix --extra-experimental-features "nix-command flakes" flake lock

+

error: while fetching the input git+file://tmp/nix-one-click
+error: getting the HEAD of the git tree /tmp/nix-one-click failed with exit code 1
+error executing git: no such file or directory

+ + + + +

view this post on Zulip LV Nilesh (Jun 11 2024 at 20:09):

+

image.png

+
+ + + + +

view this post on Zulip LV Nilesh (Jun 11 2024 at 20:11):

+

this screenshot when I try UEFI

+ + + + +

view this post on Zulip LV Nilesh (Jun 11 2024 at 20:11):

+

and
+image.png
+this screenshot when I try SeaBIOS

+
+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 20:24):

+

Ah, try this.

+

First, run nix shell nixpkgs#git to enter a shell with git on PATH.

+

Then, you can run nix flake lock, etc. normally.

+ + + + +

view this post on Zulip LV Nilesh (Jun 11 2024 at 20:38):

+
nix --extra-experimental-features "nix-command flakes" run nixpkgs#git clone git@github.com:lvnilesh/nix-one-click
+
+cd nix-one-click
+
+nix --extra-experimental-features "nix-command flakes"  shell nixpkgs#git
+nix --extra-experimental-features "nix-command flakes" flake lock
+
+git status
+git add flake.lock
+git commit -am "add flake lock"
+git push
+
+bash README.md
+
+

power off and reboot from disk and be greeted by
+image.png

+
+ + + + +

view this post on Zulip LV Nilesh (Jun 11 2024 at 20:57):

+

README.md contains

+
# Assuming
+# - your system is x86_64-linux
+# - your harddrive device is /dev/sda
+FLAKE="github:lvnilesh/nix-one-click#nixoneclick"
+DISK_DEVICE=/dev/sda
+sudo nix \
+    --extra-experimental-features 'flakes nix-command' \
+    run github:nix-community/disko#disko-install -- \
+    --flake "$FLAKE" \
+    --write-efi-boot-entries \
+    --disk main "$DISK_DEVICE"
+
+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 21:49):

+

Can you say more about the machine you are installing to?

+ + + + +

view this post on Zulip LV Nilesh (Jun 11 2024 at 23:30):

+

image.png

+
+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 23:50):

+

Was /dev/sda the right disk ?

+ + + + +

view this post on Zulip LV Nilesh (Jun 12 2024 at 01:11):

+

yes

+ + + + +

view this post on Zulip Srid (Jun 12 2024 at 02:51):

+

Try the graphical installer, and see what configuration.nix it generates. Then adopt that config into your flake:

+

https://nixos.asia/en/nixos-install-flake

+ + + + +

view this post on Zulip LV Nilesh (Jun 12 2024 at 03:37):

+

Did that. It created https://github.com/lvnilesh/nixos-config/blob/master/configuration.nix

+

How would I add that to this https://github.com/lvnilesh/nix-one-click/blob/master/flake.nix

+ + + + +

view this post on Zulip Srid (Jun 12 2024 at 03:52):

+

Add it to the modules list

+ + + + +

view this post on Zulip Srid (Jun 12 2024 at 03:52):

+

Just like how you are importing ./disk-config.nix

+ + + + +

view this post on Zulip Srid (Jun 12 2024 at 03:52):

+

Make sure to git add the new file (Nix won't see it otherwise)

+ + + + +

view this post on Zulip Srid (Jun 12 2024 at 03:53):

+

Though at this point you can get rid of ./disk-config.nix, and the existing boot config from flake.

+ + + + +

view this post on Zulip Shivaraj B H (Jun 17 2024 at 15:43):

+

LV Nilesh said:

+
+

image.png

+
+

I recall facing this while setting up a server at Juspay. It is most likely due to Intel VMD being enabled in your BIOS, which would require the proprietary intel drivers to get it working in NixOS. I recommend just disabling it if that’s the case and you can use mdadm for raid configuration instead.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/NixOS.20tutorial.20series.html b/stream/413948-nixos/topic/NixOS.20tutorial.20series.html new file mode 100644 index 00000000000..f8f787b95c5 --- /dev/null +++ b/stream/413948-nixos/topic/NixOS.20tutorial.20series.html @@ -0,0 +1,241 @@ + +NixOS tutorial series · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: NixOS tutorial series

+ +
+ + + + + + +

view this post on Zulip Srid (Dec 09 2023 at 13:37):

+

Zapier said:

+
+

flake-parts system config + hm

+

Date: 2023-12-08T07:33:48+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18dhmb5/flakeparts_system_config_hm/

+
+

Is there a step-by-step tutorial on how to use flake-parts for system configuration (ideally with home-manager)? The documentation is too abstract for me.

+

The published repos on github of people using flake-parts all look very different, and I cannot comprehend why they do things different.

+

submitted by /u/zeec123

+

[link] [comments]
+

+
+
+ + + + +

view this post on Zulip Srid (Dec 09 2023 at 18:46):

+

Just a skeleton for now: https://nixos.asia/en/nixos

+

image.png

+
+ + + + +

view this post on Zulip Srid (Dec 10 2023 at 00:44):

+

First attempt: https://github.com/nixos-asia/website/pull/12

+ + + + +

view this post on Zulip Srid (Dec 10 2023 at 01:03):

+

Feedback on this ^ welcome. Planning to publish tomorrow.

+ + + + +

view this post on Zulip Srid (Dec 11 2023 at 13:29):

+

First tutorial :right: https://nixos.asia/en/tutorial/nixos-install

+ + + + +

view this post on Zulip Srid (Dec 12 2023 at 14:39):

+

@Shivaraj B H

+

I propose that we repurpose this blog post into a general tutorial that complements our first one.

+
    +
  • It will no longer need to be associated with remote-development repo
  • +
  • It fits in the larger scheme of producing a learning mind-map / flow-chat.
      +
    • Specifically, there are two 'doorways' to installing NixOS: a) the usual approach via graphical installer (1st tutorial), b) a more automated approach (this blog-post-repurposed-as-tutorial)
    • +
    +
  • +
+

To give an idea of the 'larger scheme':

+

image.png

+
+ + + + +

view this post on Zulip Shivaraj B H (Dec 12 2023 at 14:47):

+

I think likewise, I was having second thoughts about publishing the above mentioned post primarily because this minimal configuration was way too specific for the device we are using.

+ + + + +

view this post on Zulip Shivaraj B H (Dec 12 2023 at 14:48):

+

There is actually a third way of installing as well that can compliment the first tutorial you had written: Disko to partition your disk and Nixos-install —flake to install the OS

+ + + + +

view this post on Zulip Srid (Dec 12 2023 at 14:48):

+

Let's do it. You can rewrite it such that it achieves the same goal of first tutorial (nixos deployed with flakes enabled and config in git), but nearly automated.

+

Yea, I assume we would be using disko for tutorial 2?

+ + + + +

view this post on Zulip Srid (Dec 12 2023 at 14:49):

+

Also, screenshots are plenty useful. I liberally take screenshots and put them in Google photos. I think I took like 15 screenshots for first post, and ended up using 2 or 3 of them.

+ + + + +

view this post on Zulip Shivaraj B H (Dec 12 2023 at 14:50):

+

Yes we will be using disko combined with nixos-anywhere but there can also be a scenario where nixos-anywhere is not an option, like the situation I am facing now (no wired Ethernet), what if I still want to maintain my partitioning scheme in nix

+ + + + +

view this post on Zulip Shivaraj B H (Dec 12 2023 at 14:51):

+

I tried this out as an experiment, it does work, I will do it again and take screenshots while I am at it

+ + + + +

view this post on Zulip Srid (Dec 12 2023 at 14:56):

+

This would be manual (not graphical) install + disko + nixos-install --flake? Yes, a tutorial on that would be great as well!

+ + + + +

view this post on Zulip Srid (Dec 12 2023 at 14:56):

+

Let's do that one next, actually. nixos-anywhere can come latter if necessary

+ + + + +

view this post on Zulip Srid (Dec 12 2023 at 14:57):

+

Then, we can say: "here are 3 ways to install NixOS" - each progressively more automated.

+ + + + +

view this post on Zulip Srid (Dec 12 2023 at 14:57):

+
+

I will do it again and take screenshots while I am at it

+
+

Try it on VM, better for screenshots. I used Parallels (could be VirtualBox) running aarch64-linux.

+ + + + +

view this post on Zulip Shivaraj B H (Dec 12 2023 at 15:02):

+

Great, sounds good

+ + + + +

view this post on Zulip Srid (Dec 15 2023 at 18:17):

+

Source for some ideas

+
+

Note what George says at some point: “I am interested in being able to use Nix to quickly deploy cloud instances.”

+

So wouldn’t it be great if we had documentation for that use case?

+
+

--APCodes (who is looking to join their documentation team)

+

(Not recommending that we read the rest of the thread which appears to be idle debate that goes nowhere)

+ + + + +

view this post on Zulip Shivaraj B H (Dec 20 2023 at 09:58):

+

I was considering to explore https://github.com/nixos/nixos-hardware for the final automated tutorial of this series

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 12:07):

+

Srid said:

+
+

First tutorial :right: https://nixos.asia/en/tutorial/nixos-install

+
+

Second tutorial using disko, written by @Shivaraj B H :right: https://nixos.asia/en/nixos-install-disko

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 21:42):

+

@Shivaraj B H I just tried nixos-anywhere to install a flake on a VM.

+

I couldn't find a rescue image for arm linux, so I just booted into the NixOS installer. And then setup its root user for ssh'ing:

+
# from installer booted machine, set a root password
+sudo passwd root
+
+# from macos
+ssh-copy-id -o PreferredAuthentications=password  root@10.211.55.13
+
+# then install the flake
+nix run github:nix-community/nixos-anywhere -- --build-on-remote --flake .#here root@10.211.55.13
+
+

Since the core 'steps' are small, I suppose a large part of our 3rd tutorial should focus on getting it working right when deploying from macOS or Linux. I also noticed that when the configuration included packages like nixvim, nixos-anywhere fails to remotely build it.

+ + + + +

view this post on Zulip Shivaraj B H (Feb 21 2024 at 06:25):

+

What does it fail with while trying to build packages like nixvim?

+ + + + +

view this post on Zulip Srid (Feb 21 2024 at 10:58):

+

It was more along the lines of,

+
a 'aarch64-linux' with features {} is required to build '/nix/store/ziz2sfr9h5w1sss2w2bzhjf4vl2g314g-source.drv', but I am a 'aarch64-darwin' with features {benchmark, big-parallel, kvm, nixos-test}
+
+ + + + +

view this post on Zulip Srid (Feb 21 2024 at 13:17):

+
+

Since the core 'steps' are small, I suppose a large part of our 3rd tutorial should focus on getting it working right when deploying from macOS or Linux.

+
+

And it may also include nix-dev-home automatically? Then we can point Linux users in our company directly to this tutorial.

+ + + + +

view this post on Zulip Srid (Feb 21 2024 at 19:53):

+

Srid said:

+
+

It was more along the lines of,

+

a 'aarch64-linux' with features {} is required to build '/nix/store/ziz2sfr9h5w1sss2w2bzhjf4vl2g314g-source.drv', but I am a 'aarch64-darwin' with features {benchmark, big-parallel, kvm, nixos-test}
+

+

+
+

Related: https://github.com/zhaofengli/colmena/issues/178

+ + + + +

view this post on Zulip Srid (Mar 26 2024 at 12:22):

+

disko-install

+

https://github.com/nix-community/disko/pull/548

+

https://tinkering.xyz/installing-nixos/

+

image.png

+
+ + + + +

view this post on Zulip Notification Bot (Mar 26 2024 at 12:45):

+

3 messages were moved from this topic to #nixos > disko-install by Srid.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/QEMU.20internal.20SIGSEGV.html b/stream/413948-nixos/topic/QEMU.20internal.20SIGSEGV.html new file mode 100644 index 00000000000..81f3aaf03cd --- /dev/null +++ b/stream/413948-nixos/topic/QEMU.20internal.20SIGSEGV.html @@ -0,0 +1,85 @@ + +QEMU internal SIGSEGV · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: QEMU internal SIGSEGV

+ +
+ + + + + + +

view this post on Zulip Srid (Feb 20 2024 at 22:29):

+

Looks like we can't emulate x86_64-linux builds on aarch64-linux for all packages, like the treefmt-nix check,

+
treefmt-check> qemu-x86_64: QEMU internal SIGSEGV {code=MAPERR, addr=0x20}
+treefmt-check> /build/.attr-0l2nkwhif96f51f4amnlf414lhl4rv9vh8iffyp431v6s28gsr90: line 22:    31 Segmentation fault      (core dumped) treefmt --version
+error: builder for '/nix/store/rwsarq4sga22kchk3k2rhi30mjv6f4zd-treefmt-check.drv' failed with exit code 139;
+       last 3 log lines:
+       > Initialized empty Git repository in /build/project/.git/
+       > qemu-x86_64: QEMU internal SIGSEGV {code=MAPERR, addr=0x20}
+       > /build/.attr-0l2nkwhif96f51f4amnlf414lhl4rv9vh8iffyp431v6s28gsr90: line 22:    31 Segmentation fault      (core dumped) treefmt --version
+       For full logs, run 'nix log /nix/store/rwsarq4sga22kchk3k2rhi30mjv6f4zd-treefmt-check.drv'.
+
+

https://github.com/srid/emanote/actions/runs/7980820965/job/21791270125

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 20 2024 at 22:35):

+

is this using the binfmt.emulatedSystems?

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 22:40):

+

Yes.

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 22:40):

+

https://github.com/srid/nixos-config/blob/df99c7efb60b93233ef6e626d4053afba0887ea0/systems/here.nix#L14

+ + + + +

view this post on Zulip Srid (Feb 21 2024 at 13:23):

+

Another instance when building neovim-ruby-env

+
error: builder for '/nix/store/zyh6qa2nvjp9hnm0i1biv1lfzbixwmy8-neovim-ruby-env.drv' failed with exit code 139;
+       last 3 log lines:
+       > created 12 symlinks in user environment
+       > qemu-x86_64: QEMU internal SIGSEGV {code=MAPERR, addr=0x20}
+       > /build/.attr-0l2nkwhif96f51f4amnlf414lhl4rv9vh8iffyp431v6s28gsr90: line 8:    13 Segmentation fault      (core dumped) /nix/store/lpp53qxl39gc5vwvd8qn6ps6nh6kkffk-ruby-3.1.4/bin/ruby /nix/store/bcjdfm46ck1qfgc3vqkxxvp8jfwfprjl-gen-bin-stubs.rb "/nix/store/lpp53qxl39gc5vwvd8qn6ps6nh6kkffk-ruby-3.1.4/bin/ruby" "/nix/store/vljdmnfbkn57ld6n0p3kfjpxs8cmgv6b-gemfile-and-lockfile/Gemfile" "$out/lib/ruby/gems/3.1.0" "/nix/store/nfrdd8k4q5qwwhnghkvxaap96vlxmbmm-bundler-2.5.5/lib/ruby/gems/3.1.0/gems/bundler-2.5.5" '/nix/store/gpi0yf9rmzk18p3q421hajjk0iiwgm2c-ruby3.1-msgpack-1.5.1 /nix/store/c3p395d3p9w5ri0a8pb0nb0r37mda35l-ruby3.1-multi_json-1.15.0 /nix/store/mj9z389y61dvva11fi5nhf51caf6kpmk-ruby3.1-neovim-0.9.0 /nix/store/nfrdd8k4q5qwwhnghkvxaap96vlxmbmm-bundler-2.5.5' ''
+       For full logs, run 'nix log /nix/store/zyh6qa2nvjp9hnm0i1biv1lfzbixwmy8-neovim-ruby-env.drv'.
+
+

This is just arm64 build (no emulation). So I don't know where qemu-x86_64 is coming into picture. :-/

+

https://github.com/srid/nixos-config/actions/runs/7989424170/job/21816714621

+ + + + +

view this post on Zulip Srid (Feb 21 2024 at 13:29):

+

Huh, why is it using x86 ruby as build dependency?

+
# nix run nixpkgs#file /nix/store/lpp53qxl39gc5vwvd8qn6ps6nh6kkffk-ruby-3.1.4/bin/ruby
+/nix/store/lpp53qxl39gc5vwvd8qn6ps6nh6kkffk-ruby-3.1.4/bin/ruby: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /nix/store/cyrrf49i2hm1w7vn2j945ic3rrzgxbqs-glibc-2.38-44/lib/ld-linux-x86-64.so.2, for GNU/Linux 3.10.0, not stripped
+
+ + + + +

view this post on Zulip Srid (Feb 21 2024 at 13:30):

+

Because zyh6qa2nvjp9hnm0i1biv1lfzbixwmy8-neovim-ruby-env.drv is being built for that system
+.

+ + + + +

view this post on Zulip Srid (Feb 21 2024 at 13:34):

+

Oh, it is building the x86 configuration, because nixci (via devour-flake) will return all Linux systems,

+

https://github.com/srid/devour-flake/blob/c89ad7a611caef31899292bc8f9aae9e7aa251cb/flake.nix#L34-L35

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/Self-hosted.20GitHub.20runners.html b/stream/413948-nixos/topic/Self-hosted.20GitHub.20runners.html new file mode 100644 index 00000000000..3ba54dc65e5 --- /dev/null +++ b/stream/413948-nixos/topic/Self-hosted.20GitHub.20runners.html @@ -0,0 +1,431 @@ + +Self-hosted GitHub runners · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: Self-hosted GitHub runners

+ +
+ + + + + + +

view this post on Zulip Srid (Jan 26 2024 at 16:56):

+

Have anyone managed to do this on a personal account (not org)? To let a NixOS machine (ideally using containers) act as self-hosted runner for many personal repositories.

+

For a single repository, I added a runner with config like this:

+
{ pkgs, config, ... }:
+{
+  # TODO: Run inside container
+  services.github-runners = {
+    emanote-runner = {
+      enable = true;
+      name = "emanote-runner";
+      # TODO: use sops-nix
+      tokenFile = "/home/srid/runner.token";
+      url = "https://github.com/srid/emanote";
+      extraPackages = [ pkgs.cachix pkgs.nixci ];
+      extraLabels = [ "nixos" ];
+    };
+  };
+  nix.settings.trusted-users =
+    builtins.map
+      (runner: runner.user)
+      config.services.github-runners;
+}
+
+

However, it appears you can't share a runner with other personal repos.

+ + + + +

view this post on Zulip Tim DeHerrera (Jan 26 2024 at 19:41):

+

Apparently it is possible to share a runner across an organizations repositories. I'm not sure if this applies to user repos though

+ + + + +

view this post on Zulip Tim DeHerrera (Jan 26 2024 at 19:42):

+

https://github.blog/2020-04-22-github-actions-community-momentum-enterprise-capabilities-and-developer-improvements/#share-self-hosted-runners-across-an-organization

+ + + + +

view this post on Zulip Srid (Jan 27 2024 at 06:31):

+

Looks like you can only share across org, but not personal repos. Sad.

+ + + + +

view this post on Zulip Srid (Jan 27 2024 at 06:31):

+

So I decided to write a small module to help with that,

+

https://github.com/srid/nixos-config/pull/40

+ + + + +

view this post on Zulip Srid (Jan 27 2024 at 06:32):

+

You still have to manually create the runner in Settings for each repository. And then copy paste the token into the config for immediate deployment (if it not be immediate the token gets invalidated).

+ + + + +

view this post on Zulip Srid (Jan 27 2024 at 12:17):

+

Runners in containers: https://github.com/srid/nixos-config/pull/41

+ + + + +

view this post on Zulip Tim DeHerrera (Jan 31 2024 at 15:43):

+

Yeah, so on my nrdxp/nrdos repo I setup 16 runners to avoid the one job at a time bottleneck. Each one is in a nixos-container for a layer of isolation, but has the nix store and daemon socket mounted so that the host daemon can manage and coordinate all the jobs, respecting its configured limits.

+

This is coupled with divnix/std-action, which I designed to do one eval up front and distribute the derivations to multiple build matrices after, which worked great since they are all on the same disk. One of the biggest bottlenecks in the past was the network cost of transferring the evaled derivations around.

+ + + + +

view this post on Zulip Tim DeHerrera (Jan 31 2024 at 15:49):

+

You can see a sample run here:
+https://github.com/nrdxp/nrdos/actions/runs/7719678719

+

Discovery is the only bottleneck, but once that's done all the builds can kick off in parallel each in its own runner.

+ + + + +

view this post on Zulip Srid (Feb 01 2024 at 03:24):

+

Oh the discovery->matrix part is interesting. Is std-action really required here? I wonder how I can do the same from scratch.

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 01 2024 at 03:48):

+

It was originally designed to consume Standard's API, but it's fairly simple in practice. It should be fairly simple to port to the regular flake API if desired. The core idea is to nix eval a single json file containing a list of all the Nix derivations you plan to build. I came to this because Nix's eval cache is subpar at best, and because I noticed that multiple runners were evaling the same things over and over.

+

The real trouble I came upon is that the cost of evaluation in that context (of multiple runners building from a shared flake) is unknowable, especially since Nix has a severe lack of any real profiling tooling (for the language itself at least). Better then, to consolidate all evaluation up front, where the single threaded Nix evaluator can share any state between derivations in a single pass, and where the cost can at least become linear and predictable.

+ + + + +

view this post on Zulip Srid (Feb 01 2024 at 07:24):

+

I've observed that running nix build separately for each output (whether it is specified in same CLI invocation or not) would slow down evaluation by O(n),

+

https://github.com/srid/devour-flake?tab=readme-ov-file#why

+

Which is how I came up with https://github.com/srid/nixci and use that in CI. But it doesn't have the nice per-output build status.

+ + + + +

view this post on Zulip Srid (Feb 01 2024 at 07:27):

+

Tim DeHerrera said:

+
+

Yeah, so on my nrdxp/nrdos repo I setup 16 runners to avoid the one job at a time bottleneck. [..]

+
+

Was this fully automated? Or, like me, did you have to manually create the token for each of those runners?

+ + + + +

view this post on Zulip Srid (Feb 01 2024 at 07:28):

+

Oh wait, you are using the same token for all runners?

+ + + + +

view this post on Zulip Srid (Feb 01 2024 at 07:50):

+

Srid said:

+
+

Oh wait, you are using the same token for all runners?

+
+

Assuming this token was created from nrdxp/nrdos repository, your 16 runners can run only jobs from that repo, and not from elsewhere, such as nrdxp/foo

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 01 2024 at 14:09):

+

For now yes, they are only setup for that repo. I can set up more for others repo if when needed. They have almost no overhead unless/until they start building anyway.

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 01 2024 at 16:44):

+

Actually, now that I think about it, I wonder if I even need to mount the /nix/store at all inside these containers. Since the host daemon will be the one to do the actual building it might not be necessary. I already have nix.enable = false in their configs. I was wondering if I should actually make these VMs instead of containers for added security isolation.

+ + + + +

view this post on Zulip Srid (Feb 02 2024 at 03:18):

+

Only the token needs to be bind mounted. I didn't have to mount /nix/store

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 02 2024 at 05:31):

+

Do you pass through the socket? In my case, for the sake of avoiding repeated work, I want the builds to all work from the same store, since they share dependencies.

+

But I think bind mounting the host daemon socket is enough to accomplish that.

+ + + + +

view this post on Zulip Srid (Feb 02 2024 at 13:35):

+

Nope, I bind mount only the token.

+

https://github.com/srid/nixos-config/blob/9c392f468f2b341af8a83e8061ff1a92face28f5/nixos/github-runner.nix#L110-L131

+ + + + +

view this post on Zulip Srid (Feb 02 2024 at 13:54):

+

It seems to automatically use the host nix store,

+
[root@github-runner-emanote:~]# mount| grep store
+/dev/md/nixos on /nix/store type ext4 (ro,relatime,stripe=32)
+
+ + + + +

view this post on Zulip Tim DeHerrera (Feb 02 2024 at 14:07):

+

I still want them all to speak to the same daemon, so that the set limits on jobs and cores are globally respected between them

+ + + + +

view this post on Zulip Srid (Feb 02 2024 at 14:24):

+

I have two runners, and I see this:

+
❯ ps -ef | grep nix-daemon
+root        1459       1  0 Jan29 ?        00:00:00 nix-daemon --daemon
+root      132628    1459  0 Jan30 ?        00:00:00 nix-daemon 132605
+root      132971    1459  0 Jan30 ?        00:00:00 nix-daemon 132948
+
+

Are these child daemons spawned for each container? And if so, do they inherit jobs/cores limits automatically?

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 02 2024 at 14:28):

+

The daemon does spawn child procs for each build, but if the hosts socket is not available then they could be independent instances.

+

If the /nix/store is auto mounted though, perhaps the socket is as well. Not sure (not at my desk to check ATM)

+ + + + +

view this post on Zulip Srid (Feb 02 2024 at 14:30):

+

Oh yea,

+
[root@github-runner-emanote:~]# mount| grep socket
+/dev/md/nixos on /nix/var/nix/daemon-socket type ext4 (ro,relatime,stripe=32)
+
+ + + + +

view this post on Zulip Srid (Feb 02 2024 at 14:30):

+

It mounts quite a few things,

+
[root@github-runner-emanote:~]# mount| grep /dev/md/nixos
+/dev/md/nixos on / type ext4 (rw,relatime,stripe=32)
+/dev/md/nixos on /run/host/os-release type ext4 (ro,nosuid,nodev,noexec,relatime,stripe=32)
+/dev/md/nixos on /nix/store type ext4 (ro,relatime,stripe=32)
+/dev/md/nixos on /nix/var/nix/daemon-socket type ext4 (ro,relatime,stripe=32)
+/dev/md/nixos on /nix/var/nix/db type ext4 (ro,relatime,stripe=32)
+/dev/md/nixos on /nix/var/nix/gcroots type ext4 (rw,relatime,stripe=32)
+/dev/md/nixos on /nix/var/nix/profiles type ext4 (rw,relatime,stripe=32)
+/dev/md/nixos on /etc/localtime type ext4 (ro,nosuid,nodev,relatime,stripe=32)
+
+ + + + +

view this post on Zulip Srid (Feb 13 2024 at 11:17):

+
error (ignored): error: reached end of FramedSource
+[..]
+error: opening file '/nix/store/i8jjpg7im5jgr6dvr9ikylpa1szx1kpi-treefmt-check.lock': Permission denied
+
+

https://github.com/srid/haskell-flake/actions/runs/7885297185/job/21516934365

+

And this is happening only in Github Runner inside containers. I wonder if this is to do with the mounted nix-store access from the container.

+

Have you seen this? @Tim DeHerrera

+ + + + +

view this post on Zulip Srid (Feb 13 2024 at 13:30):

+

I had to run the following to fix this:

+
nix-store --verify --repair --check-contents
+
+

But the problem reappears when doing the CI build again.

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 13 2024 at 14:42):

+

hmm, haven't seen that one yet, have you tried making the daemon socket writable (mine is)?

+ + + + +

view this post on Zulip Srid (Feb 13 2024 at 14:44):

+

Nope, but I'll try that if this happens again.

+ + + + +

view this post on Zulip Srid (Feb 14 2024 at 09:47):

+

TIL that you can just use a single personal access token (with 'repo' scope) for all runners across one's personal repositories.

+ + + + +

view this post on Zulip Srid (Feb 14 2024 at 10:46):

+

easy-github-runners.nix

+

Now supports organizations:

+
            services.easy-github-runners = {
+              "srid/emanote" = { };
+              "srid/haskell-flake" = { };
+              "srid/nixos-config" = { };
+              "srid/ema" = { };
+              "EmaApps/orgself".owner = "srid";
+            };
+
+

https://github.com/srid/nixos-config/blob/master/nixos/easy-github-runners.nix

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 17 2024 at 17:47):

+

Just a heads up, I tried updating my nixos-unstable pin and somebody has modified the github runners in a way that my configuration now totally breaks. I cannot get the nix client to talk to the daemon and I am unsure why. I'll keep you posted if I figure it out

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 17 2024 at 18:51):

+

Alright so two things:

+

Firstly, they appear to have removed the old services.github-runner option and only have the newer services.github-runners option now, which led to a reorganization of the code, which means my snippet to import the options and use them in containers broke. So that's the first thing.

+

Even taking them out of the container and just running them directly on the host I was still failing to communicate with the daemon. This appears to be because the dynamically created users created by systemd were not trusted users. I thought I had already addressed that, but apparently not or I reverted it or something.

+

In any case, I was able to add the dynamic users to the trusted users list like so:
+nix.settings.trusted-users = lib.genList (i: "github-runner-nrdos-${i}") 16

+

To match the names of the dynamically allocated users. I may swing back around and configure each runner in a minimal microvm for added isolation with just the host daemon socket mounted. But for now this is fine since I only have them configured for a private repository at this point.

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 17 2024 at 20:30):

+

seems kind of presumptuous to assume all runners should have Nix. Hopefully we can get this reviewed and merged quickly, cause I need it :sweat_smile:
+https://github.com/NixOS/nixpkgs/pull/289607

+ + + + +

view this post on Zulip Srid (Feb 18 2024 at 14:51):

+

I believe my module has always been using the new github-runners service.

+

By the way, nix-darwin PR just got merged: https://github.com/LnL7/nix-darwin/pull/859

+

I'll play with macOS support.

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 18 2024 at 17:11):

+

The service is not new, what's new is that the code has been restructured and my previous code broke.

+ + + + +

view this post on Zulip Srid (Feb 21 2024 at 13:10):

+

Parallels VM

+

The runner failed with a new error,

+
The local machine's clock may be out of sync with the server time by more than five minutes. Please sync your clock with your domain or internet time and try again.
+
+

The local time on the container and host is incorrect, though. Wonder how that happened ... I'm running this in Parallels.

+ + + + +

view this post on Zulip Srid (Feb 21 2024 at 13:13):

+

Yup, it was Parallels. Rebooting the VM fixed it.

+ + + + +

view this post on Zulip Srid (Feb 21 2024 at 13:15):

+

Let's see if disabling automatic time sync fixes it long-term,

+

image.png

+
+ + + + +

view this post on Zulip Srid (Feb 21 2024 at 16:34):

+

I made the mistake of not setting a good disk size. 60GB (the default) quickly ran out in CI. Neither boot.growPartition nor systemd repart worked to repartition root on boot, after I resized the disk image in Parallels.

+ + + + +

view this post on Zulip Srid (Mar 25 2024 at 12:03):

+

New nix-darwin module

+

I upgraded nix-darwin which has a revamped github-runners module that explicitly writes the log files.

+

Which allowed me to actually observe crash logs like this:

+
-bash-3.2$ pwd
+/var/lib/github-runners
+-bash-3.2$ tail -5 nixci-1/_diag/Runner_20240325-120051-utc.log
+[2024-03-25 12:00:53Z ERR  Runner] GitHub.DistributedTask.WebApi.TaskAgentExistsException: A runner exists with the same name nixci-1.
+   at GitHub.Runner.Listener.Configuration.ConfigurationManager.ConfigureAsync(CommandSettings command) in /private/tmp/nix-build-github-runner-2.314.1.drv-0/src/src/Runner.Listener/Configuration/ConfigurationManager.cs:line 306
+   at GitHub.Runner.Listener.Runner.ExecuteCommand(CommandSettings command) in /private/tmp/nix-build-github-runner-2.314.1.drv-0/src/src/Runner.Listener/Runner.cs:line 126
+[2024-03-25 12:00:53Z ERR  Terminal] WRITE ERROR: A runner exists with the same name nixci-1.
+[2024-03-25 12:00:53Z INFO Listener] Runner execution has finished with return code 1
+-bash-3.2$
+
+ + + + +

view this post on Zulip Srid (Mar 25 2024 at 12:03):

+

https://github.com/LnL7/nix-darwin/pull/893

+ + + + +

view this post on Zulip Srid (Mar 25 2024 at 12:04):

+

As for this particular problem, there is replace = true; which solves the issue.

+ + + + +

view this post on Zulip Notification Bot (Mar 25 2024 at 12:06):

+

3 messages were moved here from #nix > Darwin: launchctl logs for a service by Srid.

+ + + + +

view this post on Zulip Srid (Mar 26 2024 at 21:12):

+

I decided to do this the other way. Setup runners on the NixOS VM, and do remote build on macOS as necessary.

+

Rough notes: https://github.com/srid/nixos-config/tree/master/clusters/github-runner

+ + + + +

view this post on Zulip Srid (Jun 21 2024 at 23:38):

+

Alright, based on how I'm setting CI for Juspay Github, the new approach is not to use distributed builds, but just dedicate runners to each host.

+

Module & tutorial incoming, but here's a sneak preview:

+

https://x.com/sridca/status/1804286220304028106

+ + + + +

view this post on Zulip Andreas (Jun 22 2024 at 07:37):

+

Awesome, I will look at this, once I am out of drama mindset thanks to the ongoing legacy NixOS community.

+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 19:52):

+

Here it is:

+

https://github.com/juspay/github-nix-ci

+

I'll announce it in a bit, after some final polish, and feedback (if any).

+ + + + +

view this post on Zulip Srid (Jun 25 2024 at 14:40):

+

https://x.com/nixos_asia/status/1805609192843014276

+ + + + +

view this post on Zulip Srid (Jun 25 2024 at 14:44):

+

https://discourse.nixos.org/t/github-nix-ci-for-self-hosting-github-runners-on-macos-linux/47642

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/Self-hosting.20HedgeDoc.20with.20GitHub.20auth.html b/stream/413948-nixos/topic/Self-hosting.20HedgeDoc.20with.20GitHub.20auth.html new file mode 100644 index 00000000000..285f42efa87 --- /dev/null +++ b/stream/413948-nixos/topic/Self-hosting.20HedgeDoc.20with.20GitHub.20auth.html @@ -0,0 +1,25 @@ + +Self-hosting HedgeDoc with GitHub auth · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: Self-hosting HedgeDoc with GitHub auth

+ +
+ + + + + + +

view this post on Zulip Srid (May 19 2024 at 14:30):

+

https://x.com/sridca/status/1792200864385417467

+ + + + +

view this post on Zulip Andreas (May 21 2024 at 08:10):

+

Yeah nice tutorial. But why only on X? Or is it available elsewhere?

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/Self-hosting.20email.html b/stream/413948-nixos/topic/Self-hosting.20email.html new file mode 100644 index 00000000000..eecb3c16ccd --- /dev/null +++ b/stream/413948-nixos/topic/Self-hosting.20email.html @@ -0,0 +1,74 @@ + +Self-hosting email · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: Self-hosting email

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 06 2024 at 18:07):

+

What does it take to self-host email in NixOS?

+

Pros and cons? Why would someone not want to do it?

+ + + + +

view this post on Zulip Andreas (Mar 06 2024 at 19:11):

+

I guess generally email is one of the more challenging things to self-host because of all the trust issues involved for getting your little server accepted by big mail mammoths such as gmail or microsoft.

+ + + + +

view this post on Zulip Andreas (Mar 06 2024 at 19:11):

+

That being said, having something like Mail-in-a-NixBox would be a nice thing

+ + + + +

view this post on Zulip Andreas (Mar 06 2024 at 19:21):

+

If you check Mail-in-a-Box's Github

+

https://github.com/mail-in-a-box/mailinabox

+

you can see the main components are:

+

postfix for SMTP, Dovecot or IMAP, z-push for Exchange ActiveSync, Roundcube (if you want webmail), spamassassin and postgrey for getting rid of some stuff, then a lot of automated DNS stuff plus Let's Encrypt, and finally some backups via duplicity, some fail2ban and some monitoring via munin.

+ + + + +

view this post on Zulip David Arnold (Mar 06 2024 at 19:40):

+

I'd use stalw.art - I'm playing with the idea for a while now. It is really well designed, however, the archiving of emails is hard to audit due to content hashing... a plain file backend would be desirable... Other than that, a premier choice.

+ + + + +

view this post on Zulip Andreas (Mar 06 2024 at 19:55):

+

Yes, stalwart looks interesting. And more modern than the Ubuntu-based thingy that is Mail-in-a-Box. Even though I had this running once with a friend of mine. But it appears with stalwart you can run that with a single database backend such as PostgreSQL? Why would you say plain files is more desirable @David Arnold ?

+ + + + +

view this post on Zulip David Arnold (Mar 06 2024 at 20:00):

+

This is just motivated by GAAP / Local-GAAP requirements which state that its first visual representation received by the counter party of any receipt underlying a business event must be stored for 10 years.

+

That's just best done by "tapping the wire", and with a file baked email, referencing and archiving becomes easy. Having a schema-bound storage mechanism is a significant accessibility hurdle over 10 years and for a smaller team.

+ + + + +

view this post on Zulip Andreas (Mar 06 2024 at 20:07):

+

ah okay, so you would want to keep these for your business records essentially? I can't imagine there aren't some best practices for complying with these requirements. Maybe asking stalwart directly would be an idea how they'd handle this?

+ + + + +

view this post on Zulip David Arnold (Mar 06 2024 at 20:15):

+

Yes, the easiest way to do this is to "tap" the wire: store everything that comes in and out. Using the FS as a backend has the advantage that its the oldest simplest and most stable storage metadata there is and therefore has very low maintenance burdon.

+

Obviously with many emails, the performance burdon becomes prohibitive and that's why the hash and shard them with blake..

+

It's still recoverable, but it immediatly and essentiatlly forces you to provision a kv store for the same ten years on a rolling basis.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/Setting.20up.20personal.20caches.20using.20.60attic.60.html b/stream/413948-nixos/topic/Setting.20up.20personal.20caches.20using.20.60attic.60.html new file mode 100644 index 00000000000..05478e639f4 --- /dev/null +++ b/stream/413948-nixos/topic/Setting.20up.20personal.20caches.20using.20.60attic.60.html @@ -0,0 +1,136 @@ + +Setting up personal caches using `attic` · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: Setting up personal caches using `attic`

+ +
+ + + + + + +

view this post on Zulip Srid (Feb 13 2024 at 11:36):

+

[contd convo with @Andreas ]

+

I've been recommending people use nix run github:... for installing some of my software like Emanote, nixci, nix-health (especially as they are out-of-date on the increasingly unwieldy monorepo nixpkgs).

+

To that end, I want to setup a small package set without IFD, providing cache for Linux and mac.

+

I could expose the local nix store via nix-serve-ng, but https://github.com/zhaofengli/attic is probably the more reliable option down the line, especially for dealing with larger builds/caches (at work).

+ + + + +

view this post on Zulip Andreas (Feb 13 2024 at 11:40):

+

Yes, I was thinking about using something like attic. That might be a neat thing. IIRC it also just acts as a kind of cache overlay on cache.nixos.org, so everything that is not in your specialized cache is just forwarded to the larger official one.

+

For setting this up you would need some hardware though I guess, and an S3 compatible storage provider of some kind. And I was wondering how much storage and bandwidth you might need for your existing Haskell packages.

+ + + + +

view this post on Zulip Srid (Feb 13 2024 at 11:40):

+

I think attic supports local storage too, if you just want store them in local disk to begin with.

+ + + + +

view this post on Zulip Srid (Feb 13 2024 at 11:41):

+

As for bandwidth, for my personal projects the 1 Gbits/s should probably be good enough to begin with.

+ + + + +

view this post on Zulip Srid (Feb 13 2024 at 11:42):

+

Of course cache is useless without a CI that pushes to it. For this I've been exploring GitHub runners (topic here), and eventually want to set one up on my macbook as well.

+ + + + +

view this post on Zulip Andreas (Feb 13 2024 at 11:43):

+

Yes it does support local storage. Which might be sufficient, right.

+

I was just wondering what happens to your storage if your machine goes down for whatever reason.

+ + + + +

view this post on Zulip Srid (Feb 13 2024 at 11:43):

+

If store gets corrupt and recreated, just do a rebuild. There aren't a lot to rebuild.

+ + + + +

view this post on Zulip Srid (Feb 13 2024 at 11:44):

+

Need to figure out a smart gcroot pinning system, that works with CI along with these 'recovery' instances.

+ + + + +

view this post on Zulip Andreas (Feb 13 2024 at 11:49):

+
+

a smart gcroot pinning system

+
+

I am not quite sure I am following on this one

+ + + + +

view this post on Zulip Srid (Feb 13 2024 at 11:50):

+

garbage collect everything but last N commits of stable (and desired) branches of repos.

+ + + + +

view this post on Zulip Srid (Feb 13 2024 at 11:51):

+

https://github.com/hercules-ci/hercules-ci-agent/issues/482

+ + + + +

view this post on Zulip Andreas (Feb 13 2024 at 12:00):

+

Maybe the attic tutorial https://docs.attic.rs/tutorial.html is interesting, too. It comes with some kind of garbage collection capabilities.

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 13 2024 at 14:37):

+

FWIW, for me, digitalocean spaces is super cheap ($5 p/m) and putting it behind cloudflare CDN is free. Also they allow an unlimited number of buckets so long as you don't go over 500G so you could have multiple caches if you wanted to

+ + + + +

view this post on Zulip Srid (Feb 13 2024 at 14:42):

+
+

500G

+
+

Cloudflare R2? What did you get this number from?

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 13 2024 at 14:43):

+

Oh I guess I misremembered, it's 250G

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 13 2024 at 14:44):

+

(for $5)

+ + + + +

view this post on Zulip Srid (Feb 13 2024 at 17:36):

+

Any reason why I shouldn't put the cache data on one of these? https://www.hetzner.com/storage/storage-box/

+ + + + +

view this post on Zulip Andreas (Feb 13 2024 at 17:43):

+

Srid said:

+
+

Any reason why I shouldn't put the cache data on one of these? https://www.hetzner.com/storage/storage-box/

+
+

Do you have full SSH access to these? Not really, right. Not sure what you are planing but for attic is would probably be nice to get NixOS with Minio or something similar.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/Specifying.20UUID.20in.20diskio.html b/stream/413948-nixos/topic/Specifying.20UUID.20in.20diskio.html new file mode 100644 index 00000000000..5d804260f3f --- /dev/null +++ b/stream/413948-nixos/topic/Specifying.20UUID.20in.20diskio.html @@ -0,0 +1,106 @@ + +Specifying UUID in diskio · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: Specifying UUID in diskio

+ +
+ + + + + + +

view this post on Zulip Pratham Patel (Mar 11 2024 at 19:30):

+

Is there a way to specify UUIDs for partitions in diskio? Doing so would help me not update my ${hostname}-hardware-configuration.nix file everytime I need to clean-install on a host with same storage layout.

+ + + + +

view this post on Zulip Srid (Mar 11 2024 at 22:41):

+

/dev/disk/by-{id,path}?

+

cf. https://github.com/nix-community/disko/issues/14

+ + + + +

view this post on Zulip Pratham Patel (Mar 12 2024 at 01:45):

+

Not the target disk... specifying the UUIDs of the partitions created themselves.

+ + + + +

view this post on Zulip Tim DeHerrera (Mar 12 2024 at 12:45):

+

Isn't diskio responsible for creating those partitions? I haven't used it but it was my impression that was the point of the tool.

+ + + + +

view this post on Zulip Srid (Mar 12 2024 at 18:43):

+

You can get the same storage layout without necessarily fixing individual partition's UUID. See for example https://github.com/srid/nixos-config/blob/master/nixos/disko/trivial.nix

+

This layout remains the same across re-installs (wherein the partition UUID will change)

+ + + + +

view this post on Zulip Srid (Mar 12 2024 at 18:44):

+

Or maybe I'm not understanding your question, @Pratham Patel

+ + + + +

view this post on Zulip Shivaraj B H (Mar 13 2024 at 10:50):

+

If you use disko, you will not have to manually specify the UUID in hardware-configuration.nix, because disko manages it for you, if i am not wrong. I never had to do that at least.

+ + + + +

view this post on Zulip Pratham Patel (Mar 13 2024 at 11:31):

+

@Srid This question came out of my migration to deploying nixos on my machines using flakes. Flakes mandate that all files be included in the git tree and therefore, it's not possible to have the hardware-configuration.nix in the repo in advance. Specifying the UUIDs for each partition/filesystem in diskio would be nice for this, where the hardware-configuration.nix file already picks up the devices using the /dev/disk/by-uuid path. :)

+ + + + +

view this post on Zulip Srid (Mar 13 2024 at 12:40):

+

So you want to introduce disko on an already-installed NixOS machine?

+

This looks to be the same problem as https://github.com/juspay/remote-development/issues/11

+ + + + +

view this post on Zulip Srid (Mar 13 2024 at 12:41):

+

This may be relevant: https://github.com/nix-community/disko/issues/295

+ + + + +

view this post on Zulip Pratham Patel (Mar 13 2024 at 12:44):

+

Sort of, yes! :)

+ + + + +

view this post on Zulip Pratham Patel (Mar 14 2024 at 15:12):

+

Finally got some free time to poke around in the disko src and noticed this line: https://github.com/nix-community/disko/blob/f6b72bfed7c57997aa5dccd94a3ebbc4cb824b04/lib/types/filesystem.nix#L48

+

So, the pseudo code would be something like:

+
    +
  1. Check if filesystem supports the -U or -u option to specify the UUID to assign to, such that, it appears as /dev/disk/by-uuid/${UUID}.
  2. +
  3. Append the string -U ${UUID} if some option, let's assume customUUID is specified.
  4. +
+

That way, the same disko config _and_ same hardware-configuration.nix can be used, even when the disk is reformatted, preserving the UUID, resulting in not needing to update the hardware-configuration.nix file, at all

+ + + + +

view this post on Zulip Srid (Mar 26 2024 at 12:23):

+

@Pratham Patel Is this relevant? https://github.com/nix-community/disko/pull/548#issuecomment-1967664266

+ + + + +

view this post on Zulip Pratham Patel (Mar 27 2024 at 01:35):

+

huh, this is better than what I was looking for! thank you :D

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/Unified.20activation.html b/stream/413948-nixos/topic/Unified.20activation.html new file mode 100644 index 00000000000..8afe181a560 --- /dev/null +++ b/stream/413948-nixos/topic/Unified.20activation.html @@ -0,0 +1,31 @@ + +Unified activation · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: Unified activation

+ +
+ + + + + + +

view this post on Zulip Srid (Jun 26 2024 at 14:44):

+

https://github.com/srid/nixos-flake/pull/54

+

The idea is to have one command that knows how to activate system configuration regardless of system or host.

+

ie., be it NixOS or nix-darwin.

+

Or, be it local machine or a remote machine (accessible over SSH).

+

Eventually, even home-manager activation too can happen as part of it.

+

It sits in between the triviality of bash scripts and complexity of writing an entirely new deployment tool (like in Rust; cf. colmena & deploy-rs), and I'd like to keep it that way. The focus is merely on activation. Nushell has been good for this.

+ + + + +

view this post on Zulip Srid (Jun 26 2024 at 18:35):

+

A new deployment tool

+

https://community.flake.parts/nixos-flake/activate#remote

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/Usr.20files.20persist.20after.20being.20removed.20from.20the.20configuration.html b/stream/413948-nixos/topic/Usr.20files.20persist.20after.20being.20removed.20from.20the.20configuration.html new file mode 100644 index 00000000000..ea49c40ac03 --- /dev/null +++ b/stream/413948-nixos/topic/Usr.20files.20persist.20after.20being.20removed.20from.20the.20configuration.html @@ -0,0 +1,53 @@ + +Usr files persist after being removed from the configuration · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: Usr files persist after being removed from the configuration

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Feb 28 2024 at 12:01):

+

remotedev user was present in the configuration and was later removed

+

But I still see the user’s files:
+Screenshot-2024-02-28-at-5.25.16PM.png

+
+ + + + +

view this post on Zulip Srid (Feb 28 2024 at 12:10):

+

Makes sense why they are not deleted, though nixos should probably offer an option to the user here, or at least inform them. This all falls under the larger category of automatic migration of stateful data, I guess.

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 28 2024 at 13:34):

+

Probably the best solution to this kind of thing so far would be:
+https://nixos.wiki/wiki/Impermanence

+ + + + +

view this post on Zulip Srid (Feb 28 2024 at 17:46):

+

Impermenence can work for certain servers, more than shared machines. In the latter, user home directories will have various git repos checked out with direnv enabled on them, which needs to be persisted.

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 28 2024 at 18:39):

+

That's what the impermanence module is for. It's essentially a white list for files and directories you wish to be persisted across reboots. Everything else is wiped

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 28 2024 at 18:40):

+

I used to use it, haven't for a little while now, but was considering adding it again on my large build server, just to keep it clean, but then I don't reboot it very often either :sweat_smile:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/When.20you.20forget.20to.20garbage.20collect.20home.20manager.20regularly.2E.2E.2E.html b/stream/413948-nixos/topic/When.20you.20forget.20to.20garbage.20collect.20home.20manager.20regularly.2E.2E.2E.html new file mode 100644 index 00000000000..381961c8d51 --- /dev/null +++ b/stream/413948-nixos/topic/When.20you.20forget.20to.20garbage.20collect.20home.20manager.20regularly.2E.2E.2E.html @@ -0,0 +1,30 @@ + +When you forget to garbage collect home manager regularly... · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: When you forget to garbage collect home manager regularly...

+ +
+ + + + + + +

view this post on Zulip Andreas (Jun 15 2024 at 20:04):

+
deleting unused links...
+note: currently hard linking saves 0.00 MiB
+176353 store paths deleted, 308004.80 MiB freed
+
+~ took 10m21s
+
+ + + + +

view this post on Zulip Shivaraj B H (Jun 17 2024 at 15:44):

+

You can use https://github.com/nix-community/home-manager/blob/master/modules/services/nix-gc.nix to regularly do it in the background for you.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/Zulip.20Nix.20packaging.html b/stream/413948-nixos/topic/Zulip.20Nix.20packaging.html new file mode 100644 index 00000000000..1c4bbb5cb3f --- /dev/null +++ b/stream/413948-nixos/topic/Zulip.20Nix.20packaging.html @@ -0,0 +1,45 @@ + +Zulip Nix packaging · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: Zulip Nix packaging

+ +
+ + + + + + +

view this post on Zulip Srid (Nov 25 2023 at 15:59):

+

Welcome @Stephen

+

In regards to nixifying Zulip, it looks like this comment suggests that the upstream project (Zulip software) will need to clean up a bunch of things first,

+
+

Zulip was originally designed to take over the entire system, and the path to correcting that mistake has been very slow. [..] I believe the process of porting Zulip to Nix will force us to clean this all up, but it’s going to take a while.

+
+

(This was posted about 2 months ago)

+ + + + +

view this post on Zulip Srid (Nov 25 2023 at 16:01):

+

So I believe it will be a while before we get a Zulip module in NixOS

+ + + + +

view this post on Zulip Stephen (Nov 25 2023 at 16:01):

+

Srid said:

+
+

Welcome Stephen

+

In regards to nixifying Zulip, it looks this comment suggests that the upstream will need to clean up a bunch of things first,

+
+

Zulip was originally designed to take over the entire system, and the path to correcting that mistake has been very slow. [..] I believe the process of porting Zulip to Nix will force us to clean this all up, but it’s going to take a while.

+
+

(This was posted about 2 months ago)

+
+

At least it seems like it is on roadmap! Thank you @Srid. I am loving Nix haha.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/disko-install.html b/stream/413948-nixos/topic/disko-install.html new file mode 100644 index 00000000000..ac5475a3eb0 --- /dev/null +++ b/stream/413948-nixos/topic/disko-install.html @@ -0,0 +1,95 @@ + +disko-install · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: disko-install

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 26 2024 at 12:43):

+

May not be reliable yet; disko-install failed silently on first attempt:

+

image.png

+
+ + + + +

view this post on Zulip Srid (Mar 26 2024 at 12:44):

+

Wait, 137 is OOM

+ + + + +

view this post on Zulip Notification Bot (Mar 26 2024 at 12:45):

+

3 messages were moved here from #nixos > NixOS tutorial series by Srid.

+ + + + +

view this post on Zulip Srid (Mar 26 2024 at 13:01):

+

image.png

+
+ + + + +

view this post on Zulip Srid (Mar 26 2024 at 13:08):

+

PEBKAC (I didn't use sudo)

+ + + + +

view this post on Zulip Srid (Mar 26 2024 at 13:08):

+

Docs are here, btw: https://github.com/nix-community/disko/blob/master/docs/disko-install.md

+ + + + +

view this post on Zulip Srid (Mar 26 2024 at 13:19):

+

Got the install to work, but this warning:

+

image.png

+

Just using:

+
          boot.loader = {
+            systemd-boot.enable = true;
+            efi.canTouchEfiVariables = true;
+            /* grub = {
+              efiSupport = true;
+              efiInstallAsRemovable = true;
+            }; */
+          };
+
+ + + + +

view this post on Zulip Srid (Mar 26 2024 at 13:29):

+

https://github.com/NixOS/nixpkgs/issues/279362

+ + + + +

view this post on Zulip Srid (Mar 26 2024 at 13:39):

+

Success!

+

(At least on Parallels VM)

+

https://github.com/nixos-asia/website/pull/33

+ + + + +

view this post on Zulip Shivaraj B H (Mar 26 2024 at 16:44):

+

The warning is due to systemd boot, is it? what’s the problem with grub?

+ + + + +

view this post on Zulip Srid (Mar 26 2024 at 16:47):

+

IIRC, with grub it wasn't even booting (Parallels VM; goes to BIOS straight), but I haven't really debugged that any further.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/nixos-unified.html b/stream/413948-nixos/topic/nixos-unified.html new file mode 100644 index 00000000000..6373783f24c --- /dev/null +++ b/stream/413948-nixos/topic/nixos-unified.html @@ -0,0 +1,20 @@ + +nixos-unified · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: nixos-unified

+ +
+ + + + + + +

view this post on Zulip Srid (Oct 04 2024 at 22:08):

+

NixOS / nix-darwin and home-manager template all in one:

+

https://github.com/juspay/nixos-unified-template

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/sdn.20router.20using.20NixOS.20microvm.html b/stream/413948-nixos/topic/sdn.20router.20using.20NixOS.20microvm.html new file mode 100644 index 00000000000..8e259b8a332 --- /dev/null +++ b/stream/413948-nixos/topic/sdn.20router.20using.20NixOS.20microvm.html @@ -0,0 +1,33 @@ + +sdn router using NixOS microvm · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: sdn router using NixOS microvm

+ +
+ + + + + + +

view this post on Zulip Tim DeHerrera (Feb 05 2024 at 20:24):

+

In case anyone is interested I thought I'd share how I was able to setup a virtual router using a NixOS microvm on my build server using cloud-hypervisor. It's really quite nice, considering that most commercial routers are woefully underpowered. At some point it might be nice to try and use the XDP in eBPF to handle the firewall as efficiently as possible, but honestly this is working pretty well as is:
+https://github.com/nrdxp/nrdos/commit/68d2d0e7b30d8dff5c2b58e3e4f6eebed74f170f

+ + + + +

view this post on Zulip Shivaraj B H (Feb 06 2024 at 03:50):

+

Thanks for sharing, was meaning to try this in the past, but never got time. This makes it easier!

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 06 2024 at 20:46):

+

yeah only thing not working atm is local dns resolution. I'll probably try to work that out soon, I'm sure I missed something simple. Even so, I mostly rely on nebula for private network communication so its not urgent for me.

+

Also, I don't expose any ports to the outside world or even respond to pings.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/secrets.2Fpassword.20management.html b/stream/413948-nixos/topic/secrets.2Fpassword.20management.html new file mode 100644 index 00000000000..8803001799f --- /dev/null +++ b/stream/413948-nixos/topic/secrets.2Fpassword.20management.html @@ -0,0 +1,141 @@ + +secrets/password management · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: secrets/password management

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Mar 17 2024 at 15:00):

+

I am having a tough time choosing a secrets/password manager. If I want to manage secrets, something like sops or age or git-crypt should work well, but I am not super happy using it as I want a solution that works out to be both my password manager (on mobile and browser) and secrets manager.

+

I spent quite some time researching for the ideal tool, came across hashicorp vault, bitwarden secrets manager (this works out well as I already self-host vaultwarden, but unlike the password manager, this is proprietary). To be honest, all these solutions seem bloated to me.

+

Password/secrets management should not be this hard, and today I came across this simple tool that helps manage passwords with minimal dependencies: https://git.zx2c4.com/password-store/about/. There is a problem though, for every new machine that I deploy, I will have to setup the GPG keys for the first time. I know gpg-agent exists, but if it has to get authorised to decrypt from a central server, you will again need ssh agent forwarding for this.

+

I don’t think I am ready to maintain another GPG key now, I would like to just use my SSH key to encrypt the password/secrets file in git tracked repo and the hosts I deploy on can use ssh-agent to be authorised to decrypt these files on startup and place them in files with proper user and group permissions. And I am sure using user and group permissions, we can achieve secrets management for large organisations, where different subset of users have permissions to access different keys.

+

I am trying to solve the following problems with a simple secrets/password manager:

+
    +
  • SSH key to encrypt/decrypt the secrets/password
  • +
  • use ssh-agent to authorise any device that would like to decrypt the secrets: We already know SSH protocol is secure, why not then use it instead of using something like mTLS that most password managers use to securely transfer the password.
  • +
  • configure user/group permissions to the secrets/password file.
  • +
+ + + + +

view this post on Zulip Shivaraj B H (Mar 17 2024 at 15:02):

+

There might be flaws in the idea, so I would like some feedback.

+

Also, I will be using this topic to keep track of my progress.

+ + + + +

view this post on Zulip Shivaraj B H (Mar 17 2024 at 15:03):

+

If I am going in the right direction, I would like to spend some time over weekends trying to build the tool that satisfies the points above

+ + + + +

view this post on Zulip Srid (Mar 17 2024 at 15:24):

+

Looks like an interesting project indeed, I may consider using it even.

+

Are you looking to design something that is cross-platform (eg: on nix-darwin) or just NixOS?

+ + + + +

view this post on Zulip Shivaraj B H (Mar 17 2024 at 15:30):

+

cross-platform, yes!

+ + + + +

view this post on Zulip Shivaraj B H (Mar 17 2024 at 15:35):

+

Also in the future maybe re-use existing clients of password-store to also build android, IoS and desktop clients to completely replace even bitwarden/vaultwarden. Perhaps I could just use dioxus to build these clients?

+ + + + +

view this post on Zulip Srid (Mar 17 2024 at 15:35):

+

I have used pass in the past. https://srid.ca/pass

+

But https://github.com/serokell/vault-secrets looks interesting, I may play with it via https://github.com/1Password/vault-plugin-secrets-onepassword since I already use 1Password.

+ + + + +

view this post on Zulip Shivaraj B H (Mar 17 2024 at 15:48):

+

https://github.com/serokell/vault-secrets also came up while I was looking, but again its tied to an organisation, they might end up doing something like bitwarden did with bitwarden secrets manager, which is fine if you think about the business aspects. And also vault is only for secrets.

+

I just think that this problem should be solved effectively in the simplest way possible and be fully open.

+ + + + +

view this post on Zulip Shivaraj B H (Mar 17 2024 at 15:48):

+

Another thing I don’t like about hashicorp vault is that their tutorial is completely focused on specific cloud providers, which I understand is because of how the industry functions, but I would have liked if they had tutorials for native setup and configuration.

+ + + + +

view this post on Zulip Tim DeHerrera (Mar 17 2024 at 22:23):

+

I still use pass for account passwords at least, and currently rely on colmena to place secrets completely outside of nox evaluation. Mostly from one of my few pass repos.

+

Although it's still not super ideal, it's good enough not to bother with it for me ATM. I have thought about this problem for a while though. At work we used to use vault to distribute secrets throughout the cluster but it's a bit overkill for my little lab network I think

+ + + + +

view this post on Zulip Srid (Jun 19 2024 at 15:09):

+

agenix

+

Surprised to see this never came up. Better than sops-nix in some respects (nix-darwin support; direct use of SSH keys and very simple).

+

There's also a Rust variant: https://github.com/yaxitech/ragenix

+ + + + +

view this post on Zulip Andreas (Jun 19 2024 at 17:31):

+

I mean yeah, if you go with age as a backend anyways, it's a decent alternative to sops-nix I guess.

+ + + + +

view this post on Zulip John Bargman (Jul 06 2024 at 07:22):

+

Actually, may I suggest Secrix https://github.com/Platonic-Systems/secrix

+

It's a home-brew solution made by a college of mine, usage is amazingly clear in my opinon:
+Here is an example of me using it for NextCloud.

+

https://github.com/DarthPJB/NixOS-Configuration/blob/4595f79f7b771c14ea1c43e16b5d179a6ddd4c32/server_services/nextcloud.nix#L7

+ + + + +

view this post on Zulip Andreas (Jul 06 2024 at 08:32):

+

interesting, so many more solutions :smile:

+ + + + +

view this post on Zulip Andreas (Jul 06 2024 at 08:32):

+

what's the advantage over agenix over sops-nix?

+ + + + +

view this post on Zulip Srid (Jul 06 2024 at 15:27):

+

John Bargman said:

+
+

may I suggest Secrix

+
+

Does it work on macOS?

+ + + + +

view this post on Zulip Srid (Jul 06 2024 at 15:28):

+
+

All secrets are stored in virtual memory and do not end up on disk.

+
+

What do you do after a reboot? Re-deploy (nixos-rebuild switch)?

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/services.2Eself-deploy.html b/stream/413948-nixos/topic/services.2Eself-deploy.html new file mode 100644 index 00000000000..827d8d0f1da --- /dev/null +++ b/stream/413948-nixos/topic/services.2Eself-deploy.html @@ -0,0 +1,21 @@ + +services.self-deploy · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: services.self-deploy

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 19 2024 at 17:24):

+

TIL of services.self-deploy but there are hardly any docs for it.

+

image.png

+

https://discourse.nixos.org/t/how-to-use-services-self-deploy/20696

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413948-nixos/topic/stream.20events.html b/stream/413948-nixos/topic/stream.20events.html new file mode 100644 index 00000000000..fe42949e3d9 --- /dev/null +++ b/stream/413948-nixos/topic/stream.20events.html @@ -0,0 +1,22 @@ + +stream events · nixos · Zulip Chat Archive +

Stream: nixos

+

Topic: stream events

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Nov 22 2023 at 13:34):

+

Web-public stream created by Srid. Description:

+
+

Discussions about NixOS

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413949-haskell-flake/index.html b/stream/413949-haskell-flake/index.html new file mode 100644 index 00000000000..6256d5bdef3 --- /dev/null +++ b/stream/413949-haskell-flake/index.html @@ -0,0 +1,30 @@ + +Zulip Chat Archive +

Stream: haskell-flake

+
+ +

Topics:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413949-haskell-flake/topic/.60custom.60.20setting.20stopped.20working.html b/stream/413949-haskell-flake/topic/.60custom.60.20setting.20stopped.20working.html new file mode 100644 index 00000000000..338857109b8 --- /dev/null +++ b/stream/413949-haskell-flake/topic/.60custom.60.20setting.20stopped.20working.html @@ -0,0 +1,195 @@ + +`custom` setting stopped working · haskell-flake · Zulip Chat Archive +

Stream: haskell-flake

+

Topic: `custom` setting stopped working

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 27 2024 at 19:48):

+

Introduced by https://github.com/srid/haskell-flake/pull/253

+ + + + +

view this post on Zulip Srid (Mar 27 2024 at 19:51):

+

Tangentially related: https://github.com/srid/haskell-flake/issues/192

+

But now that we have otherOverlays I wonder if I should just get rid of custom.

+ + + + +

view this post on Zulip Srid (Mar 27 2024 at 20:03):

+

Ordering is the issue

+

I can confirm that the order in which settings are applied is the issue. If I rename custom to A_custom, it works. This suggests that custom doesn't work because it comes after buildFromSdist in alphabetical order.

+ + + + +

view this post on Zulip Srid (Mar 27 2024 at 20:08):

+

Srid said:

+
+

Tangentially related: https://github.com/srid/haskell-flake/issues/192

+

But now that we have otherOverlays I wonder if I should just get rid of custom.

+
+

Hmm, we can't do that, because overlays don't compose when import'ing.

+ + + + +

view this post on Zulip Srid (Mar 27 2024 at 20:11):

+

Here's an idea: provide two settings:

+
    +
  • settings.<name>.init : drv: assigns the initial value before settings are applied
  • +
  • settings.<name>.final : drv -> drv: transforms the final drv after the other settings are applied.
  • +
+ + + + +

view this post on Zulip Srid (Mar 27 2024 at 20:28):

+

Proposal for fix

+

https://github.com/srid/haskell-flake/issues/283

+

Need :eyes: and ideas from people.

+ + + + +

view this post on Zulip Srid (Mar 27 2024 at 20:49):

+

Or,

+
    +
  • settings.<name>.custom.initial
  • +
  • settings.<name>.custom.final
  • +
+ + + + +

view this post on Zulip Srid (Mar 28 2024 at 14:54):

+

Or,

+
    +
  • packages.<name>.drv (computed from source automatically, by default)
  • +
  • settings.<name>.custom (applies at the end, after other settings)
  • +
+ + + + +

view this post on Zulip Srid (Mar 28 2024 at 14:56):

+

Incidentally, I began thinking about why we even need separate packages and settings option groups. Like, why not this:

+
{
+  packages = {
+    hello_rust.drv = self'.packages.hello_rust
+    myhaskell.source = ./haskell;
+    myhaskell.setting.libraryProfiling = true;
+    aeson.source = "1.5.0";
+  };
+}
+
+ + + + +

view this post on Zulip Shivaraj B H (Mar 28 2024 at 15:31):

+

This is nice, keeps all the info about a package in one-place.

+ + + + +

view this post on Zulip Srid (Mar 28 2024 at 15:33):

+

Will be a big ass refactoring, will try from Australia next week.

+ + + + +

view this post on Zulip Srid (Mar 28 2024 at 15:34):

+

Since this bug affects only non-existent packages, it is not high prio to fix I guess.

+ + + + +

view this post on Zulip Shivaraj B H (Mar 28 2024 at 15:48):

+

I could add the <package-name>.drv feature for non-existent packages, which shouldn’t be hard to do and not break anything

+ + + + +

view this post on Zulip Shivaraj B H (Mar 28 2024 at 15:50):

+

Will help publish this tutorial soon: https://github.com/nixos-asia/website/pull/24

+ + + + +

view this post on Zulip Srid (Mar 28 2024 at 15:55):

+

Shivaraj B H said:

+
+

I could add the <package-name>.drv feature for non-existent packages, which shouldn’t be hard to do and not break anything

+
+

Feel free to give it a try.

+ + + + +

view this post on Zulip Srid (Mar 28 2024 at 18:55):

+

Turns out we can fix this particular bug without implementing this proposal (which should be good on its own merits, though):

+

https://github.com/srid/haskell-flake/pull/284

+ + + + +

view this post on Zulip Srid (Mar 28 2024 at 19:02):

+
srid on appreciate haskell-rust-ffi-template on  master [⇣]
+❯ g log -1
+commit 1038ca8a87aae4e448bbd7ea6e1c41ee4e7acb2d (HEAD -> master)
+Author: Shivaraj B H <sbh69840@gmail.com>
+Date:   Wed Mar 27 15:04:33 2024 +0530
+
+    ci: upgrade nixci
+
+srid on appreciate haskell-rust-ffi-template on  master [⇣]
+❯ nix build --override-input haskell-flake github:srid/haskell-flake/settings-null --show-trace
+warning: not writing modified lock file of flake 'git+file:///Users/srid/code/haskell-rust-ffi-template':
+• Updated input 'haskell-flake':
+    'github:srid/haskell-flake/f9d17c3aa68e65529f424816c8b9346ae602d1de' (2024-02-06)
+  → 'github:srid/haskell-flake/d6a9187919cbf087b99d88d154086a20fc1b72f1' (2024-03-28)
+
+srid on appreciate haskell-rust-ffi-template on  master [⇣] took 5s
+❯
+
+ + + + +

view this post on Zulip Notification Bot (Apr 02 2024 at 08:05):

+

Shivaraj B H has marked this topic as unresolved.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 02 2024 at 08:06):

+

seems like it is broken again: https://github.com/srid/haskell-flake/issues/283#issuecomment-2031339304

+ + + + +

view this post on Zulip Srid (Apr 03 2024 at 06:29):

+

Does this fix it?

+

https://github.com/srid/haskell-flake/pull/298

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 06:41):

+

Yes, it does.

+

here’s what I tried:

+
nix build github:shivaraj-bh/haskell-rust-ffi-template --override-input haskell-flake github:srid/haskell-flake/e20cdd30ad9201bedc4977fa55f7a4765d6a56ac
+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413949-haskell-flake/topic/.60globalSettings.60.20is.20for.20which.20package.3F.html b/stream/413949-haskell-flake/topic/.60globalSettings.60.20is.20for.20which.20package.3F.html new file mode 100644 index 00000000000..02c9afafe1c --- /dev/null +++ b/stream/413949-haskell-flake/topic/.60globalSettings.60.20is.20for.20which.20package.3F.html @@ -0,0 +1,127 @@ + +`globalSettings` is for which package? · haskell-flake · Zulip Chat Archive +

Stream: haskell-flake

+

Topic: `globalSettings` is for which package?

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Mar 01 2024 at 12:02):

+

Does globalSettings apply to all the packages in basePackages?

+ + + + +

view this post on Zulip Srid (Mar 01 2024 at 12:21):

+

No, just the ones specified in packages attrset.

+ + + + +

view this post on Zulip Srid (Mar 01 2024 at 12:21):

+

It is badly named. Certainly not 'global'.

+ + + + +

view this post on Zulip Shivaraj B H (Mar 01 2024 at 12:22):

+

Can be fixed along with this: https://github.com/srid/haskell-flake/issues/261

+ + + + +

view this post on Zulip Srid (Mar 01 2024 at 12:24):

+

Srid said:

+
+

No, just the ones specified in packages attrset.

+
+

Wait. Hmm. Let's confirm that first. Because line 83 here suggests it only applies if you have settings.<foo>.

+ + + + +

view this post on Zulip Srid (Mar 01 2024 at 12:25):

+

Jesus, that code (I've written) is not super clear to read. :face_palm:

+ + + + +

view this post on Zulip Shivaraj B H (Mar 01 2024 at 12:29):

+

Srid said:

+
+

Srid said:

+
+

No, just the ones specified in packages attrset.

+
+

Wait. Hmm. Let's confirm that first. Because line 83 here suggests it only applies if you have settings.<foo>.

+
+

This is probably the case

+ + + + +

view this post on Zulip Shivaraj B H (Mar 01 2024 at 12:31):

+

shouldn’t it mapAttrs on config.packages and use config.settings.${name} to get the mod for a given package

+ + + + +

view this post on Zulip Srid (Mar 01 2024 at 12:32):

+

There can be a case where you have a package in settings attrset, but not in packages.

+ + + + +

view this post on Zulip Shivaraj B H (Mar 01 2024 at 12:33):

+

Also, when we introduce different settings default here, we might need a way to test if the setting is actually applied.

+ + + + +

view this post on Zulip Srid (Mar 01 2024 at 12:33):

+

Right. We want to add a dedicated test/??? for this, to check all cases.

+ + + + +

view this post on Zulip Srid (Mar 01 2024 at 12:34):

+

Incidentally, as of yesterday, haskell-flake master uses Nix (flake checks) for tests. No more bash scripts. https://twitter.com/sridca/status/1763528379188265314

+

example/flake.nix, test/*/flake.nix are all candidates for defining these tests.

+ + + + +

view this post on Zulip Shivaraj B H (Mar 01 2024 at 12:34):

+

Srid said:

+
+

There can be a case where you have a package in settings attrset, but not in packages.

+
+

Right, so merging the attribute names looks like what we need

+ + + + +

view this post on Zulip Srid (Mar 01 2024 at 12:35):

+

Possibly. In any case, having clear tests cases should also be self-documenting in a way.

+ + + + +

view this post on Zulip Srid (Mar 01 2024 at 12:35):

+

And allow us to freely refactor things without fear of breaking semantics (because the tests, which encode these semantics, will catch them).

+ + + + +

view this post on Zulip Srid (Mar 01 2024 at 16:25):

+

FYI: https://github.com/srid/haskell-flake/commit/307961a20136dd75b761fa0e47b947a6fed757a8

+

haskellProjectTests is pretty nascent right now, but we can improve it to accommodate our future tests.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413949-haskell-flake/topic/.E2.9C.94.20.60custom.60.20setting.20stopped.20working.html b/stream/413949-haskell-flake/topic/.E2.9C.94.20.60custom.60.20setting.20stopped.20working.html new file mode 100644 index 00000000000..c1b48fcc1e3 --- /dev/null +++ b/stream/413949-haskell-flake/topic/.E2.9C.94.20.60custom.60.20setting.20stopped.20working.html @@ -0,0 +1,19 @@ + +✔ `custom` setting stopped working · haskell-flake · Zulip Chat Archive +

Stream: haskell-flake

+

Topic: ✔ `custom` setting stopped working

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Mar 29 2024 at 05:13):

+

Shivaraj B H has marked this topic as resolved.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413949-haskell-flake/topic/.E2.9C.94.200.2E5.2E0.20plan.html b/stream/413949-haskell-flake/topic/.E2.9C.94.200.2E5.2E0.20plan.html new file mode 100644 index 00000000000..8194b88f637 --- /dev/null +++ b/stream/413949-haskell-flake/topic/.E2.9C.94.200.2E5.2E0.20plan.html @@ -0,0 +1,25 @@ + +✔ 0.5.0 plan · haskell-flake · Zulip Chat Archive +

Stream: haskell-flake

+

Topic: ✔ 0.5.0 plan

+ +
+ + + + + + +

view this post on Zulip Srid (Jun 24 2024 at 17:24):

+

Releaased and announced.

+ + + + +

view this post on Zulip Notification Bot (Jun 24 2024 at 17:27):

+

Srid has marked this topic as resolved.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413949-haskell-flake/topic/0.2E5.2E0.20plan.html b/stream/413949-haskell-flake/topic/0.2E5.2E0.20plan.html new file mode 100644 index 00000000000..9517cd28d31 --- /dev/null +++ b/stream/413949-haskell-flake/topic/0.2E5.2E0.20plan.html @@ -0,0 +1,67 @@ + +0.5.0 plan · haskell-flake · Zulip Chat Archive +

Stream: haskell-flake

+

Topic: 0.5.0 plan

+ +
+ + + + + + +

view this post on Zulip Srid (Feb 24 2024 at 13:49):

+

Mainly I want to tighten up docs & stability of this thing.

+

Let me know if anything else should go into this release.

+

https://github.com/srid/haskell-flake/milestone/1

+

Will aim to release something in a week or two.

+ + + + +

view this post on Zulip Srid (Mar 01 2024 at 12:43):

+

I guess we'll add https://github.com/srid/haskell-flake/issues/261 to this release.

+ + + + +

view this post on Zulip Srid (Mar 27 2024 at 14:23):

+

Pending PRs for 0.5:

+ + + + + +

view this post on Zulip Srid (Mar 27 2024 at 14:26):

+

Oh, and I should give https://github.com/srid/haskell-flake/issues/262 another attempt as well

+ + + + +

view this post on Zulip Srid (Mar 27 2024 at 17:56):

+

Also this:

+

Srid said:

+
+

I'll take a look later today. Actually, this may be related to the ordering of settings,

+

https://github.com/srid/haskell-flake/blob/b5bfa21723e55590e92f4896d7bc3ad212cf425a/nix/modules/project/settings/default.nix#L76-L77

+
+ + + + +

view this post on Zulip Shivaraj B H (Apr 18 2024 at 13:45):

+

#275 is close to being complete, here are the tests: https://github.com/srid/haskell-flake/pull/275#issuecomment-2063903367

+ + + + +

view this post on Zulip Shivaraj B H (Apr 18 2024 at 14:00):

+

documentation should be last thing to do. Also, need to rethink the naming conventions for the defaults

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413949-haskell-flake/topic/Can.E2.80.99t.20assign.20custom.20library.20packages.20in.20settings.html b/stream/413949-haskell-flake/topic/Can.E2.80.99t.20assign.20custom.20library.20packages.20in.20settings.html new file mode 100644 index 00000000000..2e3e948eac1 --- /dev/null +++ b/stream/413949-haskell-flake/topic/Can.E2.80.99t.20assign.20custom.20library.20packages.20in.20settings.html @@ -0,0 +1,55 @@ + +Can’t assign custom library packages in settings · haskell-flake · Zulip Chat Archive +

Stream: haskell-flake

+

Topic: Can’t assign custom library packages in settings

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Mar 27 2024 at 17:52):

+

I have a reproducer:

+

clone this repo: https://github.com/shivaraj-bh/haskell-rust-ffi-template/tree/master

+
nix develop
+just run
+
+

Now, update haskell-flake nix flake lock —update-input haskell-flake and it fails with (while trying to enter the devshell):

+
error: attribute 'hello_rust' missing
+
+

Which is a setting : https://github.com/shivaraj-bh/haskell-rust-ffi-template/blob/1038ca8a87aae4e448bbd7ea6e1c41ee4e7acb2d/haskell/default.nix#L6-L8

+ + + + +

view this post on Zulip Srid (Mar 27 2024 at 17:56):

+

I'll take a look later today. Actually, this may be related to the ordering of settings,

+

https://github.com/srid/haskell-flake/blob/b5bfa21723e55590e92f4896d7bc3ad212cf425a/nix/modules/project/settings/default.nix#L76-L77

+ + + + +

view this post on Zulip Srid (Mar 27 2024 at 19:44):

+

FTR,

+
• Updated input 'haskell-flake':
+    'github:srid/haskell-flake/f9d17c3aa68e65529f424816c8b9346ae602d1de' (2024-02-06)
+  → 'github:srid/haskell-flake/5dcb739e9cc4e0edf5267de665fa7a905a543baa' (2024-03-27)
+
+

nixci build =>

+
       error: attribute 'hello_rust' missing
+
+       at /nix/store/lz0159maimglzlpd6gmn0f02047mmih0-source/nix/modules/project/settings/default.nix:75:20:
+
+           74|           in
+           75|           lib.pipe super.${name} (
+             |                    ^
+           76|             # TODO: Do we care about the *order* of overrides?
+Error: devour-flake failed to run (exited: 1)
+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413949-haskell-flake/topic/Compilation.20fails.20when.20embedding.20files.20using.20TH.html b/stream/413949-haskell-flake/topic/Compilation.20fails.20when.20embedding.20files.20using.20TH.html new file mode 100644 index 00000000000..b09a1095d03 --- /dev/null +++ b/stream/413949-haskell-flake/topic/Compilation.20fails.20when.20embedding.20files.20using.20TH.html @@ -0,0 +1,110 @@ + +Compilation fails when embedding files using TH · haskell-flake · Zulip Chat Archive +

Stream: haskell-flake

+

Topic: Compilation fails when embedding files using TH

+ +
+ + + + + + +

view this post on Zulip Jkru (Apr 09 2024 at 15:59):

+

Hi, first off, thanks for creating haskell-flake! It got me up and running with Haskell quickly.

+

I'm trying to deploy a Haskell project to a NixOS server and compilation fails when trying to embed files using template Haskell:

+
src/Settings.hs:139:23: error: [GHC-87897]
+    • Exception when trying to run compile-time code:
+        config/settings.yml: withBinaryFile: does not exist (No such file or directory)
+      Code: (embedFile configSettingsYml)
+    • In the untyped splice: $(embedFile configSettingsYml)
+    |
+139 | configSettingsYmlBS = $(embedFile configSettingsYml)
+    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+[12 of 54] Compiling TodoBundleName   ( src/TodoBundleName.hs, dist/build/TodoBundleName.o, dist/build/TodoBundleName.dyn_o )
+[13 of 54] Compiling TodoName         ( src/TodoName.hs, dist/build/TodoName.o, dist/build/TodoName.dyn_o )
+[14 of 54] Compiling TodoStatus       ( src/TodoStatus.hs, dist/build/TodoStatus.o, dist/build/TodoStatus.dyn_o )
+[15 of 54] Compiling TransferFeePaidBy ( src/TransferFeePaidBy.hs, dist/build/TransferFeePaidBy.o, dist/build/TransferFeePaidBy.dyn_o )
+[16 of 54] Compiling Model            ( src/Model.hs, dist/build/Model.o, dist/build/Model.dyn_o )
+
+src/Model.hs:64:3: error: [GHC-87897]
+    • Exception when trying to run compile-time code:
+        config/models.persistentmodels: withBinaryFile: does not exist (No such file or directory)
+      Code: (persistFileWith
+               lowerCaseSettings "config/models.persistentmodels")
+    • In the untyped splice:
+        $(persistFileWith
+            lowerCaseSettings "config/models.persistentmodels")
+   |
+64 |   $(persistFileWith lowerCaseSettings "config/models.persistentmodels")
+   |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+

The project compiles on my NixOS development machine using the devShell but the error occurs when deploying to a server running NixOS.

+

The files exist in the project, are checked in to the repo, and our old deployment pipeline using Docker works so I think I've made some mistake when setting it up using haskell-flake.

+

Do I have to whitelist these files to be part of the build or so? I tried reading up on it but am too new to Nix to understand.

+

Here's the flake.nix:

+
{
+  inputs = {
+    nixpkgs.url = "github:nixos/nixpkgs/f373ad52f1fa4187abeb7d1ce1056314bcbc9980";
+    flake-parts.url = "github:hercules-ci/flake-parts";
+    haskell-flake.url = "github:srid/haskell-flake";
+  };
+  outputs = inputs@{ self, nixpkgs, flake-parts, ... }:
+    flake-parts.lib.mkFlake { inherit inputs; } {
+      systems = nixpkgs.lib.systems.flakeExposed;
+      imports = [ inputs.haskell-flake.flakeModule ];
+      perSystem = { self', system, lib, config, pkgs, ... }: {
+        haskellProjects.default = {
+          basePackages = pkgs.haskell.packages.ghc982;
+
+          # Want to override dependencies?
+          # See https://haskell.flake.page/dependency
+          settings = {
+            slugify.check = false;
+            sendgrid-v3.check = false;
+            fast-logger.check = false;
+          };
+
+          devShell = {
+            hlsCheck.enable = false;
+          };
+
+          autoWire = [ "packages" "apps" "checks" ]; # Wire all but the devShell
+        };
+
+        packages.default = self'.packages.internal-hs;
+        # apps.default = self'.apps.internal-hs;
+
+        devShells.default = pkgs.mkShell {
+          name = "Haskell devShell";
+          inputsFrom = [
+            config.haskellProjects.default.outputs.devShell
+          ];
+          nativeBuildInputs = with pkgs; [
+            watchexec
+            pcre
+            zlib
+          ];
+        };
+      };
+    };
+}
+
+ + + + +

view this post on Zulip Srid (Apr 09 2024 at 21:54):

+

Welcome, @Jkru

+

Did you include config/models.persistentmodels in Cabal's data-files?

+ + + + +

view this post on Zulip Jkru (Apr 13 2024 at 16:05):

+

Thank you, that solved the issue!

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413949-haskell-flake/topic/Documentation.20updates.html b/stream/413949-haskell-flake/topic/Documentation.20updates.html new file mode 100644 index 00000000000..08bc32b1a6b --- /dev/null +++ b/stream/413949-haskell-flake/topic/Documentation.20updates.html @@ -0,0 +1,23 @@ + +Documentation updates · haskell-flake · Zulip Chat Archive +

Stream: haskell-flake

+

Topic: Documentation updates

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 14 2024 at 13:07):

+

Added two new pages,

+ + + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413949-haskell-flake/topic/Failed.20to.20parse.20.60cabal.2Eproject.60.html b/stream/413949-haskell-flake/topic/Failed.20to.20parse.20.60cabal.2Eproject.60.html new file mode 100644 index 00000000000..837d428f942 --- /dev/null +++ b/stream/413949-haskell-flake/topic/Failed.20to.20parse.20.60cabal.2Eproject.60.html @@ -0,0 +1,87 @@ + +Failed to parse `cabal.project` · haskell-flake · Zulip Chat Archive +

Stream: haskell-flake

+

Topic: Failed to parse `cabal.project`

+ +
+ + + + + + +

view this post on Zulip Neeraj (Feb 20 2024 at 10:03):

+

Failed to parse /nix/store/hk9ikz0hwh3swvqmcwmgcr5dxw1f736p-source/cabal.project: {"type":"error","value":{"context":"parsec.string","msg":"expected string 'packages:'","offset":0,"str":"-- Generated by stackage-to-hackage
+with-compiler: ghc-8.10.7 .......
+Sample cabal.project

+
-- Generated by stackage-to-hackage
+
+with-compiler: ghc-8.10.7
+
+packages:
+    ./
+
+source-repository-package
+    type: git
+    location: https://github.com/aravindgopall/hsaml2.git
+    tag: d4ecf51a0bf3733eb1ff8724a691b0200b3355ee
+
+allow-older: *
+allow-newer: *
+
+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 12:00):

+

@Neeraj The cabal.project parser is pretty limited.

+

Move packages: to the first line, and see if that works.

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 12:01):

+

And it will only recognizes packages, not others. You have to specify them in Nix.

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 12:03):

+

The first two lines should look like:

+
❯ head -n 2 cabal.project
+packages:
+    ./
+
+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 12:04):

+

Srid said:

+
+

And it will only recognizes packages, not others. You have to specify them in Nix.

+
+

For eg., source-repository-package should be specified as flake inputs and used as a dependency override. See https://community.flake.parts/haskell-flake/dependency#path

+ + + + +

view this post on Zulip Srid (Feb 21 2024 at 12:44):

+

(Oops, I realized I linked to haskell-flake docs but of course you'd use the same callCabal2nix function to specify these source-repository-package using flake inputs)

+ + + + +

view this post on Zulip Neeraj (Feb 22 2024 at 08:26):

+

How to exclude cabal.project so that nix will not parse it?

+ + + + +

view this post on Zulip Neeraj (Feb 22 2024 at 08:46):

+

got it. Using nix-filter solved it

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413949-haskell-flake/topic/Missing.20gettext.html b/stream/413949-haskell-flake/topic/Missing.20gettext.html new file mode 100644 index 00000000000..f0ba40d3fbe --- /dev/null +++ b/stream/413949-haskell-flake/topic/Missing.20gettext.html @@ -0,0 +1,47 @@ + +Missing gettext · haskell-flake · Zulip Chat Archive +

Stream: haskell-flake

+

Topic: Missing gettext

+ +
+ + + + + + +

view this post on Zulip Aman Singh (Apr 08 2024 at 12:35):

+

Getting this error while building a haskell flake.
+error: opening file '/nix/store/nks5377mygc1srxld9l9dmjg32lrpmf0-gettext-0.21.1.drv': No such file or directory

+

The path to derivation shown via nix repl is different that this error despite both having the same version (0.21.1).

+
nix-repl> pkgs = legacyPackages.x86_64-darwin
+nix-repl> pkgs.gettext
+«derivation /nix/store/4a6rg76h6gwnvqhpvd8hkd4nq3jg3f7h-gettext-0.21.1.drv»
+
+

gettext is installed via home-manager and homebrew.
+What can be done to identify why is the required derivation different from what's present in nixpkgs-unstable. I have checked all flakes couldn't find any reference regarding this package.

+

Another observation: This flake was building last Friday (5/5/24), I believe I haven't changes anything since then.
+Let me know what other information I can provide.

+ + + + +

view this post on Zulip Andreas (Apr 08 2024 at 13:04):

+

I am not the big Haskell guy sadly, but I hope someone will get back to you quickly :smile:

+ + + + +

view this post on Zulip Aman Singh (Apr 08 2024 at 16:01):

+

It's alright. @Srid will able to help me out here.

+ + + + +

view this post on Zulip Srid (Apr 08 2024 at 20:11):

+

@Aman Singh This may be relevant: https://discourse.nixos.org/t/how-to-get-a-missing-drv-file-for-a-derivation-from-nixpkgs/2300/13

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413949-haskell-flake/topic/Non-standard.20package.20set.html b/stream/413949-haskell-flake/topic/Non-standard.20package.20set.html new file mode 100644 index 00000000000..09e5168fdfc --- /dev/null +++ b/stream/413949-haskell-flake/topic/Non-standard.20package.20set.html @@ -0,0 +1,32 @@ + +Non-standard package set · haskell-flake · Zulip Chat Archive +

Stream: haskell-flake

+

Topic: Non-standard package set

+ +
+ + + + + + +

view this post on Zulip Srid (Feb 11 2024 at 07:43):

+

haskell-flake uses the nixpkgs Haskell package set by default. But if anybody wants to use alternative package sets, like the Horizon package set by @locallycompact (which also supports newer GHC versions), follow the #horizon-haskell stream.

+

See this post for introduction: https://nixos.zulipchat.com/#narrow/stream/424491-horizon-haskell/topic/Introduction.20To.20Horizon.20Haskell/near/420618968

+ + + + +

view this post on Zulip Srid (Feb 11 2024 at 07:44):

+

Horizon supports Linux only at the moment. But @locallycompact is working on adding macOS support including CI and cache.

+ + + + +

view this post on Zulip Srid (Mar 01 2024 at 12:46):

+

macOS is now supported: https://github.com/srid/haskell-template/pull/123

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413949-haskell-flake/topic/OOM.20during.20compilation.3F.html b/stream/413949-haskell-flake/topic/OOM.20during.20compilation.3F.html new file mode 100644 index 00000000000..1071659074c --- /dev/null +++ b/stream/413949-haskell-flake/topic/OOM.20during.20compilation.3F.html @@ -0,0 +1,89 @@ + +OOM during compilation? · haskell-flake · Zulip Chat Archive +

Stream: haskell-flake

+

Topic: OOM during compilation?

+ +
+ + + + + + +

view this post on Zulip JamesM (Jul 03 2024 at 12:27):

+

My builds are failing and it seems to be because cabal builds multiple packages in parallel and runs out of memory. I've had this issue before when using Docker and solved it by passing -j1 to cabal build. How do I do the same using haskell-flake?

+

I tried sprinkling extraBuildFlags with "-j1" everywhere to see if it'd have an effect, but it seems it does not. I'm new to nix and haskell-flake so I'm sure I'm using it incorrectly.

+

How would I pass a "global" cabal build flag like this?

+

Here's my flake:

+
{
+  inputs = {
+    nixpkgs.url = "github:nixos//nixpkgs/00d80d13810dbfea8ab4ed1009b09100cca86ba8";
+    flake-parts.url = "github:hercules-ci/flake-parts";
+    haskell-flake.url = "github:srid/haskell-flake";
+  };
+  outputs = inputs@{ self, nixpkgs, flake-parts, ... }:
+    flake-parts.lib.mkFlake { inherit inputs; } {
+      systems = nixpkgs.lib.systems.flakeExposed;
+      imports = [ inputs.haskell-flake.flakeModule ];
+      perSystem = { self', system, lib, config, pkgs, ... }: {
+        haskellProjects.default = {
+          basePackages = pkgs.haskell.packages.ghc982;
+
+          settings = {
+            all.extraBuildFlags = [ "-j1" ];
+            overall.extraBuildFlags = [ "-j1" ];
+          };
+
+          devShell = {
+            hlsCheck.enable = false;
+          };
+
+          defaults.settings.default = {
+            check = false;
+            extraBuildFlags = [ "-j1" ];
+          };
+
+          autoWire = [ "packages" ];
+        };
+
+        packages.default = self'.packages.overall;
+
+        devShells.default = pkgs.mkShell {
+          name = "Haskell devShell";
+          inputsFrom = [
+            config.haskellProjects.default.outputs.devShell
+          ];
+          nativeBuildInputs = with pkgs; [
+          ];
+        };
+      };
+    };
+}
+
+ + + + +

view this post on Zulip Srid (Jul 03 2024 at 14:26):

+
          settings = {
+            all.extraBuildFlags = [ "-j1" ];
+            overall.extraBuildFlags = [ "-j1" ];
+          };
+
+

What's all and overall? Are you using latest haskell-flake?

+ + + + +

view this post on Zulip Srid (Jul 03 2024 at 14:28):

+
          defaults.settings.default = {
+            check = false;
+            extraBuildFlags = [ "-j1" ];
+          };
+
+

In recent haskell-flake, this should be defaults.settings.local

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413949-haskell-flake/topic/Removing.20IFD.html b/stream/413949-haskell-flake/topic/Removing.20IFD.html new file mode 100644 index 00000000000..0d51066fb1c --- /dev/null +++ b/stream/413949-haskell-flake/topic/Removing.20IFD.html @@ -0,0 +1,90 @@ + +Removing IFD · haskell-flake · Zulip Chat Archive +

Stream: haskell-flake

+

Topic: Removing IFD

+ +
+ + + + + + +

view this post on Zulip Srid (Dec 05 2023 at 14:47):

+

@Aravind Gopal opened https://github.com/srid/haskell-flake/pull/204 which removes the need for IFD in local packages.

+

But IFD is still used in dependency overrides; for eg., packages.foo.source will use IFD, via callCabal2nix or callHackage. The open question here is: how do we solve it?

+

cc @Shivaraj B H

+ + + + +

view this post on Zulip Srid (Dec 05 2023 at 14:52):

+

We may have to borrow some ideas from https://horizon-haskell.net/

+ + + + +

view this post on Zulip Srid (Dec 11 2023 at 15:31):

+

From @Aravind Gopal

+
+

maintaining package sets seems like the only possible way for this.

+

which is same as in horizon-haskell.

+
+

Hmm, I'll take a look at this as a next project. Ideally we want to define package sets in Nix expressions itself, and stick close to nixpkgs (unlike horizon).

+ + + + +

view this post on Zulip Srid (Jan 09 2024 at 06:23):

+

Here's one way to solve this: https://github.com/srid/haskell-flake/pull/204#pullrequestreview-1809771568

+

Summary: copy over the hackage2nix/ callCabal2nix generated default.nix to a directory, and have the developer commit that to Git.

+ + + + +

view this post on Zulip Srid (Jan 09 2024 at 06:24):

+

It looks like this (note: we overrode relude to test dependency override),

+

image.png

+
❯ cat .haskellSrc2nix/haskell-template.nix
+{ mkDerivation, aeson, async, base, data-default, directory
+, filepath, lib, mtl, optics-core, profunctors, relude, shower
+, time, with-utf8
+}:
+mkDerivation {
+  pname = "haskell-template";
+  version = "0.1.0.0";
+  src = /nix/store/51shzaxpi2abz3hfp4q05kcd1lls0lba-source;
+  isLibrary = false;
+  isExecutable = true;
+  executableHaskellDepends = [
+    aeson async base data-default directory filepath mtl optics-core
+    profunctors relude shower time with-utf8
+  ];
+  homepage = "https://srid.ca/haskell-template";
+  description = "A template for Haskell projects using Nix";
+  license = lib.licenses.mit;
+  mainProgram = "haskell-template";
+}
+
+

But as you can see that hardcoded src = /nix/store/51shzaxpi2abz3hfp4q05kcd1lls0lba-source; is problematic. Looks like we have to do some hacky patching of this generated nix to have the src point back to the actual path.

+ + + + +

view this post on Zulip Shivaraj B H (Jan 09 2024 at 06:33):

+
+

Looks like we have to do some hacky patching of this generated nix to have the src point back to the actual path.

+
+

AFAIR calling cabal2nix executable results in a relative path rather than a path linking to the /nix/store for local packages.

+ + + + +

view this post on Zulip Srid (Jan 09 2024 at 07:04):

+

But note we are using callCabal2nix which passes nix store paths,

+

cf. src in https://github.com/NixOS/nixpkgs/blob/6a9382b8d1d9531be1a2fd611f3f91f30fb38678/pkgs/development/haskell-modules/make-package-set.nix#L140

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413949-haskell-flake/topic/Using.20horizon.20package.20set.20with.20haskell-flake.html b/stream/413949-haskell-flake/topic/Using.20horizon.20package.20set.20with.20haskell-flake.html new file mode 100644 index 00000000000..6ee2d9dfdfa --- /dev/null +++ b/stream/413949-haskell-flake/topic/Using.20horizon.20package.20set.20with.20haskell-flake.html @@ -0,0 +1,55 @@ + +Using horizon package set with haskell-flake · haskell-flake · Zulip Chat Archive +

Stream: haskell-flake

+

Topic: Using horizon package set with haskell-flake

+ +
+ + + + + + +

view this post on Zulip Srid (Jan 17 2024 at 13:01):

+

After talking to @locallycompact , it seems that using horizon-haskell package set with haskell-flake is a matter of setting basePackages.

+

Though there are some issues to iron out. /thread for it.

+ + + + +

view this post on Zulip Srid (Jan 17 2024 at 13:02):

+
+

locallycompact Can we factor out cabalSdist and use it from another location?

+
+

What do you mean?

+

It is used here, btw. Line 15 and 42.

+ + + + +

view this post on Zulip Srid (Jan 17 2024 at 13:04):

+

One thing we should do is allow the user to disable the use of cabalSdist (toggle on/off module option).

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 10:07):

+

@locallycompact Could you try https://github.com/srid/haskell-flake/pull/220 and see if that works?

+ + + + +

view this post on Zulip Srid (Feb 01 2024 at 03:25):

+

https://github.com/srid/haskell-flake/pull/221 in fact

+ + + + +

view this post on Zulip Srid (Feb 07 2024 at 07:02):

+

Proof of concept that works on Linux (not yet on macOS), thanks to @locallycompact

+

https://github.com/srid/haskell-template/pull/123

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413949-haskell-flake/topic/cabal-install.20ignoring.20user.27s.20package.20set.html b/stream/413949-haskell-flake/topic/cabal-install.20ignoring.20user.27s.20package.20set.html new file mode 100644 index 00000000000..74a6581b2d2 --- /dev/null +++ b/stream/413949-haskell-flake/topic/cabal-install.20ignoring.20user.27s.20package.20set.html @@ -0,0 +1,512 @@ + +cabal-install ignoring user's package set · haskell-flake · Zulip Chat Archive +

Stream: haskell-flake

+

Topic: cabal-install ignoring user's package set

+ +
+ + + + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:11):

+

@Srid I am trying to build https://hackage.haskell.org/package/rings on GHC 9.8.1, I have a flake set up with haskell-flake. I am trying to get singleton-bool (used in the test suite of lukko, a dependency of hackage-security) to be version 0.1.7 (Hackage latest). but no matter what I do, including using jailbreak = true for lukko, overriding the source of singleton-bool to be either github master or hackage 0.1.7, or check = false for lukko to avoid building the test suite altogether, my build fails building singleton-bool-0.1.6

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:17):

+

flake.nix
+here is the flake I'm using

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:18):

+

I can't figure out why version 0.1.6 is getting built at all, but nix-output-monitor shows it as a dependency of lukko

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:19):

+

I know just enough nix to get myself into trouble, so I'm having trouble digging deeper into what's going on

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:24):

+

Can you paste the build log?

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:24):

+

sure, is there a way to make a collapsible text snippet in zulip?

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:25):

+

Yes, via spoilers: https://zulip.com/help/format-your-message-using-markdown#spoilers

+

But you can use regular Markdown code blocks as well

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:26):

+

build.log
+I'll just do it as a file

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:27):

+

Is that full build log? Can you paste the entire output of nix develop -L or nix build -L?

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:28):

+

it's pretty close. let's try a spoiler block

+
+

nix build -L

+
+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:29):

+

I can do nom build if you want to see the graph I was looking at

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:30):

+

This one's better as it gives you a package stacktrace. Look at the last few lines:

+
    +
  • singleton-bool
  • +
  • lukko
  • +
  • cabal-install
  • +
+

In your flake, if you set lukka.check = false; it should disable building singleton-bool (assuming that's its test dependency)

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:30):

+

The flake you attached above only sets lukko.jailbreak

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:30):

+

(All jailbreak does is make cabal disrespect the version constraints in dependencies)

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:31):

+

yes -- same error when setting lukko.check = false as I mentioned in the first message

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:31):

+

Are you sure it is the exact same log lines as well (not just same error message)?

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:32):

+

My guess is something else depends on singleton-bool, and you'll see this in the nix build log

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:32):

+

no, I'm not sure, here is the output with lukko.check set to false

+
+

nix build -L

+
+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:32):

+

to me it still looked as if it's due to lukko

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:34):

+

Why are you jailbreaking cabal-install btw?

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:34):

+

just another random thing I tried at some point

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:35):

+

All of this happening as a result of overriding cabal-install as that. If you don't know why you did it, just remove it and try again.

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:35):

+

I did remove it, it looks like the same problem

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:35):

+

Logs?

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:35):

+
+

nix build -L (without cabal overridden)

+
+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:36):

+

Is this something I can reproduce locally on my machine?

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:37):

+

I would hope so, that is the idea of nix, right? :) I can send you my flake.lock, I just have the flake files inside my local checkout of rings with no other changes
+flake.nix
+flake.lock

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:37):

+

A minimal repro as git repo would be nice

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:38):

+

OK I can make my own copy of rings and add those files if that is that much easier

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:41):

+

https://github.com/peddie/rings branch flake

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:41):

+

On macOS or Linux?

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:41):

+

linux

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:47):

+

It is building the world ...

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:48):

+

that seems like the normal process for using nix, so I'll interpret that as a good thing

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:48):

+

nixos cache caches only pkgs.haskellPackages I think

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:48):

+

thanks for taking a look. I hope it's not something dumb caused by my lack of nix knowledge

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:49):

+

By the way, @locallycompact is working on Horizon Haskell which provides package sets with caching, but there's one minor issue to resolve first: https://nixos.zulipchat.com/#narrow/stream/413949-haskell-flake/topic/Using.20horizon.20package.20set.20with.20haskell-flake

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:49):

+

Matt Peddie said:

+
+

thanks for taking a look. I hope it's not something dumb caused by my lack of nix knowledge

+
+

We are actually writing a tutorial series to introduce Haskellers to Nix:

+

https://nixos.asia/en/nixify-haskell

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:50):

+

Srid said:

+
+

nixos cache caches only pkgs.haskellPackages I think

+
+

ah, damn, OK. I have a big remote builder under my desk and occasionally try to use CUDA with nix, so I long ago gave up paying attention to whether and how the caches were working

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:50):

+

(on top of the Nix series)

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:50):

+

Alright, your repo failed on Linux for me with a different error:

+

image.png

+
+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:50):

+

very cool about the tutorial! I'll give it a read. I already appreciated your good haskell-flake docs many times

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:51):

+

I haven't seen that error. what happened to reproducibility?

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:51):

+

That ^ was the result of running nix develop -L.

+

Let me try nix build -L now.

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:51):

+

the shell builds more packages than the package, necessarily. like HLS

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:52):

+

Okay, I see it now:
+image.png

+
+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:52):

+

I am guessing HLS doesn't work with 9.8.1 yet, or at least requires significant tweaking (in my experience it's a miracle when HLS runs OK)

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:53):

+

right so singleton-bool-0.1.7 has those upper version bounds relaxed and I think should work, but I can't figure out why the package set contains singleton-bool-0.1.6 at all . . .

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:54):

+

Regarding jailbreaking finite-typelits, you probably need latest anyway: https://github.com/mniip/finite-typelits/commit/03600fbac084e6bc6b95957665d6ceedb3722358

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:55):

+

But it is just test change, so we can check=false it

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:55):

+

thanks for the tip, I'll just get that from git then

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:58):

+

I see what's happening. @Matt Peddie Try the no-fromSdist branch of haskell-flake for now.

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:58):

+

And looks like we need to do this after all:

+

Srid said:

+
+

One thing we should do is allow the user to disable the use of cabalSdist (toggle on/off module option).

+
+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 05:59):

+

trying now. what exactly is going on, if you don't mind? how did, for example, disabling lukko tests not solve the problem?

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 05:59):

+

cc @Robert Hensing - looks like our use of fromSdist is building its own cabal-install ignoring what's in the user's package set. Which was causing this problem.

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 06:00):

+

This ^ was going on I think. I'll file an issue on github.

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 06:01):

+

cool, I appreciate you taking the time for this. keep up the good work on haskell-flake. I look forward to learning to wield it more effectively from your tutorials

+ + + + +

view this post on Zulip Srid (Jan 31 2024 at 10:07):

+

@Matt Peddie Can you let me know if https://github.com/srid/haskell-flake/pull/220 fixes it?

+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 22:23):

+

trying it now, but I'm not quite sure from looking at the patch and the discussion for which component I should be setting this new flag. cabal-install? at a meta-level, this confusion may be supporting evidence for

+
+

Because these kinds of issues are not straightforward to debug without knowledge of the nixpkgs Haskell infrastructure.

+
+ + + + +

view this post on Zulip Matt Peddie (Jan 31 2024 at 22:44):

+

https://github.com/srid/haskell-flake/pull/221 seems to work OK, though

+ + + + +

view this post on Zulip Srid (Feb 01 2024 at 03:25):

+

Matt Peddie said:

+
+

https://github.com/srid/haskell-flake/pull/221 seems to work OK, though

+
+

Awesome, we are planning to merge 221 only (not 220).

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413949-haskell-flake/topic/haskell-language-server.20dropped.20support.20for.20ghc.208.2E10.html b/stream/413949-haskell-flake/topic/haskell-language-server.20dropped.20support.20for.20ghc.208.2E10.html new file mode 100644 index 00000000000..e134ec2aa5a --- /dev/null +++ b/stream/413949-haskell-flake/topic/haskell-language-server.20dropped.20support.20for.20ghc.208.2E10.html @@ -0,0 +1,36 @@ + +haskell-language-server dropped support for ghc 8.10 · haskell-flake · Zulip Chat Archive +

Stream: haskell-flake

+

Topic: haskell-language-server dropped support for ghc 8.10

+ +
+ + + + + + +

view this post on Zulip Neeraj (Feb 22 2024 at 09:42):

+

failed with

+
error: haskell-language-server dropped support for ghc 8.10 in version 2.3.0.0
+please use a newer ghc version or an older nixpkgs version
+
+ + + + +

view this post on Zulip Srid (Feb 22 2024 at 10:33):

+

You may have to downgrade your nixpkgs then.

+

Try perhaps 96ba1c52e54e74c3197f4d43026b3f3d92e83ff9 from when nammayatri was using it before this PR:

+

https://github.com/nammayatri/common/pull/18/files#diff-216b2b7bfde9416c79d133bacb031e95702a20bdedb548c0b055c837aa4f6a9c

+ + + + +

view this post on Zulip Srid (Feb 22 2024 at 10:33):

+

nixpkgs.url = "github:nixos/nixpkgs/96ba1c52e54e74c3197f4d43026b3f3d92e83ff9

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413949-haskell-flake/topic/stream.20events.html b/stream/413949-haskell-flake/topic/stream.20events.html new file mode 100644 index 00000000000..2ce696ebb87 --- /dev/null +++ b/stream/413949-haskell-flake/topic/stream.20events.html @@ -0,0 +1,22 @@ + +stream events · haskell-flake · Zulip Chat Archive +

Stream: haskell-flake

+

Topic: stream events

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Nov 22 2023 at 13:37):

+

Web-public stream created by Srid. Description:

+
+

Discussions about https://github.com/srid/haskell-flake

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413949-haskell-flake/topic/what.20is.20.60toDefinedProject.60.3F.html b/stream/413949-haskell-flake/topic/what.20is.20.60toDefinedProject.60.3F.html new file mode 100644 index 00000000000..0143ed62306 --- /dev/null +++ b/stream/413949-haskell-flake/topic/what.20is.20.60toDefinedProject.60.3F.html @@ -0,0 +1,54 @@ + +what is `toDefinedProject`? · haskell-flake · Zulip Chat Archive +

Stream: haskell-flake

+

Topic: what is `toDefinedProject`?

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Mar 13 2024 at 13:13):

+

As far as I can see, both local.toCurrentProject and local.toDefinedProject call the same function, only at different times. But I don’t seem to wrap my head around when toDefinedProject must be true.
+In my observation, it is true when a haskell package gets its source from inputs but it is not from cabal.project (which makes it non-local).

+ + + + +

view this post on Zulip Shivaraj B H (Mar 13 2024 at 13:14):

+

when would this information be useful?

+ + + + +

view this post on Zulip Shivaraj B H (Mar 13 2024 at 14:04):

+

Maybe now I get it, toDefinedProject is true if a project that you are importing is also defined using haskell-flake.

+ + + + +

view this post on Zulip Srid (Mar 13 2024 at 14:37):

+

@Shivaraj B H They are described in the option docs here

+ + + + +

view this post on Zulip Srid (Mar 13 2024 at 14:37):

+

(But they are not visible in https://flake.parts/options/haskell-flake due to https://github.com/srid/haskell-flake/issues/272 )

+ + + + +

view this post on Zulip Srid (Mar 13 2024 at 14:38):

+

Srid said:

+
+

Shivaraj B H They are described in the option docs here

+
+

Feel free to improve the description if you think that will be more clear.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/index.html b/stream/413950-nix/index.html new file mode 100644 index 00000000000..55d376b5225 --- /dev/null +++ b/stream/413950-nix/index.html @@ -0,0 +1,87 @@ + +Zulip Chat Archive +

Stream: nix

+
+ +

Topics:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/.60CHANGELOG.60.20auto.20update.20on.20Github.html b/stream/413950-nix/topic/.60CHANGELOG.60.20auto.20update.20on.20Github.html new file mode 100644 index 00000000000..e328f6a4869 --- /dev/null +++ b/stream/413950-nix/topic/.60CHANGELOG.60.20auto.20update.20on.20Github.html @@ -0,0 +1,22 @@ + +`CHANGELOG` auto update on Github · nix · Zulip Chat Archive +

Stream: nix

+

Topic: `CHANGELOG` auto update on Github

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (May 28 2024 at 11:39):

+

Inspired by https://nixos.zulipchat.com/#narrow/stream/413950-nix/topic/.60flake.2Elock.60.20auto-merge.20on.20GitHub/near/440720675

+

I created a Github Actions configuration to auto update CHANGELOG in services-flake.

+

configuration file: https://github.com/juspay/services-flake/blob/4dbb54612363a95dfa7d47750702664f1f3f1d9f/.github/workflows/update-changelog.yaml

+

PR triggered using the configuration above: https://github.com/juspay/services-flake/pull/202

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/.60flake.2Elock.60.20auto-merge.20on.20GitHub.html b/stream/413950-nix/topic/.60flake.2Elock.60.20auto-merge.20on.20GitHub.html new file mode 100644 index 00000000000..e6a2b0fc91c --- /dev/null +++ b/stream/413950-nix/topic/.60flake.2Elock.60.20auto-merge.20on.20GitHub.html @@ -0,0 +1,112 @@ + +`flake.lock` auto-merge on GitHub · nix · Zulip Chat Archive +

Stream: nix

+

Topic: `flake.lock` auto-merge on GitHub

+ +
+ + + + + + +

view this post on Zulip Srid (May 26 2024 at 15:26):

+

@Shivaraj B H https://github.com/DeterminateSystems/update-flake-lock/issues/89#issuecomment-1994167887

+ + + + +

view this post on Zulip Shivaraj B H (May 27 2024 at 18:47):

+

I tried it out here: https://github.com/shivaraj-bh/services-flake/pull/14

+

This is the action configuration: https://github.com/shivaraj-bh/services-flake/blob/main/.github/workflows/update-flake-lock-ex-simple.yaml

+

If we use a github app, we wouldn’t have to manually trigger the CI workflow. How about creating a nixos.asia github app for automated tasks?

+ + + + +

view this post on Zulip Srid (May 27 2024 at 18:49):

+

Shivaraj B H said:

+
+

How about creating a nixos.asia github app for automated tasks?

+
+

Sure. As you are an owner, you should have rights to create it.

+

By the way, take notes - so we can publish a tutorial on #website

+ + + + +

view this post on Zulip Srid (May 27 2024 at 18:49):

+

(Or pass those notes to me here, so I can test it -- say for haskell-flake -- and create a formal tutorial)

+ + + + +

view this post on Zulip Shivaraj B H (May 28 2024 at 07:40):

+

Created the Github App: https://github.com/apps/nixos-asia

+ + + + +

view this post on Zulip Shivaraj B H (May 28 2024 at 08:15):

+

Notes

+

Create the Github App

+
    +
  • Under Developer Settings -> New Github App
  • +
  • Only two mandatory fields: Name and Homepage URL. Webhook URL is not needed if active checkbox above it is unchecked.
  • +
  • Read and Write access to Pull Request and Contents under Repository Permissions
  • +
  • Before clicking on create the app, select Any Account (if that’s your req.) under Where can this Github App be installed?
  • +
  • And voila, you have the Github App.
  • +
  • You should be redirected to the app’s settings page, where you can scroll down to Generate a Private Key, this key will be downloaded to your device.
  • +
+

Install the App and configure secrets

+
    +
  • On the same settings page, you will find Install App, go ahead and install it on your repository.
  • +
  • Under the repository settings, go over to the Secrets and Variables -> Actions.
  • +
  • Create a new secret, I call it NIXOS_ASIA_PRIVATE_KEY
  • +
  • Create a new variable, I call it NIXOS_ASIA_APP_ID
  • +
+

Use the App in your CI workflow
+See example: https://github.com/juspay/services-flake/commit/d6ed5ef580698b9f207e32813b476fc59942aaf8

+ + + + +

view this post on Zulip Shivaraj B H (May 28 2024 at 08:54):

+

And I manually triggered a workflow to see if it works and it did with no manual intervention: https://github.com/juspay/services-flake/pull/201

+ + + + +

view this post on Zulip Shivaraj B H (May 28 2024 at 09:37):

+

Another additional feature: Auto delete the branch after merge

+ + + + +

view this post on Zulip Shivaraj B H (May 28 2024 at 11:42):

+

Shivaraj B H said:

+
+

Another additional feature: Auto delete the branch after merge

+
+

Strange, that didn’t work here: https://github.com/juspay/services-flake/pull/202

+

But the Github documentation says that it should work:
+Screenshot-2024-05-28-at-5.12.17PM.png
+source: https://cli.github.com/manual/gh_pr_merge

+
+ + + + +

view this post on Zulip Shivaraj B H (May 28 2024 at 11:49):

+

Ah, the default GITHUB_TOKEN doesn’t have permission to delete a branch: https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token

+ + + + +

view this post on Zulip Shivaraj B H (May 28 2024 at 11:55):

+

Looks like the permission can be modified for a given job: https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/.E2.9C.94.20Accessing.20list.20items.20in.20Nix.html b/stream/413950-nix/topic/.E2.9C.94.20Accessing.20list.20items.20in.20Nix.html new file mode 100644 index 00000000000..10415bb96d5 --- /dev/null +++ b/stream/413950-nix/topic/.E2.9C.94.20Accessing.20list.20items.20in.20Nix.html @@ -0,0 +1,51 @@ + +✔ Accessing list items in Nix · nix · Zulip Chat Archive +

Stream: nix

+

Topic: ✔ Accessing list items in Nix

+ +
+ + + + + + +

view this post on Zulip Andreas (Jun 14 2024 at 13:45):

+

alright, so I might just map over the list then and get all the items (in my case it's a list of attribue sets and I need the attributes)?

+ + + + +

view this post on Zulip Andreas (Jun 14 2024 at 13:46):

+

it's just that i know in advance how many items there are going to be, so I didn't think of mapping immediately

+ + + + +

view this post on Zulip Andreas (Jun 14 2024 at 13:48):

+

okay so there is lib.lists.imap0 and lib.lists.imap1 and builtins.map... usually I'd just grab the last, but is there a major difference?

+ + + + +

view this post on Zulip Tim DeHerrera (Jun 14 2024 at 13:51):

+

Well what's the specific problem? Maybe I can give you a more specific example.

+

imap0 iterates a list with an additional index starting at 0, imap1 is same but starting at 1.

+

If you don't need an index to keep track of them map is fine, as is always in scope so you can just type map instead of builtins.map

+ + + + +

view this post on Zulip Andreas (Jun 14 2024 at 13:52):

+

I do think that answers the problem :smile:

+ + + + +

view this post on Zulip Notification Bot (Jun 14 2024 at 13:52):

+

Andreas has marked this topic as resolved.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/.E2.9C.94.20automatic.20gc.20in.20home-manager.html b/stream/413950-nix/topic/.E2.9C.94.20automatic.20gc.20in.20home-manager.html new file mode 100644 index 00000000000..89f365b0ee3 --- /dev/null +++ b/stream/413950-nix/topic/.E2.9C.94.20automatic.20gc.20in.20home-manager.html @@ -0,0 +1,124 @@ + +✔ automatic gc in home-manager · nix · Zulip Chat Archive +

Stream: nix

+

Topic: ✔ automatic gc in home-manager

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Jan 27 2024 at 02:51):

+

I am planning to add automatic gc to home-manager and in mac it would be via launchd, if you would like to try out launchd in your home-manager config, here’s a simple example:

+
{
+  launchd = {
+    enable = true;
+    agents = {
+     hello = {
+       enable = true;
+       config = {
+         ProgramArguments = [ "say" "hello" ];
+         StartCalendarInterval = [
+           {
+             Minute = 0;
+           }
+         ];
+       };
+     };
+    };
+  };
+}
+
+

This agent will say hello at 0th minute of every hour

+ + + + +

view this post on Zulip Shivaraj B H (Jan 28 2024 at 04:12):

+

I have an initial draft ready and has been tested on macOS:
+https://github.com/shivaraj-bh/home-manager/tree/nix-gc

+

Will test on linux before raising a PR

+ + + + +

view this post on Zulip Shivaraj B H (Jan 28 2024 at 04:16):

+

Try it out in your home-manager config:
+Add my home-manager flake to your inputs:

+
{
+  inputs.home-manager.url = github:shivaraj-bh/home-manager/nix-gc;
+}
+
+

Add the service:

+
{
+  services.nix-gc = {
+    enable = true;
+    frequency = monthly";
+  };
+}
+
+

To see the status of the agent, run:

+
launchctl print gui/501/org.nix-community.home.nix-gc
+
+

And to verify if it is working fine, you can kickstart the agent manually and check the logs in /tmp/nix-gc.log:

+
launchctl kickstart gui/501/org.nix-community.home.nix-gc
+tail /tmp/nix-gc.log
+
+

I will be removing the log file while raising a PR, this is just to debug.

+ + + + +

view this post on Zulip Srid (Jan 28 2024 at 09:57):

+

Tangential: https://github.com/LnL7/nix-darwin/issues/746

+ + + + +

view this post on Zulip Shivaraj B H (Jan 29 2024 at 05:05):

+

I have now changed the API to be same as nixos, enabling gc will look like:

+
{
+  nix.gc = {
+     automatic = true;
+     frequency = monthly;
+  };
+}
+
+

I have tested it on linux as well, this is how you can check the status of the systemd service on linux:

+
systemctl —user status nix-gc
+
+

—user is used because home-manager spawns up user units and not system units (as done by nixos module).

+

To manually trigger gc, run:

+
systemctl —user start nix-gc
+
+ + + + +

view this post on Zulip Shivaraj B H (Jan 29 2024 at 05:07):

+

Overall, it looks good to raise a PR and I am only worried about the convention to choose frequency option be an enum, which I think will be bought up in the PR discussion and we can resolve it then.

+ + + + +

view this post on Zulip Shivaraj B H (Jan 29 2024 at 13:12):

+

https://github.com/nix-community/home-manager/pull/4973

+ + + + +

view this post on Zulip Shivaraj B H (Feb 06 2024 at 04:16):

+

And it is merged! Also raised a PR to juspay/nix-dev-home to use it in the template.

+ + + + +

view this post on Zulip Notification Bot (Feb 06 2024 at 11:03):

+

Shivaraj B H has marked this topic as resolved.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/.E2.9C.94.20nix.20flake.20--init.20with.20template.20in.20private.20repo.3F.html b/stream/413950-nix/topic/.E2.9C.94.20nix.20flake.20--init.20with.20template.20in.20private.20repo.3F.html new file mode 100644 index 00000000000..1c06aa5705c --- /dev/null +++ b/stream/413950-nix/topic/.E2.9C.94.20nix.20flake.20--init.20with.20template.20in.20private.20repo.3F.html @@ -0,0 +1,31 @@ + +✔ nix flake --init with template in private repo? · nix · Zulip Chat Archive +

Stream: nix

+

Topic: ✔ nix flake --init with template in private repo?

+ +
+ + + + + + +

view this post on Zulip Tim DeHerrera (Apr 20 2024 at 18:26):

+

You can set the acess-tokens setting in the nix.conf to access private resources in general.

+ + + + +

view this post on Zulip Andreas (Apr 20 2024 at 18:27):

+

Awesome, thanks @Shivaraj B H and @Tim DeHerrera !

+ + + + +

view this post on Zulip Notification Bot (Apr 20 2024 at 18:27):

+

Andreas has marked this topic as resolved.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/1Password.20TouchID.20auth.20for.20git.2C.20ssh.2C.20etc.2E.html b/stream/413950-nix/topic/1Password.20TouchID.20auth.20for.20git.2C.20ssh.2C.20etc.2E.html new file mode 100644 index 00000000000..e055b18962f --- /dev/null +++ b/stream/413950-nix/topic/1Password.20TouchID.20auth.20for.20git.2C.20ssh.2C.20etc.2E.html @@ -0,0 +1,50 @@ + +1Password TouchID auth for git, ssh, etc. · nix · Zulip Chat Archive +

Stream: nix

+

Topic: 1Password TouchID auth for git, ssh, etc.

+ +
+ + + + + + +

view this post on Zulip Srid (Feb 13 2024 at 17:34):

+

You can configure home-manager ssh module to use local 1Password SSH agent socket, as well as forward this agent to external machines so that SSH-based operations (like git pull) on that external machine will use the local 1Password keys via TouchID!

+

This obviates from having to keep private ssh keys from external machines. Everything is managed locally on mac by 1Password.

+

https://github.com/srid/nixos-config/blob/master/home/ssh.nix

+

image.png

+
+ + + + +

view this post on Zulip Tim DeHerrera (Feb 13 2024 at 18:01):

+

I can already use the ssh key stored on my yubikey from remote hosts by passed the ssh -A option when connecting, which then forwards the key to the agent on the host I'm connecting to. What I'm lacking is passing through things like my GPG key or configured OTP keys for passwordless sudo, but only when yubi is available

+ + + + +

view this post on Zulip Srid (Feb 13 2024 at 18:02):

+

I want the same thing (sudo, etc.) but via 1Password.

+ + + + +

view this post on Zulip Srid (Feb 13 2024 at 18:03):

+

https://1password.community/discussion/128353/sudo-support

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 14 2024 at 00:21):

+

Actually I guess there is a protocol called usbip and someone wrote a perl script for something like what I'm after:
+https://github.com/turistu/usbip-ssh

+

However this script somewhat annoyingly is the reverse of what I'd like. It gives a client a way to expose a servers USB devices to the client. What I'd like is a way to forward the clients to the server so I can authenticate with the yubikey remotely.

+

I'm sure the script could be modified to do what I want though, I might have a crack at it later.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/2.20level.20deep.20packages.20in.20nix.20flakes.html b/stream/413950-nix/topic/2.20level.20deep.20packages.20in.20nix.20flakes.html new file mode 100644 index 00000000000..8f9eabced2a --- /dev/null +++ b/stream/413950-nix/topic/2.20level.20deep.20packages.20in.20nix.20flakes.html @@ -0,0 +1,103 @@ + +2 level deep packages in nix flakes · nix · Zulip Chat Archive +

Stream: nix

+

Topic: 2 level deep packages in nix flakes

+ +
+ + + + + + +

view this post on Zulip pcboy (Jan 04 2024 at 03:24):

+

Hello,

+

My ticket here got closed, which I understand. But now I wonder if there is any way to make it more flake compliant? I have no problem running my flake at the moment (only nix flake show gives a error: expected a derivation around the pythonPackages as it expects a derivation, but I can build packages fine).

+

Let me explain the background behind this. I'm in a situation where I sometimes have the same package name for a python library and for its associated CLI.
+So I want the CLI tool to stay in packages.${system}.* and the library to go in packages.${system}.pythonPackages.*.

+

What would be a better way to handle this? Should I have derivations with multiple outputs or something?

+

Note: I'm using flake-utils.lib.eachDefaultSystem, which is why you don't see the ${system} in the code pasted in the ticket.

+ + + + +

view this post on Zulip Shivaraj B H (Jan 04 2024 at 10:21):

+

Does your package build when you run nix build .#<package-name>?

+ + + + +

view this post on Zulip Shivaraj B H (Jan 04 2024 at 10:27):

+

From what I interpret from the logs, it looks more of a type issue which is breaking while devour-flake is trying to evaluate the derivation given by nix build .#default

+ + + + +

view this post on Zulip pcboy (Jan 04 2024 at 11:40):

+

Yes I have no problem building all my packages. But of course, doing nix build .\#pythonPackages will not work (as it's not a derivation), nix build.\#pythonPackages.package1 will work (as it's a derivation).
+What's happening, as far as I understand, is that devour-flake does not like the fact that packages.${system}.pythonPackages is not a derivation, because in a flake it seems it's not authorized/standard to have more than one level deep packages... This could I guess be solved if devour-flake had some sort of recursive way of finding derivations inside packages.**, instead it seems it stops at one level deep (e.g packages.${system}.app1). But at the same time I understand that devour-flake does not want to support something not deemed standard.
+Here what I'm wondering more then is what would be the recommend way?
+It seems in nixpkgs, they are putting the packages into legacyPackages instead of packages, and in there they do have multiple levels of packages. But devour-flake would not work with that either I suppose?

+

Here is a flake example of what I'm talking about:

+
{
+{
+  description = "A basic flake with a shell";
+  inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
+  inputs.flake-utils.url = "github:numtide/flake-utils";
+
+  outputs = {
+    nixpkgs,
+    flake-utils,
+    ...
+  }:
+    flake-utils.lib.eachDefaultSystem (system: let
+      pkgs = nixpkgs.legacyPackages.${system};
+    in {
+      packages.app1 = pkgs.stdenv.mkDerivation {
+        name = "app1";
+        src = pkgs.hello;
+        installPhase = "mkdir -p $out/bin && install -m755 $src/bin/hello $out/bin/hello";
+      };
+
+      packages.app2 = pkgs.stdenv.mkDerivation {
+        name = "app2";
+        src = pkgs.hello;
+        installPhase = "mkdir -p $out/bin && install -m755 $src/bin/hello $out/bin/hello";
+      };
+
+      packages.pythonPackages = {
+        app3 = pkgs.stdenv.mkDerivation {
+          name = "app3";
+          src = pkgs.hello;
+          installPhase = "mkdir -p $out/bin && install -m755 $src/bin/hello $out/bin/hello";
+        };
+      };
+    });
+}
+
+ + + + +

view this post on Zulip Srid (Jan 04 2024 at 13:09):

+
+

nix build.\#pythonPackages.package1 will work (as it's a derivation).

+
+

Ah, I understand the issue now. Interesting.

+ + + + +

view this post on Zulip Srid (Jan 04 2024 at 13:10):

+

@pcboy I think the solution here is to make devour-flake use flake-schemas. Basically this PR needs to be completed and merged: https://github.com/srid/devour-flake/pull/11

+ + + + +

view this post on Zulip Srid (Jan 04 2024 at 13:12):

+

Because, once we start using flake-schemas - if for some reason your flake doesn't adhere to the standard schema, you can always define your own schema, and devour-flake (thus nixci) can use that.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/ANN.3A.20nixci.html b/stream/413950-nix/topic/ANN.3A.20nixci.html new file mode 100644 index 00000000000..c992c91bb8c --- /dev/null +++ b/stream/413950-nix/topic/ANN.3A.20nixci.html @@ -0,0 +1,109 @@ + +ANN: nixci · nix · Zulip Chat Archive +

Stream: nix

+

Topic: ANN: nixci

+ +
+ + + + + + +

view this post on Zulip Srid (Apr 19 2024 at 02:03):

+

0.4.0 released!

+ +

@Shivaraj B H ^ another candidate for upstreaming to nixpkgs, if you would like to contribute a PR.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 19 2024 at 03:51):

+

https://github.com/NixOS/nixpkgs/pull/305222

+ + + + +

view this post on Zulip GuangTao Zhang (Apr 24 2024 at 06:40):

+

Did you test the latest version with the command as follows?

+
nixci build github:hercules-ci/hercules-ci-agent                                                                      │
+│🍏 github:hercules-ci/hercules-ci-agent                                                                                 │
+│🐚 nix --extra-experimental-features 'nix-command flakes' show-config --json                                            │
+│🐚 nix eval 'github:hercules-ci/hercules-ci-agent#nixci.default' --json                                                 │
+│🐚 nix eval --impure --json --expr 'builtins.getFlake "github:nix-systems/empty"'                                       │
+│🐚 nix eval --impure --json --expr 'import /nix/store/j0r8d7rdn4vrisl78v8ckl4hny4q9ipi-source'                          │
+│🐚 nix show-config --json                                                                                               │
+│🍎 default.<root>                                                                                                       │
+│🐚 nix flake lock --no-update-lock-file github:hercules-ci/hercules-ci-agent                                            │
+│🐚 nix build '/nix/store/p8vfkmfh43yy8lmz1r65dr9yq3ql7cd7-source#default' -L --no-link --print-out-paths --override-inpu│
+│t flake github:hercules-ci/hercules-ci-agent --override-input systems github:nix-systems/empty --refresh -j auto        │
+│• Updated input 'systems':                                                                                              │
+│    'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e?narHash=sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU│
+│309k9mBC768%3D' (2023-04-09)                                                                                            │
+│  → 'github:nix-systems/empty/23d743284b73ae69caf0cb7874edf05c0c631a1f?narHash=sha256-JeMK8G1oabQTSpqXhYaYtPRak4m6z1xxyR│
+│Kf8CvHy14%3D' (2024-02-23)                                                                                              │
+│error: flake 'path:/nix/store/p8vfkmfh43yy8lmz1r65dr9yq3ql7cd7-source' does not provide attribute 'packages.aarch64-darw│
+│in.default', 'legacyPackages.aarch64-darwin.default' or 'default'                                                       │
+│Error: devour-flake failed to run (exited: 1)
+
+ + + + +

view this post on Zulip Srid (Apr 24 2024 at 07:51):

+

@GuangTao Zhang How did you install nixci?

+ + + + +

view this post on Zulip Srid (Apr 24 2024 at 08:13):

+

I'm unable to reproduce your error using nix run github:srid/nixci build github:hercules-ci/hercules-ci-agent on NixOS.

+ + + + +

view this post on Zulip Srid (Apr 24 2024 at 08:14):

+

Ah, maybe the nixpkgs one is broken. Let me try ...

+ + + + +

view this post on Zulip Srid (Apr 24 2024 at 08:40):

+

Nope, still can't reproduce it.

+ + + + +

view this post on Zulip Srid (Apr 24 2024 at 08:41):

+

But, @Shivaraj B H, you want to update nixpkgs to use the same devour-flake rev, since it contains some fixes (like for building nixosConfigurations).

+

https://github.com/srid/nixci/blob/b247e765843762f708861ec2309ae8ca75c1de25/flake.lock#L40-L49

+ + + + +

view this post on Zulip Srid (Apr 24 2024 at 08:42):

+

May as well use this opportunity to add a comment next to the version field reminding contributors to update devour-flake when upgrading nixci.

+ + + + +

view this post on Zulip GuangTao Zhang (Apr 24 2024 at 20:14):

+

Srid said:

+
+

I'm unable to reproduce your error using nix run github:srid/nixci build github:hercules-ci/hercules-ci-agent on NixOS.

+
+

From the latest nixpkgs-unstable.Yeah, I can't reproduce the issue with the command you provided as well. It seems the problem appeared in the the upstream of nixpkgs (version 0.4.0)

+ + + + +

view this post on Zulip Srid (Apr 24 2024 at 22:43):

+

@Shivaraj B H Another idea: add some regression tests for nixci in nixpkgs itself. Not sure what that looks like, but I'm sure some packages must have tests. We only need to run nixci build on some known repos. But this can happen on separate PR.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Accessing.20list.20items.20in.20Nix.html b/stream/413950-nix/topic/Accessing.20list.20items.20in.20Nix.html new file mode 100644 index 00000000000..93b2c1d6735 --- /dev/null +++ b/stream/413950-nix/topic/Accessing.20list.20items.20in.20Nix.html @@ -0,0 +1,26 @@ + +Accessing list items in Nix · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Accessing list items in Nix

+ +
+ + + + + + +

view this post on Zulip Andreas (Jun 14 2024 at 13:33):

+

Noob question: Is there no easier way to access list items than builtins.elemAt supplied with list and position?

+

Attribute sets are somewhat easier to handle I feel.

+ + + + +

view this post on Zulip Tim DeHerrera (Jun 14 2024 at 13:45):

+

Usually you want to map over a list to do something with each item or fold it into a different data structure. Very rare that I need just a single item, but there is a lib function to access a list item based on equality somewhere iirc

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Add.20a.20flake.20input.20that.20doesn.E2.80.99t.20depend.20on.20external.20git.html b/stream/413950-nix/topic/Add.20a.20flake.20input.20that.20doesn.E2.80.99t.20depend.20on.20external.20git.html new file mode 100644 index 00000000000..ab91f675d99 --- /dev/null +++ b/stream/413950-nix/topic/Add.20a.20flake.20input.20that.20doesn.E2.80.99t.20depend.20on.20external.20git.html @@ -0,0 +1,39 @@ + +Add a flake input that doesn’t depend on external git · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Add a flake input that doesn’t depend on external git

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Mar 01 2024 at 11:08):

+

If I have to add a boolean flake input, it would look like: inputs.flag.url = “github:boolean-options/true”;. This depends on github, is there a way to add this input without this dependency?

+

Or is at a limitation of flake inputs that nix expressions can’t be flake inputs

+ + + + +

view this post on Zulip Srid (Mar 01 2024 at 12:32):

+

Inputs can't be arbitrary expressions: https://github.com/NixOS/nix/issues/5663

+

You can use path:./... to point local flake though. Not sure if the hash is consistent across systems (need to verify), because I remember inconsistency when using local relative flake inputs in the path.

+ + + + +

view this post on Zulip Tim DeHerrera (Mar 01 2024 at 17:11):

+

Not yet, but there really isn't a good reason in my view (if you look at the last comment on that ticket I elaborate on that a bit)

+ + + + +

view this post on Zulip Shivaraj B H (Mar 04 2024 at 07:40):

+

I was looking for this to use in an internal project at work because I was getting rate-limited in CI by github, failing the build. I ended up creating a subflake with true and false flake’s and I am accessing it in another flake with the ?dir=<subdir> URL syntax.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Becoming.20a.20package.20maintainer.html b/stream/413950-nix/topic/Becoming.20a.20package.20maintainer.html new file mode 100644 index 00000000000..4572de631d8 --- /dev/null +++ b/stream/413950-nix/topic/Becoming.20a.20package.20maintainer.html @@ -0,0 +1,34 @@ + +Becoming a package maintainer · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Becoming a package maintainer

+ +
+ + + + + + +

view this post on Zulip Srid (Nov 27 2023 at 14:12):

+

image.png

+

@Stephen AFAIU, you can just open a PR adding yourself, and asking the existing maintainer for review. A package can have more than one maintainer.

+ + + + +

view this post on Zulip Stephen (Nov 27 2023 at 14:18):

+

I noticed that yesterday after I asked the question haha. I didn't realize someone had already updated the cli, it is just available in unstable instead.

+ + + + +

view this post on Zulip Srid (Nov 27 2023 at 15:48):

+

I normally use nixpkgs-unstable for my project.

+

When you open PRs, you are going to be making it against the master branch anyway. So in this case you'd go directly to the file on the Git repo to see what version is current.

+

https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/rust/dioxus-cli/default.nix

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Cache.20config.20in.20.60nix.20run.60.20of.20flake.html b/stream/413950-nix/topic/Cache.20config.20in.20.60nix.20run.60.20of.20flake.html new file mode 100644 index 00000000000..5b966f94e27 --- /dev/null +++ b/stream/413950-nix/topic/Cache.20config.20in.20.60nix.20run.60.20of.20flake.html @@ -0,0 +1,107 @@ + +Cache config in `nix run` of flake · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Cache config in `nix run` of flake

+ +
+ + + + + + +

view this post on Zulip Srid (Feb 13 2024 at 14:57):

+

This convo with @Andreas began as a way to provide project-specific caches to users who are installing these Nix packages outside of nixpkgs.

+

One way to automate that providing of cache is to add the cache to flake.nix (see example), and then ask the user to use --accept-flake-config to automatically use that cache when doing nix run or nix profile install, eg.:

+
nix --accept-flake-config run github:juspay/nix-browser#nix-health
+
+ + + + +

view this post on Zulip Srid (Feb 13 2024 at 14:58):

+

If you run this command on macOS or Linux, it should just get binaries from the cache without building any of the Rust packages.

+ + + + +

view this post on Zulip Andreas (Feb 13 2024 at 15:07):

+

I get the error warning: ignoring untrusted substituter 'https://cache.garnix.io', you are not a trusted user.

+

Which apparently has been an issue: https://discourse.nixos.org/t/ux-problems-with-flakes-and-custom-caches-substituters/23691

+

So it appears I have to configure this cache as a trusted substituter before using this?

+ + + + +

view this post on Zulip Srid (Feb 13 2024 at 15:10):

+

You need to make yourself a trusted user.

+
srid on appreciate ~
+❯ nix show-config | grep trusted-users
+trusted-users = root srid
+
+srid on appreciate ~
+❯ grep trusted-users /etc/nix/nix.conf
+trusted-users = root srid
+
+ + + + +

view this post on Zulip Andreas (Feb 13 2024 at 15:16):

+

I'll set this in my system flake nix.settings.trusted-users and check later

+ + + + +

view this post on Zulip Srid (Feb 13 2024 at 15:20):

+

It is one of the defaults we recommend to all, https://github.com/juspay/nix-dev-home?tab=readme-ov-file#cannot-use-cache--cachix

+ + + + +

view this post on Zulip Andreas (Feb 13 2024 at 15:21):

+

Very wise suggestion I'd say. Also explains why I had trouble using other people's caches in the past when I didn't care to investigate.

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 13 2024 at 15:31):

+

you can also set a group to the trusted users by prepending with @. I usually just drop @wheel as a trusted user since they also have sudo access.

+

Also, even if you don't pass the --accept-flake-config flag, you will still be interactively prompted if you want to accept the cache config or not by default.

+ + + + +

view this post on Zulip Andreas (Feb 13 2024 at 16:04):

+

I just found this comment https://github.com/NixOS/nix/issues/6672#issuecomment-1920721589

+

Suggesting to use the trusted-public-keys and substituters or trusted-substituters setting instead because just adding your user is a bit of a security issue. What do you guys say to that?

+ + + + +

view this post on Zulip Srid (Feb 13 2024 at 16:16):

+

Depends on how you want to balance security vs usability.

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 13 2024 at 16:28):

+

Sure it is important to be aware that a trusted-user is essentially as powerful as root. Same issue as adding your user to the docker group as well. But multi-user systems are pretty rare these days. If you have one then sure, maybe you care more, but I am the admin in all my systems, and I get sudo based on the presence or absence of my yubikey where possible.

+

What I would really like is some sort of remote protocol for sending my yubikey creds over an ssh connection. For Nix, it might be interesting if someone could be a "trusted-user" based on the presence or absence of a yubikey OTP. That would really be an "improvement" in my view, but on single user systems where you are basically the only user and admin, the point is kinda moot.

+

Not being a trusted user just makes things more of a pain in the same way not having root on a smartphone can be a pain :sweat_smile:

+ + + + +

view this post on Zulip Srid (Feb 13 2024 at 17:34):

+

Tim DeHerrera said:

+
+

What I would really like is some sort of remote protocol for sending my yubikey creds over an ssh connection. [..]

+
+

I enjoy a similar UX for ssh-based auths (like git pull in a ssh session, which uses local Touch ID for 1Password key access):

+

https://nixos.zulipchat.com/#narrow/stream/413950-nix/topic/1Password.20TouchID.20auth.20for.20git.2C.20ssh.2C.20etc.2E

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Check.20whether.20generated.20code.20is.20in.20sync.html b/stream/413950-nix/topic/Check.20whether.20generated.20code.20is.20in.20sync.html new file mode 100644 index 00000000000..14f98ca1301 --- /dev/null +++ b/stream/413950-nix/topic/Check.20whether.20generated.20code.20is.20in.20sync.html @@ -0,0 +1,141 @@ + +Check whether generated code is in sync · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Check whether generated code is in sync

+ +
+ + + + + + +

view this post on Zulip Vijay Gupta (Dec 12 2023 at 12:44):

+

I have a Haskell project that uses nix.

+

We have a local cabal package take takes bunch of yaml files and generates Haskell code. Both the yaml file and generated code are checked into git. Anytime somebody changes the yaml files they must remember to regenerate the code. If they forgot to regenerate the code and thereby the yaml and Haskell code is out of sync then CI should fail accordingly.

+

The CI runs nix. How do we have this check in nix. We currently have a bash script that regenerates the code and looks for the diff.

+ + + + +

view this post on Zulip Vijay Gupta (Dec 12 2023 at 12:44):

+

https://github.com/nammayatri/nammayatri

+ + + + +

view this post on Zulip Vijay Gupta (Dec 12 2023 at 12:46):

+

This is my shell script

+
#!/bin/bash
+
+
+cabal run alchemist-generator-exe
+treefmt
+# This script checks if there are any changes in the src-read-only folder
+CHANGES_FOUND=false
+
+git diff --unified=0 -- | grep -E "^\\+\\+\\+|^@@" | while read -r line; do
+    file_path=$(grep -oP "^\\+\\+\\+ b/\K(.+)" <<< "$line")
+    if [[ $file_path == *"/src-read-only/"* ]]; then
+        git diff --unified=0 --relative="$file_path" | grep -E "^@@" | while read -r diff_line; do
+            line_number=$(grep -oP "@@\\s-\\d+(,\d+)?\\s+\\+\\K\d+" <<< "$diff_line")
+            echo $file_path:$line_number:"Changes found in src-read-only folder with diff line: $diff_line"
+            CHANGES_FOUND=true
+        done
+    fi
+done
+
+# git checkout -- .
+
+if [ "$CHANGES_FOUND" = true ]; then
+    exit 1
+else
+    exit 0
+
+fi
+
+ + + + +

view this post on Zulip Srid (Dec 12 2023 at 12:50):

+

You can use pre-commit to do this check. Flakes also has support for it.

+

In fact, the nammayatri repo already uses it for checking a similar thing (overlapping migrations), so you can use the same approach.

+ + + + +

view this post on Zulip Srid (Dec 12 2023 at 12:50):

+

Instead of using cabal run, however, you'd have to use the Nix package itself (lib.getExe self.packages.${pkgs.system}.alchemist-whatever).

+ + + + +

view this post on Zulip Srid (Dec 12 2023 at 13:03):

+

There's one limitation to be aware of with pre-commit-hooks.nix. There's no user-defined ordering yet; https://github.com/cachix/pre-commit-hooks.nix/issues/250

+ + + + +

view this post on Zulip Vijay Gupta (Dec 13 2023 at 09:44):

+

I am currently working on a pre-commit hook for this project to check diff, aiming to run both a package and a formatter in the same hook. However, I am encountering an issue where the formatter fails to run after the package execution.

+

Here's a snippet of the relevant configuration:

+
check-src-read-only-diff-check = {
+  enable = true;
+  name = "check-src-read-only-diff-check";
+  description = "Check that src-read-only folder is read-only";
+  types = [ "file" ];
+  pass_filenames = true;
+  files = ".*\\/((rider-platform\\/rider-app)|(provider-platform\\/dynamic-offer-driver-app))\\/Main\\/src-read-only\\/.*\\.hs$";
+  entry = "bash -c '${lib.getExe self'.packages.alchemist}' ; bash -c '${lib.getExe config.treefmt.programs.ormolu.package}'";
+};
+
+

The issue arises after the package execution, preventing the formatter from running successfully. Am i doing something wrong here ?

+

Any help or suggestions regarding the correct configuration or execution order would be greatly appreciated.

+ + + + +

view this post on Zulip Shivaraj B H (Dec 13 2023 at 09:51):

+

How did you confirm that the package is running? If it is running and the formatter is not, one possible explanation could be that your package might be a service that doesn't complete, is it?

+ + + + +

view this post on Zulip Vijay Gupta (Dec 13 2023 at 09:56):

+

Well package is supposed to generate the new unformatted files, which it is generating . Now the next thing i wanted was the formatter should format the files and after formatting if there are still new files in staged area i want the commit to be failed

+ + + + +

view this post on Zulip Shivaraj B H (Dec 13 2023 at 10:08):

+

let me put forward a scenario, let's assume you make changes to your yaml files, the .hs files for these changes are not generated yet.
+Now you proceed to commit these yaml files and when you do alchemist package and sequentially ormolu runs and generates formatted .hs files, these files will not match the already existing .hs files and the commit will fail.

+

The above mentioned is the ideal scenario and you are saying that alchemist is running, failing the commit, but the formatter is not running after alchemist? is my understanding here correct?

+ + + + +

view this post on Zulip Vijay Gupta (Dec 13 2023 at 10:29):

+

So what we do is, we first put some change in yaml file. After that we run the alchemist-generator which is nix command which generates and formats the code. We stage those changes i.e. yaml and newly generated file.
+Now, When I'm trying to commit i want the pre-commit to work in a such a way that It will first run the alchemist-generator which will generate the same code but it will be unformatted code.Hence, it will have diff between staged and newly code generated . Now my goal is to format those newly generated code by ormulo and after that as we haven't made any change
+all those files will be same as staged one and hence no file will be there in Unstaged area.
+I want my pre-commit to fail only if the staged code is different from the unstaged code generated during pre-commit.
+But with my pre-commit it's failing everytime as code is generated during pre-commit run but fails to format it.

+ + + + +

view this post on Zulip Vijay Gupta (Dec 13 2023 at 10:50):

+

to check if the formatter is working, I removed bash -c '${lib.getExe self'.packages.alchemist}' from the code and tried to format unformatted file using this hook. It didn't format those files.

+ + + + +

view this post on Zulip Shivaraj B H (Dec 13 2023 at 11:11):

+

If your formatter is not working, most probable culprit could be the regex you have to detect the files, assuming rest of the configuration is correct.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Conditional.20internal.20option.html b/stream/413950-nix/topic/Conditional.20internal.20option.html new file mode 100644 index 00000000000..4059a4de377 --- /dev/null +++ b/stream/413950-nix/topic/Conditional.20internal.20option.html @@ -0,0 +1,33 @@ + +Conditional internal option · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Conditional internal option

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Mar 27 2024 at 07:34):

+

I don’t think it is possible with the current library, but I do have a case where it could be useful.

+

In a recent change to services-flake, I made the default value for socketDir option as ”” and when it is an empty-string, I don’t want the users to refer to this config, it doesn’t make sense. It only makes sense to refer to it when it is non-empty.

+

Is there a better way I can implement this? or is it a problem worth being solved upstream?

+ + + + +

view this post on Zulip Srid (Mar 27 2024 at 12:47):

+

One way is types.nullOr types.string

+ + + + +

view this post on Zulip Shivaraj B H (Mar 27 2024 at 14:34):

+

This is much better since it will throw a “cannot coerce null to string” error, when trying to use the option in any shell script.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Darwin.3A.20launchctl.20logs.20for.20a.20service.html b/stream/413950-nix/topic/Darwin.3A.20launchctl.20logs.20for.20a.20service.html new file mode 100644 index 00000000000..321c6393203 --- /dev/null +++ b/stream/413950-nix/topic/Darwin.3A.20launchctl.20logs.20for.20a.20service.html @@ -0,0 +1,87 @@ + +Darwin: launchctl logs for a service · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Darwin: launchctl logs for a service

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 15 2024 at 22:32):

+

How do we get the logs for a failing launchd service? This is the github-runner service setup by nix-darwin.

+

It is surprisingly impossible to find a way to do this. One of the reasons macOS sucks compared to Linux.

+ + + + +

view this post on Zulip Srid (Mar 15 2024 at 22:32):

+
$ sudo launchctl kickstart -kp system/org.nixos.github-runner-heist-extra-1
+service spawned with pid: 84781
+$
+
+

And that PID no longer exists after that.

+ + + + +

view this post on Zulip Srid (Mar 15 2024 at 22:34):

+

image.png

+

Guess that's why it is failing -- my token expired.

+

(But can't confirm -- just guessing)

+ + + + +

view this post on Zulip Shivaraj B H (Mar 16 2024 at 16:39):

+

You will have to use either the log cli command in MacOS, or if you have access to GUI you can use Console app to start filtering all the messages with system/org.nixos.github-runner-heist-extra-1 in it and then kickstart your daemon

+ + + + +

view this post on Zulip Shivaraj B H (Mar 16 2024 at 16:40):

+

If you still don’t see anything, you can try enabling debug mode first, with launchctl debug and then start filtering for logs again

+ + + + +

view this post on Zulip Srid (Mar 17 2024 at 12:22):

+

Console app never showed any logs for the crashed service, but I'll try the debug command next time this happens.

+ + + + +

view this post on Zulip Srid (Mar 24 2024 at 17:53):

+

Nothing's coming through:

+
❯ sudo launchctl debug  system/org.nixos.github-runner-dioxus-desktop-template-1 --stdout ~/out --stderr ~/err
+Service configured for next launch.
+
+

And:

+
srid on appreciate ~/code
+❯  sudo launchctl kickstart system/org.nixos.github-runner-dioxus-desktop-template-1
+
+srid on appreciate ~/code
+❯ more ~/out
+
+srid on appreciate ~/code
+❯ more ~/err
+
+ + + + +

view this post on Zulip Notification Bot (Mar 25 2024 at 12:06):

+

3 messages were moved from this topic to #nixos > Self-hosted GitHub runners by Srid.

+ + + + +

view this post on Zulip Srid (Mar 25 2024 at 12:07):

+

The new nix-darwin module writes the log files (see topic referenced above), thus allowing me to not repy on Apple's slipshod tech.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Dependency.20graph.html b/stream/413950-nix/topic/Dependency.20graph.html new file mode 100644 index 00000000000..293af990ec9 --- /dev/null +++ b/stream/413950-nix/topic/Dependency.20graph.html @@ -0,0 +1,85 @@ + +Dependency graph · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Dependency graph

+ +
+ + + + + + +

view this post on Zulip Aravind Gopal (Feb 14 2024 at 16:11):

+

Is there any way to get the graph of a dependency used in a project even though it’s not a direct input in the current project flakes.

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 14 2024 at 16:27):

+

nix path-info -r will give runtime deps, add --derivation to calculate build time deps, or nix-store - --requisites on a derivation will be buildtime deps on an output path will be runtime deps closure

+ + + + +

view this post on Zulip Aravind Gopal (Feb 14 2024 at 20:04):

+

Thanks @Tim DeHerrera the above command returned all runtime deps. Is there any way to find the dependency graph . currently looking into nix-output-monitor (srid bro suggestion)

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 14 2024 at 20:09):

+

There are these two flags you can add to the nix-store variant I suggested. From the man page:

+
*        • --graph
+*          Prints the references graph of the store paths paths in the format of the dot tool of AT&T’s Graphviz package. This  can  be
+*          used  to visualise dependency graphs. To obtain a build-time dependency graph, apply this to a store derivation. To obtain a
+*          runtime dependency graph, apply it to an output path.
+
+
*        • --graphml
+*          Prints the references graph of the store paths paths in the GraphML file format. This can be used  to  visualise  dependency
+*          graphs. To obtain a build-time dependency graph, apply this to a store derivation. To obtain a runtime dependency graph, ap‐
+           ply it to an output path.
+
+

If that is what you are looking for.

+ + + + +

view this post on Zulip Aravind Gopal (Feb 14 2024 at 20:30):

+

Thank you so much @Tim DeHerrera, This helped.

+ + + + +

view this post on Zulip Srid (Feb 15 2024 at 10:45):

+

Nice, TIL!

+
nix-store --query --graph $(nix build --no-link --print-out-paths github:srid/emanote) | dot -Tsvg > output.svg
+
+

output.svg

+

image.png

+
+ + + + +

view this post on Zulip Srid (Feb 15 2024 at 10:46):

+

This is worth a candidate to https://nixos.asia/en/tips

+ + + + +

view this post on Zulip Srid (Feb 15 2024 at 10:50):

+

Srid said:

+
+

Nice, TIL!

+
nix-store --query --graph $(nix build --no-link --print-out-paths github:srid/emanote) | dot -Tsvg > output.svg
+
+

output.svg

+

output.png

+
+

Incidentally, this revealed to me that much of the bloat in emanote's closure is coming from nodejs (via tailwind).

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Dependency.20patches.20without.20massive.20rebuilds.html b/stream/413950-nix/topic/Dependency.20patches.20without.20massive.20rebuilds.html new file mode 100644 index 00000000000..d07b08ff565 --- /dev/null +++ b/stream/413950-nix/topic/Dependency.20patches.20without.20massive.20rebuilds.html @@ -0,0 +1,21 @@ + +Dependency patches without massive rebuilds · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Dependency patches without massive rebuilds

+ +
+ + + + + + +

view this post on Zulip Tim DeHerrera (Feb 18 2024 at 19:32):

+

TIL about:
+https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/replace-dependency.nix

+

I have never seen this in the wild but sounds useful for quick security patches without rebuilding all of nixpkgs (say for the recent glibc vulnerabilities).

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Dynamic.20NixOS.20configuration.2C.20using.20flakes.html b/stream/413950-nix/topic/Dynamic.20NixOS.20configuration.2C.20using.20flakes.html new file mode 100644 index 00000000000..b2dd982c3ca --- /dev/null +++ b/stream/413950-nix/topic/Dynamic.20NixOS.20configuration.2C.20using.20flakes.html @@ -0,0 +1,129 @@ + +Dynamic NixOS configuration, using flakes · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Dynamic NixOS configuration, using flakes

+ +
+ + + + + + +

view this post on Zulip Pratham Patel (Apr 28 2024 at 17:19):

+

Hello everyone, for a long time, I had been deploying NixOS and devshells using the traditional, non-flake approach. As I had some time a few months ago, I tried flakes and understood why they're so useful.

+

I had written an "installer script" in Bash that would, depending on hardware detected, add lines to a host-specific-configuration.nix file which, as it's name suggested, was host-specific and not included in the git tree. This always rubbed me the wrong way as it it was a very hacky solution and also something that couldn't be in the git tree. After getting familiar with Nix, I could easily get rid of this monster from the installer script, leaving it only essential duties like partitioning, formatting, mounting and calling nixos-install. Everything else was moved from Bash statements to Nix expressions.

+

Though I haven't yet written a blog about this, you can checkout my configuration repository. It includes the following outputs:

+
    +
  • NixOS configurations
  • +
  • Standalone (non-NixOS) home manager configurations for Linux and Darwin
  • +
  • ISOs with an up-to-date kernel and packages that I need
  • +
+

This post was made mostly to help anyone else who stumbles on the same problems I did and hopefully not waste a lot of time because of the widely known documentation issue.

+

https://github.com/thefossguy/prathams-nixos
+https://gitlab.com/thefossguy/prathams-nixos (same thing, mirrored on GitLab)

+ + + + +

view this post on Zulip Pratham Patel (Apr 28 2024 at 17:23):

+

The obvious next step is to use disko but I need some more experimentation with it in a feature branch before mass deployment.

+ + + + +

view this post on Zulip Srid (Apr 29 2024 at 00:27):

+

Pratham Patel said:

+
+

The obvious next step is to use disko but I need some more experimentation with it in a feature branch before mass deployment.

+
+

Have you looked into disko-install?

+

cf. https://nixos.asia/en/nixos-install-oneclick

+ + + + +

view this post on Zulip Pratham Patel (Apr 29 2024 at 02:37):

+

I do intend to, just need some more time to tinker with. Probably this weekend :)

+ + + + +

view this post on Zulip Pratham Patel (Apr 29 2024 at 11:17):

+

Update: Added a GitHub workflow to build x86 and arm64 build nightly. workflow file
+The only thing that I haven't gotten around (other than the RISC-V issue for my SBCs) is targeting x86 and arm64 Darwin. At the moment, my company laptop is an Intel MBP and will tend to arm64 once I own one. :)

+ + + + +

view this post on Zulip Pratham Patel (May 01 2024 at 18:15):

+

Another update: Added a justfile to so that I don't need to remember long invocations like nixosConfigurations.bla.bla.bla :D

+ + + + +

view this post on Zulip Pratham Patel (May 01 2024 at 18:16):

+

Hmm, maybe I should write a blog about this, it was quite an adventure lol

+ + + + +

view this post on Zulip Srid (May 01 2024 at 23:39):

+

Pratham Patel said:

+
+

Hmm, maybe I should write a blog about this, it was quite an adventure lol

+
+

Yes.

+

(Also link back to this zulip topic as reference :-) )

+ + + + +

view this post on Zulip Pratham Patel (May 02 2024 at 03:26):

+

Absolutely!

+ + + + +

view this post on Zulip Pratham Patel (May 02 2024 at 15:54):

+

Part 1 (rationale behind it) is live!
+https://blog.thefossguy.com/posts/nixos-migration-with-flakes-01.md

+ + + + +

view this post on Zulip Pratham Patel (May 02 2024 at 16:05):

+

I plan to add some follow-ups for

+
    +
  • part 2: the actual transition
  • +
  • part 3: handling home-manager on non-nixos machines
  • +
  • part 4: the GitHub CI
  • +
  • part 5: the justfile adventure
  • +
+ + + + +

view this post on Zulip Shivaraj B H (May 02 2024 at 18:00):

+
+

That doesn’t mean that you cannot lean from it. ;)

+
+

A typo?

+ + + + +

view this post on Zulip Pratham Patel (May 03 2024 at 02:32):

+

Shivaraj B H said:

+
+
+

That doesn’t mean that you cannot lean from it. ;)

+
+

A typo?

+
+

hah yeah, fixed it just now; thanks for pointing it out!

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Ekala.20project.20announcement.html b/stream/413950-nix/topic/Ekala.20project.20announcement.html new file mode 100644 index 00000000000..a4243aafe73 --- /dev/null +++ b/stream/413950-nix/topic/Ekala.20project.20announcement.html @@ -0,0 +1,20 @@ + +Ekala project announcement · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Ekala project announcement

+ +
+ + + + + + +

view this post on Zulip Srid (Oct 24 2024 at 13:23):

+

Sounds more promising than Nix in the long-term.

+

https://old.reddit.com/r/NixOS/comments/1gatci0/announcing_the_ekala_project_a_nix_inspired/

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Emacs.20with.20Xwidgets.20.28Darwin.29.html b/stream/413950-nix/topic/Emacs.20with.20Xwidgets.20.28Darwin.29.html new file mode 100644 index 00000000000..7596a0c366c --- /dev/null +++ b/stream/413950-nix/topic/Emacs.20with.20Xwidgets.20.28Darwin.29.html @@ -0,0 +1,28 @@ + +Emacs with Xwidgets (Darwin) · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Emacs with Xwidgets (Darwin)

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 17 2024 at 12:22):

+

Has anyone gotten Emacs to build on Darwin with xwidgets?

+

cf. https://github.com/NixOS/nixpkgs/issues/110218

+

(xwidgets is required for running webkit in emacs)

+ + + + +

view this post on Zulip Srid (Mar 17 2024 at 12:28):

+

If this was fixed in nixpkgs, one could normally build it as pkgs.emacs29-macport.override { withXwidgets = true; }

+

(It used to build before, FWIW)

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Expressions.20in.20flake.20inputs.html b/stream/413950-nix/topic/Expressions.20in.20flake.20inputs.html new file mode 100644 index 00000000000..2561594d460 --- /dev/null +++ b/stream/413950-nix/topic/Expressions.20in.20flake.20inputs.html @@ -0,0 +1,92 @@ + +Expressions in flake inputs · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Expressions in flake inputs

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 20 2024 at 12:34):

+

Yes, this is a known limitation: https://github.com/NixOS/nix/issues/5663

+

What kind of expressions are planning to use @Tamil Selvan ?

+ + + + +

view this post on Zulip Tamil Selvan (Mar 21 2024 at 23:47):

+

(deleted)

+ + + + +

view this post on Zulip Tamil Selvan (Mar 21 2024 at 23:48):

+

Srid said:

+
+

Yes, this is a known limitation: https://github.com/NixOS/nix/issues/5663

+

What kind of expressions are planning to use Tamil Selvan ?

+
+

I was trying to tinker around refactoring the flake.
+@Srid as you may know we were referring to a local repo in the flake inputs during our discussion
+I tried to move the local repo's path to a different file and refer it from there

+
inputs = {
+       repo.url = "path:" + builtins.readFile "<file path that contains the local repo's absolute path>";
+}
+
+ + + + +

view this post on Zulip Srid (Mar 21 2024 at 23:49):

+

Why does repo here need to be dynamically specified? Is there a use-case you are trying to solve here? If the above is Y, what is X?

+ + + + +

view this post on Zulip Tamil Selvan (Mar 25 2024 at 05:21):

+

(deleted)

+ + + + +

view this post on Zulip Tamil Selvan (Mar 25 2024 at 05:22):

+

Srid said:

+
+

Why does repo here need to be dynamically specified? Is there a use-case you are trying to solve here? If the above is Y, what is X?

+
+

@Srid that was because I thought of keeping the flake file fixed and let people make changes i.e. add their own local repo path in a separate file rather than making changes in flake.

+ + + + +

view this post on Zulip Srid (Mar 25 2024 at 11:30):

+

Why do you want people to be making changes to a separate file rather than on flake.nix itself? Just trying to understand the motivation here -- why not just have them edit the flake.nix file?

+ + + + +

view this post on Zulip Tamil Selvan (Mar 26 2024 at 02:32):

+

Srid said:

+
+

Why do you want people to be making changes to a separate file rather than on flake.nix itself? Just trying to understand the motivation here -- why not just have them edit the flake.nix file?

+
+

We can do that too. I was just trying to get to a one click dev environment setup where users don't have to edit the flake to get the setup running as majority of the folks in our team have not been introduced to nix yet.
+What you are telling makes sense tho. Let people get their hands dirty in nix this way.

+ + + + +

view this post on Zulip Srid (Mar 26 2024 at 16:51):

+
+

Let people get their hands dirty in nix this way.

+
+

For now, this is a wise approach.

+

But down the like, I do like to create something with improved DX (on top of flakes/flake-parts).

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Failed.20to.20evalModules.html b/stream/413950-nix/topic/Failed.20to.20evalModules.html new file mode 100644 index 00000000000..6cf9ec17145 --- /dev/null +++ b/stream/413950-nix/topic/Failed.20to.20evalModules.html @@ -0,0 +1,48 @@ + +Failed to evalModules · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Failed to evalModules

+ +
+ + + + + + +

view this post on Zulip Hao Liu (Jun 02 2024 at 07:45):

+

I am trying to run lib.evalModules in service-flake, it gives out an error, any idea why that's the case? cheers

+
nix-repl> lib.evalModules { modules = [(import ./nix/lib.nix).multiService ./nix/postgres]; specialArgs = {inherit pkgs;};}
+{
+  _module = «error: module <unknown-file> (:anon-1) does not look like a module.»;
+  _type = "configuration";
+  class = null;
+  config = «error: module <unknown-file> (:anon-1) does not look like a module.»;
+  extendModules = «lambda extendModules @ /nix/store/l4wskml8vcs49mg6w9la715cx10sviwh-source/lib/modules.nix:303:23»;
+  options = «error: module <unknown-file> (:anon-1) does not look like a module.»;
+  type = { ... };
+}
+
+ + + + +

view this post on Zulip Hao Liu (Jun 02 2024 at 07:46):

+

it seems the multiService function will take a module and return a module https://github.com/juspay/services-flake/blob/main/nix/lib.nix#L7

+ + + + +

view this post on Zulip Notification Bot (Jun 03 2024 at 00:12):

+

Hao Liu has marked this topic as resolved.

+ + + + +

view this post on Zulip Notification Bot (Jun 03 2024 at 00:12):

+

Hao Liu has marked this topic as unresolved.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Filesystem.20As.20Memory.html b/stream/413950-nix/topic/Filesystem.20As.20Memory.html new file mode 100644 index 00000000000..bf8878050b9 --- /dev/null +++ b/stream/413950-nix/topic/Filesystem.20As.20Memory.html @@ -0,0 +1,31 @@ + +Filesystem As Memory · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Filesystem As Memory

+ +
+ + + + + + +

view this post on Zulip Srid (Jan 02 2024 at 18:00):

+

I thought only Tweag has written a blog on it,

+
+

Dolstra proposed that we can treat the file system in an operating system like memory in a running program, and equate package management to memory management

+
+

But Jonathan Lorimer has as well: https://jonathanlorimer.dev/posts/nix-thesis.html#filesystem-as-memory

+

image.png

+

IFTTT said:

+
+

The Nix Thesis

+

January 02, 2024 at 09:25AM

+

https://jonathanlorimer.dev/posts/nix-thesis.html

+

https://lobste.rs/s/kgvnxd/nix_thesis

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Flake.20template.20vars.html b/stream/413950-nix/topic/Flake.20template.20vars.html new file mode 100644 index 00000000000..8377f062930 --- /dev/null +++ b/stream/413950-nix/topic/Flake.20template.20vars.html @@ -0,0 +1,42 @@ + +Flake template vars · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Flake template vars

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 04 2024 at 17:05):

+

https://github.com/NixOS/nix/issues/4017

+

Has anyone written a dumb solution to extend nix flake .. with basic template vars support?

+ + + + +

view this post on Zulip Srid (Mar 04 2024 at 17:08):

+
nix flake init -t github:juspay/nix-dev-home \
+  --override-input username "https://nixid.page/str/srid"
+
+

Where nixid.page/<type>/<val> will dynamically serve a flake outputting that expression. :open_mouth:

+

As a bandaid for https://github.com/NixOS/nix/issues/5663

+ + + + +

view this post on Zulip Srid (Mar 04 2024 at 17:09):

+

Grr, --override-input is unsupported for this subcommand.

+ + + + +

view this post on Zulip Srid (Mar 04 2024 at 17:11):

+

There's --override-flake, though.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Git.20manyFiles.20issue.html b/stream/413950-nix/topic/Git.20manyFiles.20issue.html new file mode 100644 index 00000000000..512541d5b11 --- /dev/null +++ b/stream/413950-nix/topic/Git.20manyFiles.20issue.html @@ -0,0 +1,21 @@ + +Git manyFiles issue · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Git manyFiles issue

+ +
+ + + + + + +

view this post on Zulip Tim DeHerrera (Feb 17 2024 at 02:28):

+

More breaking changes :clap::face_palm:
+https://github.com/NixOS/nix/issues/10026

+

This is particularly ironic seeing as nixpkgs is the central hub, and has a huge number of files itself

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Haskell.20.2B.20Rust.20FFI.html b/stream/413950-nix/topic/Haskell.20.2B.20Rust.20FFI.html new file mode 100644 index 00000000000..3dff220f8fe --- /dev/null +++ b/stream/413950-nix/topic/Haskell.20.2B.20Rust.20FFI.html @@ -0,0 +1,113 @@ + +Haskell + Rust FFI · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Haskell + Rust FFI

+ +
+ + + + + + +

view this post on Zulip Srid (Jan 03 2024 at 14:04):

+

@Akhilesh Singh Bhadauriya wants to nixify https://github.com/piyushKumar-1/haskell_cac_client

+

This is basically a Haskell library with FFI bindings to Rust code in the same repo.

+

I have worked on a similar project two years ago: https://github.com/ArdanaLabs/yubihsm-ed-sign

+

But now I'd like to use this opportunity to create a template repo for such projects, using haskell-flake and something for Rust.

+ + + + +

view this post on Zulip Akhilesh Singh Bhadauriya (Jan 03 2024 at 15:06):

+

I tried to move this repo to nammayatri(https://github.com/nammayatri/nammayatri) so I'm getting this following error:

+
 … while calling the 'derivationStrict' builtin
+         at /builtin/derivation.nix:9:12: (source not available)
+       … while evaluating derivation 'ny-backend'
+         whose name attribute is located at /nix/store/aiv6rdld7d7smj3rrh72da2sssl6z2xl-source/pkgs/stdenv/generic/make-derivation.nix:300:7
+       … while evaluating attribute '__impureHostDeps' of derivation 'ny-backend'
+         at /nix/store/aiv6rdld7d7smj3rrh72da2sssl6z2xl-source/pkgs/stdenv/generic/make-derivation.nix:435:7:
+          434|       __propagatedSandboxProfile = lib.unique (computedPropagatedSandboxProfile ++ [ propagatedSandboxProfile ]);
+          435|       __impureHostDeps = computedImpureHostDeps ++ computedPropagatedImpureHostDeps ++ __propagatedImpureHostDeps ++ __impureHostDeps ++ stdenv.__extraImpureHostDeps ++ [
+             |       ^
+          436|         "/dev/zero"
+       (stack trace truncated; use '--show-trace' to show the full trace)
+       error: function 'anonymous lambda' called without required argument 'cac_client'
+       at /nix/store/l8awdgyzg1zanisz6xb492r6ybzzrnfc-cabal2nix-haskell-cac/default.nix:1:1:
+            1| { mkDerivation, base, cac_client, lib }:
+             | ^
+            2| mkDerivation {
+realpath: /Users/akhilesh.b/Desktop/nammayatri/.direnv/flake-profile.55906: No such file or directory
+error: path '/Users/akhilesh.b/Desktop/nammayatri' is not in the Nix store
+warning: Git tree '/Users/akhilesh.b/Desktop/nammayatri' is dirty
+direnv: nix-direnv: renewed cache
+direnv: export +XDG_DATA_DIRS ~PATH
+
+

Is this expected.

+ + + + +

view this post on Zulip Srid (Jan 03 2024 at 15:17):

+

@Akhilesh Singh Bhadauriya What is the diff, exactly?

+
error: path '/Users/akhilesh.b/Desktop/nammayatri' is not in the Nix store
+
+

Your Nix seems to be referring to some absolute path.

+ + + + +

view this post on Zulip Srid (Jan 03 2024 at 15:35):

+

You can put post the link to the branch on GitHub

+ + + + +

view this post on Zulip Akhilesh Singh Bhadauriya (Jan 04 2024 at 10:34):

+

No but i'm trying to compile everything in local. This is just showing the path where my nammayatri repo is.

+ + + + +

view this post on Zulip Shivaraj B H (Jan 04 2024 at 10:42):

+

It would be nice to see the code committed somewhere so that we can reproduce the issue

+ + + + +

view this post on Zulip Akhilesh Singh Bhadauriya (Jan 04 2024 at 11:29):

+

You can find this here
+https://github.com/nammayatri/nammayatri/tree/Backend/FFI-RUst/issue

+ + + + +

view this post on Zulip Srid (Jan 04 2024 at 13:14):

+

You should not commit compiled assets like the target folder @Akhilesh Singh Bhadauriya

+ + + + +

view this post on Zulip Srid (Jan 04 2024 at 13:17):

+

@Akhilesh Singh Bhadauriya The CI is not showing the error you report. Instead it is showing something else:

+

https://jenkins-nix-ci.betta-gray.ts.net/job/nammayatri/job/Backend%252FFFI-RUst%252Fissue/2/pipeline-console/

+
error: function 'anonymous lambda' called without required argument 'cac_client'
+
+ + + + +

view this post on Zulip Srid (Jan 04 2024 at 13:17):

+

Which is understandable as we haven't written any Nix to a) build the Rust package, and b) make it available to the Haskell packages. Which is exactly what I plan to do next week.

+ + + + +

view this post on Zulip Akhilesh Singh Bhadauriya (Jan 09 2024 at 13:54):

+

Nixified version of repo PR:
+https://github.com/piyushKumar-1/haskell_cac_client/pull/2

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/How.20to.20add.20Haskell.20packages.20from.20flake.20into.20callCabal2nix.3F.html b/stream/413950-nix/topic/How.20to.20add.20Haskell.20packages.20from.20flake.20into.20callCabal2nix.3F.html new file mode 100644 index 00000000000..17ac6b97ef8 --- /dev/null +++ b/stream/413950-nix/topic/How.20to.20add.20Haskell.20packages.20from.20flake.20into.20callCabal2nix.3F.html @@ -0,0 +1,64 @@ + +How to add Haskell packages from flake into callCabal2nix? · nix · Zulip Chat Archive +

Stream: nix

+

Topic: How to add Haskell packages from flake into callCabal2nix?

+ +
+ + + + + + +

view this post on Zulip LC (Sep 26 2024 at 15:03):

+
    +
  • Hello, I'm trying to develop a haskell project named my-project, and it is relying on a haskell package named some-package from a nix flake named some-flake, but I don't know how to make cabal find it correctly, here is my flake:
  • +
+
{
+  inputs = {
+    some-flake.url = "github:...";
+  };
+
+  outputs = { nixpkgs, some-flake, ... }:
+  let
+    project_name = "my-project";
+    supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
+    eachSystem = f: nixpkgs.lib.genAttrs supportedSystems (system: f rec {
+      inherit system;
+      pkgs = nixpkgs.legacyPackages.${system};
+      hpkgs = pkgs.haskell.packages.ghc98;
+    });
+  in
+  rec {
+    packages = eachSystem ({hpkgs, system, ...}: {
+      default = hpkgs.callCabal2nix project_name ./. {
+        some-package = some-flake.packages.${system}.default; #this seems not working
+      };
+    });
+
+    devShells = eachSystem ({pkgs, hpkgs, system, ...}: {
+      default = pkgs.haskell.lib.addBuildTools packages.${system}.default
+        (with hpkgs; [ haskell-language-server cabal-install ]);
+    });
+  };
+}
+
+

Any help?

+ + + + +

view this post on Zulip Srid (Sep 30 2024 at 19:58):

+

@LC You want to use the haskell package overlay:

+

https://nixos.asia/en/nixify-haskell-nixpkgs

+ + + + +

view this post on Zulip Srid (Sep 30 2024 at 19:58):

+

which is simpler when using haskell-flake: https://community.flake.parts/haskell-flake/dependency#path

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/How.20to.20call.20commands.20from.20old.20cli.20in.20nix_rs.html b/stream/413950-nix/topic/How.20to.20call.20commands.20from.20old.20cli.20in.20nix_rs.html new file mode 100644 index 00000000000..eb84a9ca431 --- /dev/null +++ b/stream/413950-nix/topic/How.20to.20call.20commands.20from.20old.20cli.20in.20nix_rs.html @@ -0,0 +1,62 @@ + +How to call commands from old cli in nix_rs · nix · Zulip Chat Archive +

Stream: nix

+

Topic: How to call commands from old cli in nix_rs

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (May 02 2024 at 10:17):

+

I would like to call nix-store.

+

The full command goes like nix-store -qR —include-outputs <drv>. I am aware that in the new-cli there is a command equivalent to this and it is nix path-info —recursive <drv>, but there is no —include-outputs equivalent. Neither can I iterate over all the drv’s generated using nix path-info —recursive <drv> to get the outPath, see: https://github.com/NixOS/nix/issues/5895

+ + + + +

view this post on Zulip Srid (May 02 2024 at 11:24):

+

We could also add a pub struct NixStoreCmd to nix-rs

+ + + + +

view this post on Zulip Pratham Patel (May 02 2024 at 11:35):

+

Just now discovering juspay/nix-rs. Does this have all/most of the "bindings" to nix/nix-v3?

+ + + + +

view this post on Zulip Srid (May 02 2024 at 11:36):

+

What's nix-v3?

+ + + + +

view this post on Zulip Pratham Patel (May 02 2024 at 11:37):

+

nix-build are the "old" (non-flake) commands while nix build is part of the v3 of Nix's CLI

+ + + + +

view this post on Zulip Srid (May 02 2024 at 11:43):

+

nix-rs uses new-style Nix commands (what you call v3 Nix's CLI), yes ... but it only has those things we use in other projects (nix-browser, nix-health) right now. We should add the rest as needed, or as people contribute.

+ + + + +

view this post on Zulip Pratham Patel (May 02 2024 at 11:44):

+

ack, I don't really have much use for a "Rust wrapper" but it sounds like something I might toy with sometime soon :D

+ + + + +

view this post on Zulip Shivaraj B H (May 02 2024 at 17:56):

+

https://github.com/juspay/nix-rs/pull/6

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/How.20to.20override.20Python.20packages.3F.html b/stream/413950-nix/topic/How.20to.20override.20Python.20packages.3F.html new file mode 100644 index 00000000000..3993ed8b868 --- /dev/null +++ b/stream/413950-nix/topic/How.20to.20override.20Python.20packages.3F.html @@ -0,0 +1,36 @@ + +How to override Python packages? · nix · Zulip Chat Archive +

Stream: nix

+

Topic: How to override Python packages?

+ +
+ + + + + + +

view this post on Zulip Rohit Singh (Dec 11 2023 at 18:27):

+

In a project we are using boto3 package which is imported from python3. Our requirement is to update the boto3 package without updating nixpkgs version, basically we wanted to override only boto3 package. How can we do that ?

+

This is how we are importing the package boto3 with other packages from python3 using nixpkgs

+

infra-env = pkgs.python3.withPackages (ps: with ps; [ boto3 kubernetes requests schema python-jenkins croniter validators]);

+ + + + +

view this post on Zulip Srid (Dec 11 2023 at 18:29):

+

Looks like you want overridePythonAttrs, it is documented here:

+

https://nixos.org/manual/nixpkgs/stable/#overridePythonAttrs

+

image.png

+
+ + + + +

view this post on Zulip Rohit Singh (Dec 11 2023 at 18:33):

+

Sure. Let me try that.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/IFD.html b/stream/413950-nix/topic/IFD.html new file mode 100644 index 00000000000..e2464bcd2df --- /dev/null +++ b/stream/413950-nix/topic/IFD.html @@ -0,0 +1,21 @@ + +IFD · nix · Zulip Chat Archive +

Stream: nix

+

Topic: IFD

+ +
+ + + + + + +

view this post on Zulip Srid (Feb 06 2024 at 18:40):

+

Good description of import-from-derivation (IFD),

+

https://blog.hercules-ci.com/2019/08/30/native-support-for-import-for-derivation/

+

I've added it to https://nixos.asia/en/ifd

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Jobs.html b/stream/413950-nix/topic/Jobs.html new file mode 100644 index 00000000000..f23f0890c0a --- /dev/null +++ b/stream/413950-nix/topic/Jobs.html @@ -0,0 +1,20 @@ + +Jobs · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Jobs

+ +
+ + + + + + +

view this post on Zulip Srid (May 22 2024 at 02:34):

+

Juspay is hiring a remote Nix engineer:

+

https://nixos.asia/en/jobs#juspay

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/LWN.20Article.html b/stream/413950-nix/topic/LWN.20Article.html new file mode 100644 index 00000000000..1381588aca2 --- /dev/null +++ b/stream/413950-nix/topic/LWN.20Article.html @@ -0,0 +1,44 @@ + +LWN Article · nix · Zulip Chat Archive +

Stream: nix

+

Topic: LWN Article

+ +
+ + + + + + +

view this post on Zulip Tim DeHerrera (Feb 28 2024 at 03:05):

+

LWN just did an article on Nix & Guix. It's a paid article but I'm a subscriber so I thought I'd share a free link:
+https://lwn.net/SubscriberLink/962788/60448ccca97ce2d6/

+ + + + +

view this post on Zulip Shivaraj B H (Feb 28 2024 at 05:44):

+

Thanks

+ + + + +

view this post on Zulip tgunnoe (Mar 01 2024 at 17:37):

+

I remember from years back, guix could run/build anything from nixpkgs with a subcommand, is that right?

+ + + + +

view this post on Zulip Tim DeHerrera (Mar 01 2024 at 17:39):

+

Perhaps, I've never used it for more than a few minutes

+ + + + +

view this post on Zulip Tim DeHerrera (Mar 01 2024 at 17:39):

+

It was originally forked from Nix though, so in principle it would make sense

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Man.20pages.20with.20home-manager.html b/stream/413950-nix/topic/Man.20pages.20with.20home-manager.html new file mode 100644 index 00000000000..7c1d460152d --- /dev/null +++ b/stream/413950-nix/topic/Man.20pages.20with.20home-manager.html @@ -0,0 +1,91 @@ + +Man pages with home-manager · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Man pages with home-manager

+ +
+ + + + + + +

view this post on Zulip Drew Jose (Jan 24 2024 at 11:07):

+

Got inspired to finally try out the flake life after yesterday's talk. Problem is, all manpages from other packages not installed by nix (like ld) are not available anymore. Is there a package for man pages, or a setting in home manager I can use?

+ + + + +

view this post on Zulip Srid (Jan 24 2024 at 17:26):

+

man pages should generally be available if the package in question includes them.

+

Using https://github.com/juspay/nix-dev-home, I can see that both fd and ripgrep has them. Try:

+
$ man fd
+$ man rg
+
+

image.png

+
+ + + + +

view this post on Zulip Srid (Jan 24 2024 at 17:27):

+

Incidentally, there's a module for man in home-manager: programs.main: https://github.com/nix-community/home-manager/blob/master/modules/programs/man.nix

+ + + + +

view this post on Zulip Srid (Jan 24 2024 at 17:32):

+

Oh I misunderstood your question. You mean for packages not installed by Nix. Do you have an example?

+ + + + +

view this post on Zulip Srid (Jan 24 2024 at 17:33):

+

I can access ld's man page on macOS:

+
❯ man -d ld
+-- Using pager: /usr/bin/less -s
+-- Using manual sections: 1:8:2:3:3lua:n:4:5:6:7:9:l
+-- Searching PATH for man directories
+--   Adding /usr/local/share/man to manpath
+--   Adding /usr/share/man to manpath
+--   Adding /etc/profiles/per-user/srid/share/man to manpath
+--   Adding /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/share/man to manpath
+--   Adding /Applications/Xcode.app/Contents/Developer/usr/share/man to manpath
+--   Adding /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man to manpath
+-- Adding default manpath entries
+-- Parsing config file: /etc/man.conf
+-- Using manual path: /usr/local/share/man:/usr/share/man:/etc/profiles/per-user/srid/share/man:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/share/man:/Applications/Xcode.app/Contents/Developer/usr/share/man:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man
+-- Using locale paths: en_CA.UTF-8:en.UTF-8:.
+-- Using non-standard page width: 242
+-- Searching for ld
+--     Found manpage /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man1/ld.1
+--     Skipping catpage: non-standard page width
+-- Command: cd /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man && /usr/bin/zcat -f "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man1/ld.1" | /usr/bin/mandoc -O width=242 | /usr/bin/less -s
+
+ + + + +

view this post on Zulip Drew Jose (Jan 25 2024 at 04:34):

+

I get a large stderr output when invoking man -d ld:
+out.txt

+ + + + +

view this post on Zulip Srid (Jan 25 2024 at 04:35):

+

Out of curiosity, what's the output of nix run nixpkgs#nix-health?

+ + + + +

view this post on Zulip Srid (Jan 25 2024 at 04:36):

+

Your output shows a lot of,

+
can't open directory /nix/store/rj8w6wj160k1sblhjp5fsgjbfz3si51w-home-manager-path/share/man/cat3.Z: No such file or directory
+
+

Which indicates that something's wrong

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Mapping.20through.20list.20of.20attrSets.20to.20make.20a.20complex.20string.html b/stream/413950-nix/topic/Mapping.20through.20list.20of.20attrSets.20to.20make.20a.20complex.20string.html new file mode 100644 index 00000000000..1c5e463fb43 --- /dev/null +++ b/stream/413950-nix/topic/Mapping.20through.20list.20of.20attrSets.20to.20make.20a.20complex.20string.html @@ -0,0 +1,201 @@ + +Mapping through list of attrSets to make a complex string · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Mapping through list of attrSets to make a complex string

+ +
+ + + + + + +

view this post on Zulip Andreas (Jun 14 2024 at 14:49):

+

Okay @Tim DeHerrera I might have the next newbie question here :smile: In any other language I write that would be no problem for me, but in Nix it is somewhat weird to me.

+

This is related to me finally doing the network config setting to have them permanently fixed. I have my list of attrsets:

+
  networkInterfaces = [
+    { name = "enp4s0f0np0";
+      metric = 200; }
+    { name = "enp4s0f1np1";
+      metric = 100; }
+    { name = "enp6s0";
+      metric = 300; }
+    { name = "enp7s0";
+      metric = 350; }
+  ];
+
+

and I want to create this string

+
networking.dhcpcd.extraConfig = ''
+  interface enp4s0f0np0
+  metric 200
+
+  interface enp4s0f1np1
+  metric 100
+
+  interface enp6s0
+  metric 300
+
+  interface enp7s0
+  metric 350
+'';
+
+

I think I got a bit lost in the plethora of string concatenation functions that are available ...

+ + + + +

view this post on Zulip Srid (Jun 14 2024 at 14:50):

+

You want concatStringsSep. ChatGPT solution (untested):

+
{
+  networkInterfaces = [
+    { name = "enp4s0f0np0"; metric = 200; }
+    { name = "enp4s0f1np1"; metric = 100; }
+    { name = "enp6s0"; metric = 300; }
+    { name = "enp7s0"; metric = 350; }
+  ];
+
+  networking.dhcpcd.extraConfig = let
+    # Function to transform a single attribute set to a string
+    formatInterface = interface: ''
+      interface ${interface.name}
+      metric ${toString interface.metric}
+    '';
+    # Transform each attribute set and join them with newlines
+    formattedInterfaces = builtins.concatStringsSep "\n" (builtins.map formatInterface networkInterfaces);
+  in ''
+    ${formattedInterfaces}
+  '';
+}
+
+ + + + +

view this post on Zulip Andreas (Jun 14 2024 at 14:51):

+

yeah that looks plausible, I'll test it :smile:

+ + + + +

view this post on Zulip Tim DeHerrera (Jun 14 2024 at 14:51):

+

Yeah, might be able to do it more "manually" with a fold. Can sometimes end up being quite elegant depending on the situation

+ + + + +

view this post on Zulip Andreas (Jun 14 2024 at 14:52):

+

you have an example?

+ + + + +

view this post on Zulip Tim DeHerrera (Jun 14 2024 at 14:53):

+

On my phone arm, but I'll see if I can grab one

+ + + + +

view this post on Zulip Andreas (Jun 14 2024 at 14:53):

+

because elegance might help here, I feel that a good old c-style for-loop is easier to read

+ + + + +

view this post on Zulip Tim DeHerrera (Jun 14 2024 at 15:02):

+

sure but for loops don't exist in the purely functional realm :grinning:

+

Here is a basic fold:

+
let
+  networkInterfaces = [
+    {
+      name = "enp4s0f0np0";
+      metric = 200;
+    }
+    {
+      name = "enp4s0f1np1";
+      metric = 100;
+    }
+    {
+      name = "enp6s0";
+      metric = 300;
+    }
+    {
+      name = "enp7s0";
+      metric = 350;
+    }
+  ];
+in
+  builtins.foldl' (acc: x:
+    ''
+      interface ${x.name}
+      metric ${toString x.metric}
+    ''
+    + acc)
+  ""
+  networkInterfaces
+
+ + + + +

view this post on Zulip Tim DeHerrera (Jun 14 2024 at 15:02):

+

ends up being fairly similar to srids version

+ + + + +

view this post on Zulip Andreas (Jun 14 2024 at 15:06):

+

okay so what does networkInterfaces in the very last line do?

+

But that looks a bit more concise

+ + + + +

view this post on Zulip Tim DeHerrera (Jun 14 2024 at 15:08):

+

That is just the list of interfaces bound to a variable name. Are you generally familiar with how folds work? Essentially its a convenient mechanism in the purely functional style of accumulating values from a list into some other kind of data structure, in this case a string.

+ + + + +

view this post on Zulip Tim DeHerrera (Jun 14 2024 at 15:09):

+

so foldl' takes 3 args, the first is a function to show how to append each value to the accumulation of values, the second is the starting data structure, in this case an empty string, and the final argument is the list to fold

+ + + + +

view this post on Zulip Andreas (Jun 14 2024 at 15:11):

+

yeah now that starts making a bit more sense.

+ + + + +

view this post on Zulip Andreas (Jun 14 2024 at 15:11):

+

I guess I am just not purely functional enough (yet)

+ + + + +

view this post on Zulip Andreas (Jun 14 2024 at 15:12):

+

gonna try this later

+ + + + +

view this post on Zulip Tim DeHerrera (Jun 14 2024 at 15:12):

+

Well understand maps and folds will get you pretty far on their own, so you are off to a good start

+ + + + +

view this post on Zulip Andreas (Jun 14 2024 at 15:13):

+

yeah, I mean maps I am fairly familiar with in other languages. But for some reason I find Nix always a bit more obscure to use.

+ + + + +

view this post on Zulip Andreas (Jun 15 2024 at 13:59):

+

Going back to my original problem, I figured I most likely have to go through networkmanager to set the metric value, using dhcpd won't do the trick.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Module.20system.20tutorial.html b/stream/413950-nix/topic/Module.20system.20tutorial.html new file mode 100644 index 00000000000..04fd6fa3165 --- /dev/null +++ b/stream/413950-nix/topic/Module.20system.20tutorial.html @@ -0,0 +1,20 @@ + +Module system tutorial · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Module system tutorial

+ +
+ + + + + + +

view this post on Zulip Srid (Feb 16 2024 at 16:50):

+

I wrote a small thing. Looking for feedback. Anything should be explained more? The idea is to just introduce people to it.

+

https://github.com/nixos-asia/website/pull/23

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Nix.20development.20environments.html b/stream/413950-nix/topic/Nix.20development.20environments.html new file mode 100644 index 00000000000..fb407232bfc --- /dev/null +++ b/stream/413950-nix/topic/Nix.20development.20environments.html @@ -0,0 +1,128 @@ + +Nix development environments · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Nix development environments

+ +
+ + + + + + +

view this post on Zulip Andreas (Apr 02 2024 at 17:28):

+

Hey everyone,

+

I am interested in improving my nix developer experience and I'd just like to know how others are setting things up for Nix development. So not development of something else with the help of a Nix provided environment, but writing Nix code itself.

+
    +
  • Which formatters are you using?
  • +
  • How about linters?
  • +
  • Are you using pre-commit hooks or something similar on
  • +
  • What about using LSPs in your editor of choice (mine being VSCode and Neovim, but I also tried Helix)
  • +
  • What about CI integration for your projects?
  • +
  • Automated unit testing? Possible other kinds of testing setup?
  • +
+

Anyways, I'd like to come up with some nice or even best practices.

+

I want to know how to make writing Nix code less of a guessing game for me.

+ + + + +

view this post on Zulip Srid (Apr 02 2024 at 20:31):

+

This is something we want to document in the larger theme of https://nixos.asia/en/dev

+

For now, you want to:

+ + + + + +

view this post on Zulip Andreas (Apr 03 2024 at 09:08):

+

@Srid Thanks for the reply!

+

Yes, documenting various possible setups would be a real plus!

+

Speaking of LSP, using nil do I get a good overview of available functions that I might wish to use? Does it pick up stuff from my project's own lib for instance? Or from the one defined in nixpkgs?

+

On the CI side, do you have a nice github actions workflow for CI?

+

Did you ever try running GitHub CI locally via something ike https://github.com/nektos/act ?

+

Maybe some other experienced people might want to share their perspective, too? @David Arnold or @Jonathan Ringer or @John Bargman or @Robert Hensing or @Shivaraj B H or @Las @Tim DeHerrera and @tgunnoe ? I probably missed a few people who are also doing a lot of Nix here... feel free to chime in!

+ + + + +

view this post on Zulip Tim DeHerrera (Apr 03 2024 at 15:05):

+

nixago is nice for config generation. I've used pre-commit hooks in the past though haven't used any lately. I use direnv most of the time unless the shell is annoyingly heavy.

+

Nil is a good as an LSP so far. I've been thinking of trying nixd, which uses the C++ nix evaluator as a backend to see how it compares, but haven't tried it yet. I also use helix with #2608 patched in since there tend to be a lot of file paths in Nix files.

+

FWIW, I have personally contributed some nice additions to helix that make it particularly nice for working with Nix files.

+ + + + +

view this post on Zulip Tim DeHerrera (Apr 03 2024 at 15:08):

+

As for the CI question, I use std-action wherever I can. Hyrda is an annoying bloated beast. I have been thinking that it might be useful though, to take the same idea and architecture behind std-action and decouple it from relying on the std API so that you can just use it with any Nix project. Might do that at some point

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 17:18):

+

Do you guys @Srid and @Tim DeHerrera have some readily available actionable example flakes you could point me to that you are using?

+ + + + +

view this post on Zulip Srid (Apr 03 2024 at 19:11):

+

For self-hosted runner? I have https://github.com/srid/nixos-config/tree/master/clusters/github-runner

+

But it needs tidying up followed by a tutorial or something

+ + + + +

view this post on Zulip Arnold Schrijver (Apr 06 2024 at 06:31):

+

Tim DeHerrera said:

+
+

As for the CI question, I use std-action wherever I can. Hyrda is an annoying bloated beast. I have been thinking that it might be useful though, to take the same idea and architecture behind std-action and decouple it from relying on the std API so that you can just use it with any Nix project. Might do that at some point

+
+

OT: I added an issue to consider Forge independence to std-action, cc @David Arnold

+ + + + +

view this post on Zulip Andreas (Apr 08 2024 at 16:23):

+

@Tim DeHerrera I think what keeps me from "re-trying" Helix right now is that i started playing a lot with A.I. these days, and Helix doesn't seem to have a good plugin system yet. Or does it? I don't know if there is a way to plug in my Ollama to Helix.

+

Bottom line of this so far for me:

+
    +
  • I will start playing with nil and use direnv more widely than I do so far.
  • +
  • I am somewhat familiar with nixago and standard now after David introduced them to me a while ago.
  • +
+

But I was under the impression that standard is more for a generalized development setup other than nix itself right? Could I easily integrate these into my system config to drop me into a devShell for nix development proper? I guess I could, but does anyone have an example of something like this?

+

CI I will have to revisit soon. Then I'll get back here :smile:

+ + + + +

view this post on Zulip Arnold Schrijver (Apr 11 2024 at 05:42):

+

Just found this (rather new) CI/CD engine: https://github.com/fluentci-io/fluentci-engine

+
+

FluentCI Engine is a programmable CI/CD engine that is designed to be simple, flexible, and easy to use. It is supposed to run on the host machine without containerization or virtualization, and it is designed to be used with Nix, Pkgx, Devbox, Flox, Devenv, EnvHub, Pixi and Mise.

+
+

Also it has a plugin architecture based on WebAssembly (via Extism), and written in Rust.

+ + + + +

view this post on Zulip Andreas (Apr 11 2024 at 08:17):

+

That looks very interesting @Arnold Schrijver

+ + + + +

view this post on Zulip Tim DeHerrera (Apr 11 2024 at 15:27):

+

Yeah, I'll have to dig in and see how (in)efficient the Nix eval code is :joy:

+

Perhaps I could assist there

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Nix.20events.20in.20India.html b/stream/413950-nix/topic/Nix.20events.20in.20India.html new file mode 100644 index 00000000000..3440907dd45 --- /dev/null +++ b/stream/413950-nix/topic/Nix.20events.20in.20India.html @@ -0,0 +1,41 @@ + +Nix events in India · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Nix events in India

+ +
+ + + + + + +

view this post on Zulip Srid (Jan 09 2024 at 16:09):

+

Our first event! https://nixos.asia/en/event/srid-nix-dev

+ + + + +

view this post on Zulip Srid (Jan 09 2024 at 17:46):

+

Announcement post: https://discourse.nixos.org/t/nix-meetup-in-bangalore-india-23rd-jan-4pm-ist/38033

+ + + + +

view this post on Zulip Srid (Feb 28 2024 at 12:43):

+

home-manager online event

+

https://nixos.asia/en/event/nix-dev-home

+
+

We will demonstrate using Nix to declaratively manage your dotfiles, programs and services using home-manager, thus replacing the likes of legacy software like homebrew. The goal is to create an one-click environment to setup an user environment on any system, be it a Macbook or a Linux machine.

+
+ + + + +

view this post on Zulip Notification Bot (Mar 01 2024 at 12:26):

+

A message was moved from this topic to #nix > home-manager without admin access by Srid.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Nix.20iceberg.html b/stream/413950-nix/topic/Nix.20iceberg.html new file mode 100644 index 00000000000..99c34cd8a08 --- /dev/null +++ b/stream/413950-nix/topic/Nix.20iceberg.html @@ -0,0 +1,39 @@ + +Nix iceberg · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Nix iceberg

+ +
+ + + + + + +

view this post on Zulip RGBCube (Jun 22 2024 at 15:49):

+

I have this draft from a while ago: https://github.com/RGBCube/Site/blob/master/site%2Fblog%2Fnix-iceberg.md

+

Added a little more a few days ago, but some proofreading would be appreciated

+

cc @Srid @Andreas @Tim DeHerrera

+ + + + +

view this post on Zulip RGBCube (Jun 22 2024 at 15:49):

+

It will be about 1500 lines when it's done

+ + + + +

view this post on Zulip Srid (Jun 22 2024 at 15:49):

+

They are not in this channel (which is really for leveraging Zulip as a draft editor). You want me to move this to #nix ?

+ + + + +

view this post on Zulip RGBCube (Jun 22 2024 at 15:50):

+

ah, sure

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Nix.20performance.html b/stream/413950-nix/topic/Nix.20performance.html new file mode 100644 index 00000000000..b77cfd5cd1f --- /dev/null +++ b/stream/413950-nix/topic/Nix.20performance.html @@ -0,0 +1,24 @@ + +Nix performance · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Nix performance

+ +
+ + + + + + +

view this post on Zulip Srid (Jan 20 2024 at 05:46):

+

IFTTT said:

+
+

How to set system architecture in flakes?

+

January 13, 2024 at 07:50AM

+

https://old.reddit.com/r/NixOS/comments/195qx0g/how_to_set_system_architecture_in_flakes/

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Nix.20tutorial.20series.html b/stream/413950-nix/topic/Nix.20tutorial.20series.html new file mode 100644 index 00000000000..868cc26a12f --- /dev/null +++ b/stream/413950-nix/topic/Nix.20tutorial.20series.html @@ -0,0 +1,65 @@ + +Nix tutorial series · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Nix tutorial series

+ +
+ + + + + + +

view this post on Zulip Srid (Dec 18 2023 at 15:11):

+

Inspired by NixOS tutorial series, we should also develop a Nix tutorial series starting from absolute basic workflows all the way to flakes and then to flake-parts.

+

This is the topic to discuss ideas to that end.

+ + + + +

view this post on Zulip Shivaraj B H (Dec 18 2023 at 16:12):

+

To add to that, we can have a dedicated series for setting up development environment for a Haskell project, another for Rust based project, so on and so forth.

+ + + + +

view this post on Zulip Srid (Dec 18 2023 at 18:57):

+

We should include a page on debugging. Comment from someone:

+
+

I also feel like there is a big missing piece in in the overall docs; to me the main issue is “ok, my code isn’t working, how do I debug it”. I feel like if I really knew how the pieces all worked together I could intuit my way to a solution, but since I havne’t done much building of packages/derivations I don’t have that skill set

+
+ + + + +

view this post on Zulip Andreas (Jan 07 2024 at 19:40):

+

I'd also love to see more detailed info about setting up a dev environment, especially using currently available LSP support in common editors

+ + + + +

view this post on Zulip Srid (Jan 09 2024 at 05:40):

+

icodeforyou.net said:

+
+

I'd also love to see more detailed info about setting up a dev environment, especially using currently available LSP support in common editors

+
+

In the context of language-specific development you mean? "Setting up dev environment" is partly being addressed in https://nixos.asia/en/nixify-haskell but we can mention LSP as well here.

+ + + + +

view this post on Zulip Srid (Jan 09 2024 at 05:40):

+

Skeleton

+

I'm thinking our Nix tutorial series should develop it all the way to flake-parts, so:

+
    +
  • Stage 0: Nix expression language + derivations + etc.
  • +
  • Stage 1: Flakes
  • +
  • Stage 2: Module system (using evalModules to refactor one's complex Nix)
  • +
  • Stage 3: flake-parts (module system for flakes; write your own module)
  • +
  • Stage 4: use existing flake-parts modules (eg: haskell-flake, process-compose-flake)
  • +
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Nix.20using.20incorrect.20GHC.html b/stream/413950-nix/topic/Nix.20using.20incorrect.20GHC.html new file mode 100644 index 00000000000..90523046ca0 --- /dev/null +++ b/stream/413950-nix/topic/Nix.20using.20incorrect.20GHC.html @@ -0,0 +1,116 @@ + +Nix using incorrect GHC · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Nix using incorrect GHC

+ +
+ + + + + + +

view this post on Zulip Aman Singh (Feb 21 2024 at 10:02):

+

@Srid I have created this flake and want to add support for multiple version of ghc in my project.
+While testing with GHC 8.10.7 I noticed that dependencies were complaining of base package being different than expected.

+

Below is my flake.nix

+
{
+  inputs = {
+    nixpkgs.url = "github:nixos/nixpkgs";
+  };
+
+  outputs = {self, nixpkgs}:
+    let
+        system = "x86_64-darwin";
+        pkgs = nixpkgs.legacyPackages.${system};
+        overlay = final: prev: {
+          isomorphism-class = pkgs.haskell.lib.dontCheck (pkgs.haskell.lib.doJailbreak prev.isomorphism-class);
+          hspec = pkgs.haskell.lib.doJailbreak prev.hspec;
+          servant = pkgs.haskell.lib.doJailbreak prev.servant;
+          aeson = pkgs.haskellPackages.callHackage "aeson" "1.5.6.0" {};
+          test = final.callCabal2nix "test" ./. {};
+        };
+      myHaskellPackages = pkgs.haskell.packages.ghc8107.extend overlay;
+    in
+    {
+      packages.${system}.default = myHaskellPackages.test;
+    };
+  }
+
+

I noticed that aeson is being built with GHC 9.4.8. After checking it's derivation build logs.

+
$ nix-store -l /nix/store/vmpqkhqcpcnhj0q29lmzbs7zxsnmwcw8-aeson-1.5.6.0.drv
+
+@nix { "action": "setPhase", "phase": "setupCompilerEnvironmentPhase" }
+Running phase: setupCompilerEnvironmentPhase
+Build with /nix/store/ckgd7ip5m9xid8xhr7qbz8iaxxfsnw7j-ghc-9.4.8.
+@nix { "action": "setPhase", "phase": "unpackPhase" }
+Running phase: unpackPhase
+unpacking source archive /nix/store/bhbxs5cp61d3hmlakcsb5i21lbdqpfpm-aeson-1.5.6.0.tar.gz
+source root is aeson-1.5.6.0
+setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file aeson-1.5.6.0/tests/golden/th.expected
+@nix { "action": "setPhase", "phase": "patchPhase" }
+Running phase: patchPhase
+Replace Cabal file with edited version from mirror://hackage/aeson-1.5.6.0/revision/7.cabal.
+@nix { "action": "setPhase", "phase": "compileBuildDriverPhase" }
+Running phase: compileBuildDriverPhase
+setupCompileFlags: -package-db=/private/tmp/nix-build-aeson-1.5.6.0.drv-1/tmp.SUGnXWZhew/setup-package.conf.d -j12 -threaded -rtsopts
+[1 of 2] Compiling Main             ( Setup.lhs, /private/tmp/nix-build-aeson-1.5.6.0.drv-1/tmp.SUGnXWZhew/Main.o )
+[2 of 2] Linking Setup
+@nix { "action": "setPhase", "phase": "configurePhase" }
+Running phase: configurePhase
+configureFlags: --verbose --prefix=/nix/store/ral7v6f2xc6yi6axy53ln7d29a2cc6p8-aeson-1.5.6.0 --libdir=$prefix/lib/$compiler --libsubdir=$abi/$libname --docdir=/nix/store/mljk66bq4f5zskrn17gv8aiy43bkpfac-aeson-1.5.6.0-doc/share/doc/aeson-1.5.6.0 --with-gcc=clang --package-db=/private/tmp/nix-build-aeson-1.5.6.0.drv-1/tmp.SUGnXWZhew/package.conf.d --ghc-options=-j12 --disable-split-objs --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --ghc-options=-haddock --extra-lib-dirs=/nix/store/cday6lpb3xbxpswci75yp77q49jyjf97-ncurses-6.4/lib --extra-lib-dirs=/nix/store/3hxzjdfb88ni8f7h7xbqirsm7massl90-libffi-3.4.4/lib --extra-lib-dirs=/nix/store/dvb8a6g3vmzcckmdjgbcnkw7vpy5df0h-gmp-with-cxx-6.3.0/lib --extra-include-dirs=/nix/store/p8igv6f25sjhhk95wbvcvb82v1sybv10-libiconv-50/include --extra-lib-dirs=/nix/store/p8igv6f25sjhhk95wbvcvb82v1sybv10-libiconv-50/lib --extra-include-dirs=/nix/store/ymw82wxygwr9mia2qnh6a7pbw6jr2rjw-libcxx-16.0.6-dev/include --extra-lib-dirs=/nix/store/vj3mzjyppyjqpqs6k0v9hyr80abmp1ay-libcxx-16.0.6/lib --extra-include-dirs=/nix/store/b3l52c0yywpjqwzkg5f600m5r1njgwx8-libcxxabi-16.0.6-dev/include --extra-lib-dirs=/nix/store/jgzbk5v82s2da4fqd4pjnphpb0c9r351-libcxxabi-16.0.6/lib --extra-include-dirs=/nix/store/m2v3zscdv32dwn55k2wpxjfn42hpjrh4-compiler-rt-libc-16.0.6-dev/include --extra-lib-dirs=/nix/store/4zx1dv50bbj63z5nrh3wjhz22np1f862-compiler-rt-libc-16.0.6/lib --extra-framework-dirs=/nix/store/a55b69y2gdzkd4i4cnjx6agyq0p2bsav-apple-framework-CoreFoundation/Library/Frameworks
+Using Parsec parser
+Configuring aeson-1.5.6.0...
+CallStack (from HasCallStack):
+  withMetadata, called at libraries/Cabal/Cabal/src/Distribution/Simple/Utils.hs:370:14 in Cabal-3.8.1.0:Distribution.Simple.Utils
+Error: Setup: Encountered missing or private dependencies:
+bytestring >=0.10.8.1 && <0.11.2,
+ghc-prim >=0.2 && <0.8,
+hashable-time >=0.2.1 && <0.3,
+primitive >=0.7.0.1 && <0.8,
+template-haskell >=2.9.0.0 && <2.18,
+text >=1.2.3.0 && <1.3,
+vector >=0.12.0.1 && <0.13
+
+

In logs it's visible that aeson is using GHC 9.4.8. If I comment aeson from my flake.nix then it uses the correct GHC but it picks the latest aeson package.

+

How can I pin the aeson version and make it to use a specific GHC version ?

+ + + + +

view this post on Zulip Aravind Gopal (Feb 21 2024 at 10:09):

+

My suggestion. Use Haskell-flake. basePackages param would define the version of ghc and overrides would also be compiled with that ghc version

+ + + + +

view this post on Zulip Srid (Feb 21 2024 at 10:22):

+

@Aravind Gopal Here's first familiarizing himself with the basics before trying flake-parts and the rest.

+ + + + +

view this post on Zulip Srid (Feb 21 2024 at 10:24):

+

@Aman Singh

+

The problem is here:

+
aeson = pkgs.haskellPackages.callHackage "aeson" "1.5.6.0" {};
+
+

pkgs.haskellPackages is the default haskell package set using GHC 9.4.8. Replace that with prev (just as you already do for the test package).

+

Also see https://nixos.wiki/wiki/Overlays

+ + + + +

view this post on Zulip Srid (Feb 21 2024 at 10:26):

+

prev should refer to pkgs.haskell.packages.ghc8107, because you are passing that overlay to the extend function. Overlays are actually simple concept, to extend a Nix attrset. Their implementation is simple: https://github.com/NixOS/nixpkgs/blob/master/lib/fixed-points.nix

+ + + + +

view this post on Zulip Aman Singh (Feb 22 2024 at 08:48):

+

Yeah, it worked. Didn't knew functions carried such context as well. I was able to build my project. Trying haskell-flake now.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Nix.27s.20Achilles.20heel.3F.html b/stream/413950-nix/topic/Nix.27s.20Achilles.20heel.3F.html new file mode 100644 index 00000000000..c8daa422d7e --- /dev/null +++ b/stream/413950-nix/topic/Nix.27s.20Achilles.20heel.3F.html @@ -0,0 +1,32 @@ + +Nix's Achilles heel? · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Nix's Achilles heel?

+ +
+ + + + + + +

view this post on Zulip Arnold Schrijver (Mar 16 2024 at 13:25):

+

An article submission on HN on "Nix is a better image builder than Docker's image builder" triggered a big discussion thread with a lot of good feedback on the Nix experience. The steep onboarding ramp-up is mentioned as a hurdle, but also more general "you-either-love-it-or-hate-it" sentiments. The former can be dealt with by improving ecosystem support and tech maturity level, but latter is more insidious and may cause something of an "opportunity window" to close on the Nix technology landscape and make it significantly harder to increase adoption rates afterwards.

+

As an example of where this happened before, is with Linked Data technology standards. Linked Data refers to a whole host of open technology standards in different levels of maturity and completeness, and with RDF at their basis. It's popularity boomed when Tim Berners-Lee's vision of a "Semantic Web" caused a huge hype cycle. Semantic Web has theoretically 'magic' qualities, but it didn't deliver in time as was seen to have failed. It left the entire dev community with simmering resentment and aversion to adopt to this day ("too complex", "been there, done that, not needed"). Linked Data has continued to mature, but _veeery_ slowly and mostly in niche circles and use cases.

+ + + + +

view this post on Zulip Srid (Mar 16 2024 at 13:39):

+

Perhaps this can be posted to #nix , @Arnold Schrijver ?

+ + + + +

view this post on Zulip Arnold Schrijver (Mar 16 2024 at 13:41):

+

Sure @Srid .. can you move? I don't see an option to do that.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/NixCon.20NA.202024.html b/stream/413950-nix/topic/NixCon.20NA.202024.html new file mode 100644 index 00000000000..41e02f9bb14 --- /dev/null +++ b/stream/413950-nix/topic/NixCon.20NA.202024.html @@ -0,0 +1,32 @@ + +NixCon NA 2024 · nix · Zulip Chat Archive +

Stream: nix

+

Topic: NixCon NA 2024

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 12 2024 at 18:40):

+

@Shivaraj B H You may find this interesting, https://twitter.com/nixos_org/status/1767611726508208285

+

https://2024-na.nixcon.org/talks/#the-case-for-nix-on-the-home-server

+ + + + +

view this post on Zulip Shivaraj B H (Mar 12 2024 at 18:43):

+

They don’t happen to have an option to get notified when the talk starts? Do they? Is it even going to be aired live?

+ + + + +

view this post on Zulip Srid (Mar 12 2024 at 18:44):

+

No idea, but I imagine a recording will be made available.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Nixifying.20the.20vlang.20dev.20environment.html b/stream/413950-nix/topic/Nixifying.20the.20vlang.20dev.20environment.html new file mode 100644 index 00000000000..d7d3411b7db --- /dev/null +++ b/stream/413950-nix/topic/Nixifying.20the.20vlang.20dev.20environment.html @@ -0,0 +1,104 @@ + +Nixifying the vlang dev environment · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Nixifying the vlang dev environment

+ +
+ + + + + + +

view this post on Zulip Srid (Dec 08 2023 at 19:10):

+

https://github.com/vlang/v

+

I see that vlang is already in nixpkgs. That is, it has been packaged in nixpkgs. But the repository itself doesn't have Nix-based development environment.

+

Nix is used not only for packaging, but also for development: https://nixos.asia/en/dev

+

@Swastik Baranwal So I'd propose that we create a flake.nix file in this repo, so that anyone can just git clone it and run nix develop to be dropped in a shell where they build the project, etc. They don't have to install anything on their computer, other than Nix itself.

+

The README says the Makefile does some magical things, including:

+
+

The Tiny C Compiler (tcc) is downloaded for you by make if there is a compatible version for your system, and installed under the V thirdparty directory.

+
+

When using Nix, none of this need to happen, for the devShell can include the same Tiny C Compiler which is in fact available in nixpkgs.

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 19:13):

+

We have our own TCC with our own patches afaik

+ + + + +

view this post on Zulip Srid (Dec 08 2023 at 19:13):

+

Nixifying that patched TCC would be the first step I'd think

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 19:14):

+

I see

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 19:14):

+

Let me see how I can do it

+ + + + +

view this post on Zulip Srid (Dec 08 2023 at 19:15):

+

Write a flake.nix in that TCC repo, then if I run nix run in that repo it should run the compiler.

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 19:16):

+

Are there any guides on how to write a flake.nix

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 19:16):

+

This is for non-windows https://github.com/vlang/tccbin

+ + + + +

view this post on Zulip Srid (Dec 08 2023 at 19:17):

+

I could use this opportunity to see how useful https://nixos.asia/en/blog/nix-rapid is

+

Can you try that and let me know if there's anything you don't understand, as far as introduction goes?

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 19:17):

+

This is for windows https://github.com/vlang/tccbin_win

+ + + + +

view this post on Zulip Srid (Dec 08 2023 at 19:17):

+

Srid said:

+
+

I could use this opportunity to see how useful https://nixos.asia/en/blog/nix-rapid is

+

Can you try that and let me know if there's anything you don't understand, as far as introduction goes?

+
+

This post actually introduces flakes

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 19:17):

+

Srid said:

+
+

I could use this opportunity to see how useful https://nixos.asia/en/blog/nix-rapid is

+

Can you try that and let me know if there's anything you don't understand, as far as introduction goes?

+
+

Sure, I will work on it tomorrow. It is mid night here.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Non-Rust.20dependencies.20in.20Rust.20flake.20template.html b/stream/413950-nix/topic/Non-Rust.20dependencies.20in.20Rust.20flake.20template.html new file mode 100644 index 00000000000..e8b719b411e --- /dev/null +++ b/stream/413950-nix/topic/Non-Rust.20dependencies.20in.20Rust.20flake.20template.html @@ -0,0 +1,49 @@ + +Non-Rust dependencies in Rust flake template · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Non-Rust dependencies in Rust flake template

+ +
+ + + + + + +

view this post on Zulip xqtc (Jan 26 2024 at 17:19):

+

Hey just stumbled about your template for rust projects. i was wondering where i would pass non rust dependencies when i want to run nix build? my project needs openssl and pkg-config.

+ + + + +

view this post on Zulip Srid (Jan 26 2024 at 17:22):

+

buildInputs

+

examples

+ + + + +

view this post on Zulip xqtc (Jan 26 2024 at 17:30):

+

Already tried that. Build still fails, saying it can't find pkgconfig. Here's how i defined it:

+
          # Rust package
+          packages.default = pkgs.rustPlatform.buildRustPackage {
+            inherit (cargoToml.package) name version;
+            buildInputs = [
+              pkgs.pkg-config
+              pkgs.openssl
+            ];
+            src = ./.;
+            cargoLock.lockFile = ./Cargo.lock;
+          };
+
+ + + + +

view this post on Zulip Shivaraj B H (Jan 27 2024 at 02:48):

+

I believe you are looking for nativeBuildInputs

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Overriding.20flake.20inputs.20from.20CLI.html b/stream/413950-nix/topic/Overriding.20flake.20inputs.20from.20CLI.html new file mode 100644 index 00000000000..75600909cb5 --- /dev/null +++ b/stream/413950-nix/topic/Overriding.20flake.20inputs.20from.20CLI.html @@ -0,0 +1,95 @@ + +Overriding flake inputs from CLI · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Overriding flake inputs from CLI

+ +
+ + + + + + +

view this post on Zulip Pratham Patel (Jun 05 2024 at 14:52):

+

I looked and there doesn't seem to be a straightforward way to override flake inputs from the CLI. But I was wondering what method(s) you have employed to do so? I'm looking for opinions on how to do this with minimal changes.

+

At the moment, I have this:

+
  inputs = {
+    nixpkgs-1stable.url = "github:NixOS/nixpkgs/nixos-24.05";
+    home-manager-1stable.url = "github:nix-community/home-manager/release-24.05";
+    home-manager-1stable.inputs.nixpkgs.follows = "nixpkgs-1stable";
+
+    nixpkgs-1stable-small.url = "github:NixOS/nixpkgs/nixos-24.05-small";
+    home-manager-1stable-small.url = "github:nix-community/home-manager/release-24.05";
+    home-manager-1stable-small.inputs.nixpkgs.follows = "nixpkgs-1stable-small";
+
+    nixpkgs-0unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
+    home-manager-0unstable.url = "github:nix-community/home-manager/master";
+    home-manager-0unstable.inputs.nixpkgs.follows = "nixpkgs-0unstable";
+
+    nixpkgs-0unstable-small.url = "github:NixOS/nixpkgs/nixos-unstable-small";
+    home-manager-0unstable-small.url = "github:nix-community/home-manager/master";
+    home-manager-0unstable-small.inputs.nixpkgs.follows = "nixpkgs-0unstable-small";
+  };
+
+  outputs = { self,
+    nixpkgs-1stable,         home-manager-1stable,
+    nixpkgs-1stable-small,   home-manager-1stable-small,
+    nixpkgs-0unstable,       home-manager-0unstable,
+    nixpkgs-0unstable-small, home-manager-0unstable-small,
+    ... }:
+    let
+      nixpkgsRelease = "24.05";
+      nixpkgs = nixpkgs-1stable;
+      home-manager = home-manager-1stable;
+      #nixpkgs = nixpkgs-1stable-small;
+      #home-manager = home-manager-1stable-small;
+      #nixpkgs = nixpkgs-0unstable;
+      #home-manager = home-manager-0unstable;
+      #nixpkgs = nixpkgs-0unstable-small;
+      #home-manager = home-manager-0unstable-small;
+
+# --- [ snip ] ---
+
+

I don't see a "clean" way (tbh, I don't see _any way_ lol) to override nixpkgs to be, say, nixpkgs-0unstable-small from the CLI without a tech-debt of changes.

+ + + + +

view this post on Zulip Pratham Patel (Jun 05 2024 at 14:54):

+

Had inputs not been "static", I could have provided nixos-unstable-small for nixpkgs and master for home-manager's channels respectively. But alas, I'm stuck here :)

+ + + + +

view this post on Zulip Pratham Patel (Jun 05 2024 at 14:55):

+

("Static" as in a let..in block in inputs such that I could use github:NixOS/nixpkgs/${nixpkgsChannel}.)

+ + + + +

view this post on Zulip Srid (Jun 05 2024 at 15:04):

+

--override-input?

+ + + + +

view this post on Zulip Pratham Patel (Jun 05 2024 at 16:09):

+

Oh wow, that worked. I should read the manual instead of user comments :sweat_smile:
+Thank you @Srid

+ + + + +

view this post on Zulip Srid (Jun 05 2024 at 17:12):

+

@Pratham Patel By the way, is what you are trying to do here similar to this request?

+ + + + +

view this post on Zulip Pratham Patel (Jun 05 2024 at 17:32):

+

Kind of. I want to use a different channel of nixpkgs/home-manager to test if the the future (nixos-unstable/master) branches introduce a breaking change or not. This runs in a local CI server I have at my home. :)

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Passing.20arguments.20to.20flake.html b/stream/413950-nix/topic/Passing.20arguments.20to.20flake.html new file mode 100644 index 00000000000..f897486c1bd --- /dev/null +++ b/stream/413950-nix/topic/Passing.20arguments.20to.20flake.html @@ -0,0 +1,114 @@ + +Passing arguments to flake · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Passing arguments to flake

+ +
+ + + + + + +

view this post on Zulip Stephen (Dec 13 2023 at 01:14):

+

I am taking inspiration from nix-systems work, but am struggling.

+

I am trying to use a similar format to define user names, and host names so that I can pass them in as flake inputs and reference in all files as such.

+

I have tried with local and remote files and flakes, but am not sure how to get the string out.

+ + + + +

view this post on Zulip Srid (Dec 13 2023 at 01:16):

+

I think you are looking for: https://github.com/NixOS/nix/issues/5663

+

Right now, only the nix-systems approach is possible.

+ + + + +

view this post on Zulip Srid (Dec 13 2023 at 01:17):

+

https://discourse.nixos.org/t/flake-how-to-have-a-literal-value-input-no-url-file-path/36035

+ + + + +

view this post on Zulip Stephen (Dec 13 2023 at 01:19):

+

I am following the nix-systems approach, but replacing system name with other names.

+ + + + +

view this post on Zulip Stephen (Dec 13 2023 at 01:21):

+

I access system fine as a value, but if I try to access host, no bueno. I keep getting this is a set, not a string errors. And don't know how to get value as a string

+ + + + +

view this post on Zulip Stephen (Dec 13 2023 at 01:22):

+

For example if I try something like ${hosts} = nixpkgs.lib.nixosSystem {}

+ + + + +

view this post on Zulip Stephen (Dec 13 2023 at 01:23):

+

Where hosts is an input hosts.url = "path:./hosts.nix;
+hosts.flake = false;

+ + + + +

view this post on Zulip Stephen (Dec 13 2023 at 01:24):

+

And hosts.nix contains ["hostname"]

+ + + + +

view this post on Zulip Stephen (Dec 13 2023 at 01:24):

+

I have tried mixing up hosts.nix format as well, and also making it a flake in a gitlab repo (I get same error)

+ + + + +

view this post on Zulip Stephen (Dec 13 2023 at 01:25):

+

I have tried inheriting and importing hosts as well

+ + + + +

view this post on Zulip Srid (Dec 13 2023 at 01:29):

+

Is there a way to reproduce your problem? Difficult to help without seeing full context.

+ + + + +

view this post on Zulip Stephen (Dec 13 2023 at 01:32):

+

No, I think I understand why now.
+You can see current commit here which is a bad attempt: https://gitlab.com/stephenandary/flakes/-/tree/flakes/machines?ref_type=heads

+ + + + +

view this post on Zulip Stephen (Dec 13 2023 at 01:33):

+

In the nix-systems examples there are still let-in statements

+ + + + +

view this post on Zulip Stephen (Dec 13 2023 at 01:34):

+

I did not have that, I can try something like that, but I dont think it would play out how I want

+ + + + +

view this post on Zulip Srid (Dec 13 2023 at 01:37):

+

${(import hosts).name} = ...

+ + + + +

view this post on Zulip Stephen (Dec 13 2023 at 01:40):

+

No bueno, but that atleast changed error to is a list instead of set haha. Thanks Srid. I can try to tinker with formats based on this

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Portable.20binaries.html b/stream/413950-nix/topic/Portable.20binaries.html new file mode 100644 index 00000000000..7872b4530ce --- /dev/null +++ b/stream/413950-nix/topic/Portable.20binaries.html @@ -0,0 +1,42 @@ + +Portable binaries · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Portable binaries

+ +
+ + + + + + +

view this post on Zulip majorkaks (Jun 01 2024 at 21:09):

+

Problem: Linux doesn't have portable binaries like windows - download exe from a site and double click to run.

+

I think we could build something based off nix, which runs on any distro and sets up /nix under some X, and allows people to run all nix binaries directly on any distro.

+

Example:
+makeitrun reptyr - launches reptyr as of nixos unstable / latest stable.

+

X:

+
    +
  1. Can be a ram based filesytem like tmpfs
  2. +
  3. Can be a filesystem within a file.
  4. +
  5. Can be a directory path - mainly if user wants to debug.
  6. +
+

makeitrun itself must be a statically linked binary - so that it can run without relying on any glibc etc.

+

What do you peeps thing about it?

+ + + + +

view this post on Zulip Notification Bot (Jun 02 2024 at 01:34):

+

A message was moved here from #general > OSS contribution ideas by Srid.

+ + + + +

view this post on Zulip Srid (Jun 02 2024 at 01:34):

+

nix bundle?

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Recursively.20search.20through.20flake.20inputs.html b/stream/413950-nix/topic/Recursively.20search.20through.20flake.20inputs.html new file mode 100644 index 00000000000..a1d93c910c4 --- /dev/null +++ b/stream/413950-nix/topic/Recursively.20search.20through.20flake.20inputs.html @@ -0,0 +1,147 @@ + +Recursively search through flake inputs · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Recursively search through flake inputs

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Jan 03 2024 at 09:49):

+

I recall @Srid mentioning this before, but I don’t seem to recollect. For example, if I have a flake in project-a and this has project-b in its inputs, project-b in turn depends on project-c in its flake. My question is, how can I find if project-a depends on project-c without having to go through each of the flake. I want something like nix why-depends but for flake inputs.

+ + + + +

view this post on Zulip Srid (Jan 03 2024 at 13:23):

+

Unsure, but there is nix flake metadata which dumps the tree of inputs. It takes --json to produce a JSON output, so something can be built off it. Also nix-browser can (be made to) do this too, but a CLI would be nice.

+ + + + +

view this post on Zulip Tim DeHerrera (Jan 07 2024 at 23:34):

+

fwiw, for quickly traversing inputs in the flake you can simply load the flake in a repl, and a top-level inputs attribute exists for quickly traversing the inputs of a flake

+ + + + +

view this post on Zulip Shivaraj B H (Jan 08 2024 at 13:42):

+

Hey Tim, thanks for that, I am aware that I can traverse through the entire graph of the inputs, i.e if I know the path to whatever input I am looking for. I was looking for a solution, that given an input, gives me the pinned version for that input in the dependency graph and the path to reach to that node in the graph.

+

This is what worked for me:
+To find the pinned revision:

+
$ nix flake metadata --json | jq '.. | ."hedis"? | select( . != null )'
+
+

Which gives me the following output:

+
{
+  "flake": false,
+  "locked": {
+    "lastModified": 1689234100,
+    "narHash": "sha256-J4mqtraMzLJguL0BwMUETeBpNJXRf86E2ZaP9xx+4tY=",
+    "owner": "juspay",
+    "repo": "hedis",
+    "rev": "77bf501da57639a60728b577e1c3780f70ddb418",
+    "type": "github"
+  },
+  "original": {
+    "owner": "juspay",
+    "repo": "hedis",
+    "rev": "77bf501da57639a60728b577e1c3780f70ddb418",
+    "type": "github"
+  }
+}
+"hedis"
+
+

Now, what if I want to get the path to reach this node, I can still use jq to do this, thanks to this solution from stackoverflow:

+
nix flake metadata --json | jq -c 'paths | select(.[-1] == "hedis")'
+
+

This gives me the output:

+
["locks","nodes","euler-hs","inputs","hedis"]
+["locks","nodes","hedis"]
+
+

Now I know hedis comes from euler-hs’s flake.

+ + + + +

view this post on Zulip Srid (Jan 08 2024 at 17:12):

+

Nice one; here's another example (shared-kernel is transitively used by two other flakes, in addition to direct reference by the root flake; though the output doesn't say whether they all are pinned at same rev):

+
 nix flake metadata --json github:nammayatri/nammayatri | jq -c 'paths | select(.[-1] == "shared-kernel")'
+["locks","nodes","beckn-gateway","inputs","shared-kernel"]
+["locks","nodes","namma-dsl","inputs","shared-kernel"]
+["locks","nodes","root","inputs","shared-kernel"]
+["locks","nodes","shared-kernel"]
+
+ + + + +

view this post on Zulip Shivaraj B H (Jan 08 2024 at 17:16):

+

That shouldn’t be hard to solve, I will have a look tomorrow

+ + + + +

view this post on Zulip Srid (Jan 08 2024 at 17:18):

+

You could wrap all of this in a pkgs.writeShellApplication and make it a flake-app runnable as, for instance, nix run github:shivaraj-bh/search-flake-inputs github:nammayatri/nammayatri shared-kernel

+ + + + +

view this post on Zulip Srid (Jan 08 2024 at 17:19):

+

Probably an overkill, unless it is going to do more / act general.

+ + + + +

view this post on Zulip Shivaraj B H (Jan 08 2024 at 17:32):

+

I will probably come up with a more prettified output for this along with displaying a correspond short rev for the node in question, then making a flake-app around it would make sense

+ + + + +

view this post on Zulip Srid (Jan 08 2024 at 17:33):

+

Stretch goal: can it also search flake output tree?

+ + + + +

view this post on Zulip Shivaraj B H (Jan 15 2024 at 14:29):

+

https://github.com/shivaraj-bh/search-flake-inputs

+

Screenshot-2024-01-15-at-7.58.02PM.png

+
+ + + + +

view this post on Zulip Srid (Jan 16 2024 at 05:32):

+

announce it!

+ + + + +

view this post on Zulip tgunnoe (Feb 05 2024 at 21:04):

+

this is really useful. thanks

+ + + + +

view this post on Zulip Shivaraj B H (Feb 06 2024 at 03:45):

+

I was planning to announce it but was wondering if I could make a general purpose search application in rust. It will be able to search outputs, inputs and can be made extensible to search much more.

+ + + + +

view this post on Zulip Shivaraj B H (Feb 06 2024 at 03:46):

+

tgunnoe said:

+
+

this is really useful. thanks

+
+

Maybe I should announce it at its current state and then later launch a successor that will deprecate this.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Running.20python.20process.20using.20process-compose.html b/stream/413950-nix/topic/Running.20python.20process.20using.20process-compose.html new file mode 100644 index 00000000000..387765d9b97 --- /dev/null +++ b/stream/413950-nix/topic/Running.20python.20process.20using.20process-compose.html @@ -0,0 +1,325 @@ + +Running python process using process-compose · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Running python process using process-compose

+ +
+ + + + + + +

view this post on Zulip Soumyajit Behera (Jan 02 2024 at 09:46):

+

I am trying to run some process using process compose.
+Using

+
in
+   {
+    process-compose =
+      {
+        settings.processes = commonConfig {
+            load-test = {
+              command = pkgs.writeShellApplication {
+                name = "load-test";
+                runtimeInputs = [pkgs.python3];
+                text = ''
+                  set -x
+                  python3 Backend/load-test/setup/auth.py
+                '';
+              };
+            };
+          };
+        };
+  };
+}
+
+

But this is throwing the below error
+error: flake 'git+file:///Users/soumyajit.behera/backend-nammayatri/b-nammayatri' does not provide attribute 'packages.aarch64-darwin.load-test', 'legacyPackages.aarch64-darwin.load-test'

+

Can someone help me here?

+ + + + +

view this post on Zulip Notification Bot (Jan 02 2024 at 09:50):

+

A message was moved here from #nix > Nix tutorial series by Soumyajit Behera.

+ + + + +

view this post on Zulip Srid (Jan 02 2024 at 12:39):

+

Your config is wrong. It should be process-compose.load-test = not process-compose =

+

See example here: https://github.com/Platonic-Systems/process-compose-flake/blob/main/example/flake.nix#L20

+

Also, we have a stream for process-compose: #process-compose-flake

+ + + + +

view this post on Zulip Soumyajit Behera (Jan 02 2024 at 13:39):

+
_:
+{
+  perSystem = perSystem@{ self', pkgs, lib, ... }: {
+    process-compose.load-test-nix =
+      {
+        settings.processes = {
+            echo-web.command = ''
+               while true; do
+                  echo "heloow"
+                done
+              '';
+
+            auth = {
+              command = pkgs.writeShellApplication {
+                name = "auth";
+                runtimeInputs = [ pkgs.python3 ];
+                text = ''
+                    python3 Backend/load-test/setup/auth.py
+                '';
+              };
+            };
+          };
+      };
+  };
+}
+
+

With this there is no error but the process-compose is not coming up.

+ + + + +

view this post on Zulip Srid (Jan 02 2024 at 13:57):

+

Make sure you are using the latest process-compose. If in nammayatri, use the latest common repo flake input.

+ + + + +

view this post on Zulip Soumyajit Behera (Jan 03 2024 at 07:15):

+

The issue was with the older version of process compose .
+Which needs a new argument for -p=0 (port) to come up.
+So we can use -p=0 as argument in nix run.

+ + + + +

view this post on Zulip Soumyajit Behera (Jan 03 2024 at 10:04):

+
let
+  my-python-packages = ps: with ps; [
+    ( buildPythonPackage rec {
+      pname = "locust";
+      version = "2.16.1";
+      format = "pyproject";
+
+      src = fetchFromGitHub {
+        owner = "locustio";
+        repo = "locust";
+        rev = version;
+        sha256 = "sha256-MKFzEFpDkD8e+ENZN0GAWYipPK9A4SCZZRHG5/5UaNM=";
+      };
+
+      patchPhase = ''
+        echo 'version = "${version}"' > locust/_version.py
+      '';
+
+      propagatedBuildInputs = with python3Packages; [
+        requests
+        flask-basicauth
+        flask-cors
+        msgpack
+        gevent
+        pyzmq
+        roundrobin
+        geventhttpclient
+        psutil
+        typing-extensions
+        configargparse
+        setuptools
+      ];
+    })
+  ];
+
+

I wanted to add locust to my env but this is giving error error: attribute 'buildPythonPackage' missing

+

I have tried importing { inputs, buildPythonPackage, fetchPypi, fetchFromGitHub, python3Packages, ... }:
+But this is not working

+ + + + +

view this post on Zulip Shivaraj B H (Jan 03 2024 at 10:12):

+

buildPythonPackage comes from pkgs.python3Packages.buildPythonPackage

+ + + + +

view this post on Zulip Soumyajit Behera (Jan 03 2024 at 12:23):

+
error: builder for '/nix/store/rs8hwv9ra51064vxbdn05yz08kg1z801-python3.10-locust-2.19.1.drv' failed with exit code 1;
+       last 10 log lines:
+       >     _version_missing(config)
+       >   File "/nix/store/gaafmp68vslf33sawfi97rywids1s1kg-python3.10-setuptools-scm-7.1.0/lib/python3.10/site-packages/setuptools_scm/__init__.py", line 108, in _version_missing
+       >     raise LookupError(
+       > LookupError: setuptools-scm was unable to detect version for /private/tmp/nix-build-python3.10-locust-2.19.1.drv-0/source.
+       >
+       > Make sure you're either building from a fully intact git repository or PyPI tarballs. Most other sources (such as GitHub's tarballs, a git checkout without the .git folder) don't contain the necessary metadata and will not work.
+       >
+       > For example, if you're using pip, instead of https://github.com/user/proj/archive/master.zip use git+https://github.com/user/proj.git#egg=proj
+       >
+       > ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel
+       For full logs, run 'nix log /nix/store/rs8hwv9ra51064vxbdn05yz08kg1z801-python3.10-locust-2.19.1.drv'.
+error: 1 dependencies of derivation '/nix/store/jgxlnqwwhnyahpvl68niz5qvrffcxpp5-ny-backend-env.drv' failed to build
+
+

Adding locust to the env.
+Its giving this error.

+ + + + +

view this post on Zulip Shivaraj B H (Jan 03 2024 at 13:16):

+

You can avoid the setuptools-scm problem like this:

+
{
+  inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
+  outputs = inputs@{...}: {
+    packages.x86_64-linux.default =
+    let
+      pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
+    in
+    with pkgs;
+    with pkgs.python3Packages;
+    ( buildPythonPackage rec {
+      pname = "locust";
+      version = "2.20.1";
+      format = "pyproject";
+
+      src = fetchFromGitHub {
+        owner = "locustio";
+        repo = "locust";
+        rev = version;
+        sha256 = "sha256-pPtH9rnIDFRUyWPPF7xmPtfpiBFIz9WLYTTV+W0s/es=";
+      };
+
+      patchPhase = ''
+        echo 'version = "${version}"' > locust/_version.py
+      '';
+      SETUPTOOLS_SCM_PRETEND_VERSION = version;
+      nativeBuildInputs = [ setuptools-scm ];
+
+      propagatedBuildInputs = [
+       requests
+       flask-basicauth
+       flask-cors
+       msgpack
+       gevent
+       pyzmq
+       geventhttpclient
+       roundrobin
+       psutil
+       typing-extensions
+       configargparse
+       setuptools
+      ];
+    });
+
+  };
+}
+
+

See here: https://github.com/NixOS/nixpkgs/issues/41136#issuecomment-1101342698

+ + + + +

view this post on Zulip Shivaraj B H (Jan 03 2024 at 13:17):

+

Also after this the package will complaint about roundrobin being missing as it is still an open PR here https://github.com/NixOS/nixpkgs/pull/185087

+ + + + +

view this post on Zulip Shivaraj B H (Jan 03 2024 at 13:17):

+

You will have to create another buildPythonPackage for roundrobin and link it here

+ + + + +

view this post on Zulip Shivaraj B H (Jan 03 2024 at 15:55):

+

@Soumyajit Behera
+Here’s a flake that builds locust, just run nix build:

+
{
+  inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
+  outputs = inputs@{ ... }:
+    let pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux; in {
+      packages.x86_64-linux.default =
+        with pkgs;
+        with pkgs.python3Packages;
+        let
+          roundrobin = buildPythonPackage rec {
+            pname = "roundrobin";
+            version = "0.0.4";
+
+            src = fetchFromGitHub {
+              owner = "linnik";
+              repo = pname;
+              rev = version;
+              sha256 = "sha256-eedE4PE43sbJE/Ktrc31KjVdfqe2ChKCYUNIl7fir0E=";
+            };
+
+            checkPhase = ''
+              runHook preCheck
+              ${python.interpreter} -m unittest discover
+              runHook postCheck
+            '';
+
+            pythonImportsCheck = [ pname ];
+
+          };
+        in
+        (buildPythonPackage rec {
+          pname = "locust";
+          version = "2.20.1";
+          format = "pyproject";
+
+          src = fetchFromGitHub {
+            owner = "locustio";
+            repo = "locust";
+            rev = version;
+            sha256 = "sha256-pPtH9rnIDFRUyWPPF7xmPtfpiBFIz9WLYTTV+W0s/es=";
+          };
+
+          patchPhase = ''
+            echo 'version = "${version}"' > locust/_version.py
+          '';
+          SETUPTOOLS_SCM_PRETEND_VERSION = version;
+          nativeBuildInputs = [ setuptools-scm ];
+          pythonImportsCheck = [ pname ];
+
+          propagatedBuildInputs = [
+            requests
+            flask-basicauth
+            flask-cors
+            msgpack
+            gevent
+            pyzmq
+            geventhttpclient
+            roundrobin
+            psutil
+            typing-extensions
+            configargparse
+            setuptools
+          ];
+        });
+
+    };
+}
+
+ + + + +

view this post on Zulip Srid (Jan 03 2024 at 16:04):

+

(One of these days we probably want to create a ... python-flake)

+ + + + +

view this post on Zulip Shivaraj B H (Jan 04 2024 at 07:10):

+

Agreed

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Rust.20cross-compilation.html b/stream/413950-nix/topic/Rust.20cross-compilation.html new file mode 100644 index 00000000000..fc4b1ac0531 --- /dev/null +++ b/stream/413950-nix/topic/Rust.20cross-compilation.html @@ -0,0 +1,107 @@ + +Rust cross-compilation · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Rust cross-compilation

+ +
+ + + + + + +

view this post on Zulip Drew Jose (Feb 14 2024 at 07:02):

+

Hello, everyone! I've been using nix mostly as a package manager with home-manager, and today I had a dillemma: cross compiling.
+On trying to do so it gives you the helpful advice to do rustup target add, which prompted me to delete all my rust packages from home manager and just install rustup.

+

https://emacs.ch/@crmsnbleyd/111928501351116776

+

Have any of you ever done cross compilation with rust without resorting to this?

+ + + + +

view this post on Zulip Andreas (Feb 14 2024 at 07:37):

+

There is a thing called flakebox which is supposedly offering this. Maybe worth a try. They have a tutorial including cross-compilation here: https://github.com/rustshop/flakebox/blob/master/docs/building-new-project.md

+ + + + +

view this post on Zulip Srid (Feb 14 2024 at 08:46):

+

What are you cross-compiling to?

+

See

+ +

They both use https://crane.dev/ and in the first repo you can see rust-toolchain.toml containing the wasm target which is what Nix uses.

+ + + + +

view this post on Zulip Srid (Feb 14 2024 at 08:47):

+

https://crane.dev/examples/cross-rust-overlay.html

+ + + + +

view this post on Zulip Srid (Feb 14 2024 at 08:49):

+

Flakebox uses crane; I'd recommend fiddling with crane first.

+ + + + +

view this post on Zulip Drew Jose (Feb 14 2024 at 08:58):

+

Srid said:

+
+

What are you cross-compiling to?

+
+

from Darwin to x86_64-unknown-linux-gnu

+ + + + +

view this post on Zulip Srid (Feb 14 2024 at 08:59):

+

You can try it with https://crane.dev/examples/cross-rust-overlay.html

+ + + + +

view this post on Zulip Srid (Feb 14 2024 at 09:01):

+

I also just came across this. Looks interesting, but don't know much about it:

+

https://old.reddit.com/r/rust/comments/11okj5w/rust_crosscompilation_without_struggles_by_using/

+ + + + +

view this post on Zulip Srid (Feb 14 2024 at 09:02):

+
+

With it, you can build Linux binaries and docker images from the MacOS hosts without any virtual machines.

+
+ + + + +

view this post on Zulip Srid (Feb 14 2024 at 09:03):

+

Full flake example

+ + + + +

view this post on Zulip Srid (Feb 14 2024 at 09:03):

+

Unlike crane, this uses whatever build infra nixpkgs provides. As an interesting aside, the example uses #flake-parts

+ + + + +

view this post on Zulip Notification Bot (Feb 14 2024 at 11:29):

+

Drew Jose has marked this topic as resolved.

+ + + + +

view this post on Zulip Notification Bot (Feb 14 2024 at 11:29):

+

Drew Jose has marked this topic as unresolved.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Separating.20evaluation.20and.20realization.html b/stream/413950-nix/topic/Separating.20evaluation.20and.20realization.html new file mode 100644 index 00000000000..55616b851b0 --- /dev/null +++ b/stream/413950-nix/topic/Separating.20evaluation.20and.20realization.html @@ -0,0 +1,46 @@ + +Separating evaluation and realization · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Separating evaluation and realization

+ +
+ + + + + + +

view this post on Zulip Srid (Feb 16 2024 at 13:22):

+

Just a little thing I found. You can evaluate a derivation first without building:

+
❯ nix path-info --derivation .#default
+evaluating derivation 'git+file:///Users/srid/code/emanote#default'
+/nix/store/sdsqgcdzzzxcc3f12gvn6i44vh0xwmnq-emanote-1.3.13.0.drv
+
+

And then realize (aka. 'build') the evaluated derivation,

+
❯ nix build --no-link --print-out-paths '/nix/store/sdsqgcdzzzxcc3f12gvn6i44vh0xwmnq-emanote-1.3.13.0.drv^out'
+/nix/store/s79fra86jg0fxv5g084wb0dn7mp3scz8-emanote-1.3.13.0
+
+

As an aside, IFD involves evaluating the built path (a derivation) once again and building the resultant derivation. https://nixos.asia/en/ifd

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 16 2024 at 16:09):

+

Indeed. This is the entire premise behind std-ci as well

+ + + + +

view this post on Zulip tgunnoe (Feb 20 2024 at 17:29):

+

oh, it just clicked to me that that's what the --derivation flag is attempting to describe. i think its vague hence i didn't understand it until now

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 20 2024 at 17:39):

+

Honestly after designing std-action, I really got the feeling that it was a missed opportunity in Nix's design that we didn't more heavily focus on the separation of "eval time" vs "build time". There was a lot of kerfuffle about the flake cache, and how it's not super efficient. But a derivation is it's own evaluation cache, after all

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/The.20Nix.20Abstractions.html b/stream/413950-nix/topic/The.20Nix.20Abstractions.html new file mode 100644 index 00000000000..62db7823d70 --- /dev/null +++ b/stream/413950-nix/topic/The.20Nix.20Abstractions.html @@ -0,0 +1,31 @@ + +The Nix Abstractions · nix · Zulip Chat Archive +

Stream: nix

+

Topic: The Nix Abstractions

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 13 2024 at 17:40):

+

Though I'd dedicate this topic for listing these abstractions/wrappers on top of Nix. We already know about https://devenv.sh/

+

Flox just got announced on HN: https://news.ycombinator.com/item?id=39692801

+ + + + +

view this post on Zulip Srid (Mar 27 2024 at 12:47):

+

IFTTT said:

+
+

How do I pick between devenv, devshell, devbox and flox?

+

March 26, 2024 at 03:16AM

+

https://old.reddit.com/r/NixOS/comments/1bo4d3v/how_do_i_pick_between_devenv_devshell_devbox_and/

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/The.20future.20of.20.60nixci.60.html b/stream/413950-nix/topic/The.20future.20of.20.60nixci.60.html new file mode 100644 index 00000000000..8f91d8372ee --- /dev/null +++ b/stream/413950-nix/topic/The.20future.20of.20.60nixci.60.html @@ -0,0 +1,25 @@ + +The future of `nixci` · nix · Zulip Chat Archive +

Stream: nix

+

Topic: The future of `nixci`

+ +
+ + + + + + +

view this post on Zulip Srid (Aug 05 2024 at 17:20):

+

https://github.com/juspay/omnix/issues/199

+ + + + +

view this post on Zulip Srid (Sep 25 2024 at 21:23):

+

https://omnix.page/om/ci.html

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/Update.20multiple.20.60flake.2Elock.60.20using.20Github.20Actions.E2.80.99.20matrix.html b/stream/413950-nix/topic/Update.20multiple.20.60flake.2Elock.60.20using.20Github.20Actions.E2.80.99.20matrix.html new file mode 100644 index 00000000000..00c063212dc --- /dev/null +++ b/stream/413950-nix/topic/Update.20multiple.20.60flake.2Elock.60.20using.20Github.20Actions.E2.80.99.20matrix.html @@ -0,0 +1,19 @@ + +Update multiple `flake.lock` using Github Actions’ matrix · nix · Zulip Chat Archive +

Stream: nix

+

Topic: Update multiple `flake.lock` using Github Actions’ matrix

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Aug 05 2024 at 05:07):

+

https://github.com/DeterminateSystems/update-flake-lock/issues/82#issuecomment-2268167540

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/auth.20credentials.20for.20manual.20calls.20to.20git.20in.20derivations.html b/stream/413950-nix/topic/auth.20credentials.20for.20manual.20calls.20to.20git.20in.20derivations.html new file mode 100644 index 00000000000..b4d4603e898 --- /dev/null +++ b/stream/413950-nix/topic/auth.20credentials.20for.20manual.20calls.20to.20git.20in.20derivations.html @@ -0,0 +1,38 @@ + +auth credentials for manual calls to git in derivations · nix · Zulip Chat Archive +

Stream: nix

+

Topic: auth credentials for manual calls to git in derivations

+ +
+ + + + + + +

view this post on Zulip Tim DeHerrera (May 24 2024 at 14:47):

+

I have a python package tree-sitter-languages that I am trying to build for the sake of using it ultimately in aider.

+

There is a somewhat nasty build script that calls git manually a bunch of times to clone tree sitter grammars and then runs a build action over them. I may attempt to patch or coax upstream at some point to get this fixed properly, but for the time being I'd just like to get the damn thing to build so I can actually use it on my NixOS machine.

+

So as a stop-gap I am using a fixed-output derivation, but I am arriving at an impass of Nix giving me the "illegal path reference" error and in order to debug it and find the path I've had to build the derivations enough times that I have now been rate limited by github due to all the cloning.

+

Thinking I could get around this problem by using a PAT to clone. So with all that useless context out of the way (in case anyone wants to help with any of those problems as well :sweat_smile:) my immediate question is if anyone has found a simple way to pass auth creds (either PAT or SSH) into a fixed-output derivation for the git cli to consume?

+

It is a general enough question that I figured we could use an answer for posterity anyway.

+ + + + +

view this post on Zulip Rohit Singh (May 25 2024 at 17:24):

+

I haven't personally tried it out but maybe this can help.

+

https://nixos.zulipchat.com/#narrow/stream/413950-nix/topic/.E2.9C.94.20nix.20flake.20--init.20with.20template.20in.20private.20repo.3F/near/434524003

+ + + + +

view this post on Zulip Tim DeHerrera (May 25 2024 at 21:26):

+

No that's if you are using Nix properly and fetching them with the building or FoD fetchers.

+

In this case the builder calls git directly. I already know how to fix it more or less, just didn't know if a more elegant solution than the one I will attempt already existed possibly.

+

Shelving it til Monday though

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/define.20order.20of.20formatters.20in.20treefmt-nix.html b/stream/413950-nix/topic/define.20order.20of.20formatters.20in.20treefmt-nix.html new file mode 100644 index 00000000000..58079281f05 --- /dev/null +++ b/stream/413950-nix/topic/define.20order.20of.20formatters.20in.20treefmt-nix.html @@ -0,0 +1,33 @@ + +define order of formatters in treefmt-nix · nix · Zulip Chat Archive +

Stream: nix

+

Topic: define order of formatters in treefmt-nix

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Apr 10 2024 at 11:04):

+

Is it possible to define a depends-on relation for a formatter, like running stylish-haskell should depend on ormolu having been executed?

+

FYI @Abhishek Yadav

+ + + + +

view this post on Zulip Srid (Apr 11 2024 at 06:43):

+

Similar to https://github.com/cachix/git-hooks.nix/issues/250 but for treefmt-nix.

+

Maybe this: https://github.com/numtide/treefmt/issues/77

+ + + + +

view this post on Zulip Shivaraj B H (Apr 11 2024 at 10:55):

+

There is also another option to write a custom formatter that will run the dependent formatters sequentially

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/flake.html b/stream/413950-nix/topic/flake.html new file mode 100644 index 00000000000..d679830c915 --- /dev/null +++ b/stream/413950-nix/topic/flake.html @@ -0,0 +1,36 @@ + +flake · nix · Zulip Chat Archive +

Stream: nix

+

Topic: flake

+ +
+ + + + + + +

view this post on Zulip Tamil Selvan (Mar 20 2024 at 09:01):

+

Is there any support for flake inputs to have expressions in decl?

+
inputs = {
+      var1.url =  ("string1" + "string2");
+};
+
+

Expressions like these throw a thunk error and I am unable to force evaluate it

+ + + + +

view this post on Zulip Tim DeHerrera (Mar 20 2024 at 12:18):

+

inputs.${var1}.url = # ...

+ + + + +

view this post on Zulip Tim DeHerrera (Mar 20 2024 at 12:19):

+

However, this won't work in flake inputs. No eval of any kind is allowed in inputs unfortunately. It's a stricter subset of Nix, technically

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/helix.html b/stream/413950-nix/topic/helix.html new file mode 100644 index 00000000000..d808936d67e --- /dev/null +++ b/stream/413950-nix/topic/helix.html @@ -0,0 +1,201 @@ + +helix · nix · Zulip Chat Archive +

Stream: nix

+

Topic: helix

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Feb 20 2024 at 17:38):

+

I am planning to make a switch to helix as well, struggling a bit with key bindings, wish there were better defaults.

+

How does the code auto-complete work?

+

I am looking for something like this: https://x.com/victortaelin/status/1753593250340856179?s=46

+ + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 17:40):

+
+

struggling a bit with key bindings, wish there were better defaults.

+
+

You bet, I sunk yesterday roughly 6-10 hours into it. First output: https://github.com/helix-editor/helix/wiki/Keymap-brainstorm#nix--home-manager-snippet

+

Happy to help. Gotcha, so far:

+
    +
  • Unbind everything with a no_op very systematically or you loose overview
  • +
  • Use that link to remap the select mode to the correct keys
  • +
+

Tim's also on helix and has good tips!

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 20 2024 at 17:45):

+

@Shivaraj B H I have been using Helix for almost two years. Have contributed a few PRs to improve the Nix support as well. Depends on what you are trying to accomplish, but my config is fairly basic and it's worked well for a long time now. Before Helix I was using kakoune for about 4 years and I really enjoyed it's paradigm, so my keybinds are designed to mimic it's behavior.

+ + + + +

view this post on Zulip Shivaraj B H (Feb 20 2024 at 17:54):

+

Is your helix configuration public?

+

If I can mimic VIM key bindings in helix, I will be more than happy.

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 20 2024 at 17:58):

+

I just recently made my config private on github, as it is now exposing a lot of information about my private network topology, but I use home-manager for helix and the config I have used is really small:

+
  programs.helix.settings = {
+    theme = "snazzy";
+    editor.true-color = true;
+    keys.normal = {
+      # kakoune like
+      w = "extend_next_word_start";
+      b = "extend_prev_word_start";
+      e = "extend_next_word_end";
+      W = "extend_next_long_word_start";
+      B = "extend_prev_long_word_start";
+      E = "extend_next_long_word_end";
+
+      n = "search_next";
+      N = "search_prev";
+      A-n = "extend_search_next";
+      A-N = "extend_search_prev";
+      # ----------------
+
+      # syntax tree maniuplation
+      A-j = "expand_selection";
+      A-k = "shrink_selection";
+      A-h = "select_prev_sibling";
+      A-l = "select_next_sibling";
+      # ----------------
+
+      C-s = ":w";
+      C-q = ":q";
+      C-w = "rotate_view";
+      C-p = "file_picker";
+      C-b = "buffer_picker";
+      C-A-n = ":bn";
+      C-A-p = ":bp";
+      y = ["yank" "yank_joined_to_clipboard"];
+    };
+    keys.insert.j.j = "normal_mode";
+  };
+
+

A lot of the defaults are already very similar to Vim, there are only a few that deviate. Should be fairly easy to remap them. The doc should help as well:
+https://docs.helix-editor.com/remapping.html

+ + + + +

view this post on Zulip Shivaraj B H (Feb 20 2024 at 17:59):

+

Awesome! That’s helpful

+ + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 18:39):

+

Thus far I got.

+
# https://docs.helix-editor.com/remapping.html#key-remapping
+# https://docs.helix-editor.com/keymap.html
+v = "no_op"
+a = "select_mode"
+C-a = "select_mode"
+# https://docs.helix-editor.com/keymap.html#movement
+# [n,e,o,i]
+h = "no_op"
+j = "no_op"
+# k       = "no_op"
+# l       = "no_op"
+n = "move_char_left"
+e = "move_line_down"
+o = "move_line_up"
+i = "move_char_right"
+# Ctrl: words instead
+# w       = "no_op"
+W = "no_op"
+b = "no_op"
+B = "no_op"
+# e       = "no_op"
+E = "no_op"
+C-n = "move_prev_word_start"
+C-A-n = "move_prev_long_word_start"
+C-i = "move_next_word_end"
+C-A-i = "move_next_long_word_end"
+# modified arrow keys: page navigation
+C-b = "no_op"
+C-f = "no_op"
+C-u = "no_op"
+C-d = "no_op"
+# C-i     = "no_op" # todo
+# C-o     = "no_op" # todo
+C-s = "no_op" # todo
+C-S-up = "page_up"
+C-S-down = "page_down"
+C-up = "half_page_up"
+C-down = "half_page_down"
+C-left = "goto_line_start"
+C-right = "goto_line_end"
+# https://docs.helix-editor.com/keymap.html#changes
+"A-`" = "no_op" # switch_case
+"`" = "switch_to_lowercase"
+"~" = "switch_to_uppercase"
+# lines: k/l
+# i       = "no_op"
+# a       = "no_op"
+I = "no_op"
+A = "no_op"
+# o       = "no_op"
+O = "no_op"
+k = "insert_mode"
+C-k = "insert_at_line_start"
+l = "append_mode"
+C-l = "insert_at_line_end"
+K = "open_above"
+L = "open_below"
+# copy / paste / replace / undo / redo / change: drw fup
+# y       = "no_op"
+f = "yank"
+P = "no_op"
+A-p = "paste_before"
+r = "replace"
+R = "no_op"
+A-r = "replace_with_yanked"
+c = "no_op"
+A-c = "no_op"
+w = "change_selection"
+A-w = "change_selection_noyank"
+# in/de - crement
+# C-a = "no_op"
+C-x = "no_op"
+y = "decrement"
+Y = "increment"
+# https://docs.helix-editor.com/keymap.html#shell
+# shell
+"A-!" = "no_op"
+"!" = "shell_keep_pipe"
+"$" = "shell_insert_output"
+"A-$" = "shell_append_output"
+# https://docs.helix-editor.com/keymap.html#search
+# searching
+N = "no_op"
+# n       = "no_op"
+C-A-e = "search_next"
+C-A-o = "search_prev"
+# https://docs.helix-editor.com/keymap.html#selection-manipulation
+# Shift: extend
+C-e = "copy_selection_on_next_line"
+C-o = "copy_selection_on_prev_line"
+# line selection
+C-E = "extend_line_below"
+C-O = "extend_line_above"
+# silences
+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/home-manager.20without.20admin.20access.html b/stream/413950-nix/topic/home-manager.20without.20admin.20access.html new file mode 100644 index 00000000000..652c8df6c3f --- /dev/null +++ b/stream/413950-nix/topic/home-manager.20without.20admin.20access.html @@ -0,0 +1,202 @@ + +home-manager without admin access · nix · Zulip Chat Archive +

Stream: nix

+

Topic: home-manager without admin access

+ +
+ + + + + + +

view this post on Zulip Krishnakumar Gopalakrishnan (Mar 01 2024 at 09:24):

+

Srid said:

+
+

home-manager online event

+

https://nixos.asia/en/event/nix-dev-home

+
+

We will demonstrate using Nix to declaratively manage your dotfiles, programs and services using home-manager, thus replacing the likes of legacy software like homebrew. The goal is to create an one-click environment to setup an user environment on any system, be it a Macbook or a Linux machine.

+
+
+

Highly interested in using home-manager with a non-root install of nix. I work on multiple remote servers for HPC development (where I don't have admin priveleges), and would like to have an identical dev environment everywhere with modern tools etc available in my $PATH. Would be nice if the talk will cover this aspect.

+ + + + +

view this post on Zulip Notification Bot (Mar 01 2024 at 12:26):

+

A message was moved here from #nix > Nix events in India by Srid.

+ + + + +

view this post on Zulip Srid (Mar 01 2024 at 12:26):

+

@Krishnakumar Gopalakrishnan Welcome!

+

I'm pretty sure home-manager on itself shouldn't require root access.

+

It is Nix installation that normally does, but I think there's a way to install it without requiring it.

+ + + + +

view this post on Zulip Srid (Mar 01 2024 at 12:37):

+

Srid said:

+
+

[...] I think there's a way to install it without requiring it.

+
+

You can try this: https://nixos.wiki/wiki/Nix_Installation_Guide#Installing_without_root_permissions

+ + + + +

view this post on Zulip Srid (Mar 01 2024 at 17:05):

+

Also https://github.com/DavHau/nix-portable

+

But has performance drawbacks,

+
+

If user namespaces are not available on a system, nix-portable will fall back to using proot instead of bubblewrap. Proot's virtualization can have a significant performance overhead depending on the workload. In that situation, it might be beneficial to use a remote builder or alternatively build the derivations on another host and sync them via a cache like cachix.org.

+
+ + + + +

view this post on Zulip Tim DeHerrera (Mar 01 2024 at 17:08):

+

Nix only needs root if using the daemon. You can still run Nix in "single-user" daemonless mode, and the only requirement is that the user calling the binary own the /nix dir

+ + + + +

view this post on Zulip Tim DeHerrera (Mar 01 2024 at 17:08):

+

Little known fact that a static nix binary will create its own chroot store automatically for the current user of called and no /nix dir exists as well

+ + + + +

view this post on Zulip Tim DeHerrera (Mar 01 2024 at 17:09):

+

(making nix-portable somewhat obsolete)

+ + + + +

view this post on Zulip Srid (Mar 01 2024 at 17:22):

+

Okay, so basically @Krishnakumar Gopalakrishnan can follow the "Single user" instructions here https://nixos.org/manual/nix/stable/installation/#single-user

+ + + + +

view this post on Zulip tgunnoe (Mar 01 2024 at 17:42):

+

Tim DeHerrera said:

+
+

Little known fact that a static nix binary will create its own chroot store automatically for the current user of called and no /nix dir exists as well

+
+

now all we need is for that to work on macos as it does on linux and and something like nix bundle for distributing runtimes with guis much like the other pack formats on linux

+ + + + +

view this post on Zulip Tim DeHerrera (Mar 01 2024 at 17:46):

+

Problem is, mac's kernel doesn't have the same namespace capabilities of Linux :sweat_smile:

+ + + + +

view this post on Zulip Shivaraj B H (May 08 2024 at 04:16):

+

Related: https://x.com/matthewcroughan/status/1787886356762382563?s=46

+ + + + +

view this post on Zulip Shivaraj B H (May 08 2024 at 04:17):

+

Probably a good candidate for a blog at nixos.asia?

+ + + + +

view this post on Zulip Srid (May 08 2024 at 04:18):

+

Shivaraj B H said:

+
+

Probably a good candidate for a blog at nixos.asia?

+
+

Sure, or a tutorial.

+ + + + +

view this post on Zulip Srid (May 08 2024 at 04:18):

+

Create an issue on GitHub so we don't forget.

+ + + + +

view this post on Zulip Krishnakumar Gopalakrishnan (May 08 2024 at 05:42):

+

The static version of nix can't install binary executables and needs to
+build every single package from source.

+ + + + +

view this post on Zulip Shivaraj B H (May 08 2024 at 06:06):

+

@Krishnakumar Gopalakrishnan you mean to say that binary cache, such as cache.nixos.org isn’t used to fetch the packages in a single user installation?

+ + + + +

view this post on Zulip Shivaraj B H (May 08 2024 at 06:07):

+

Anyways, I will check this out, here’s the issue to track progress: https://github.com/nixos-asia/website/issues/35

+ + + + +

view this post on Zulip Krishnakumar Gopalakrishnan (May 08 2024 at 11:30):

+

That's right. Without root access, static nix will have to build every
+single package declared in the home.nix file from scratch.

+

This is because the cached versions of the pre built binaries have
+hardcoded locations that expect certain dynamic libraries to be loaded from
+certain standard library paths in the user's system (which requires root
+access typically eg. /usr/local/lib). The HPC package manager Spack from
+Lawrence Livermore National Laboratories addresses this exact problem
+(relocatable binary issue) by using clever RPATH redirection mechanism
+embedded into the binary and by explicitly providing binary caches that
+target user-space installs.

+

Most HPC and shared scientific computing clusters don't allow any kind of
+write access to the /nix directory. In fact sysadmins don't even create
+this directory.

+ + + + +

view this post on Zulip Tim DeHerrera (May 09 2024 at 13:33):

+

Hey so, this isn't true unless you globally change the location of the /nix/store, which isn't necessary. The static version of Nix will automatically use a user namespace store in the users home directory if it doesn't have permission to write to /nix, which still uses /nix/store in the namespace, so the cache will work.

+

You can also just give your user ownership of the /nix directory in single-user mode. Also, you don't need a static Nix to run in single-user mode. Two different things

+ + + + +

view this post on Zulip Krishnakumar Gopalakrishnan (May 09 2024 at 15:18):

+

Hmm. Interesting. When I tried static nix, it appeared to be building my
+home-manager configured packages from source.

+

I think readers will benefit from a detailed study and writeup of how to
+get a static version of nix without sudo privileges or ownership of /nix,
+and still make it use pre-built binaries.

+ + + + +

view this post on Zulip Tim DeHerrera (May 10 2024 at 02:11):

+

Did you check to make sure the cache was properly configured?

+ + + + +

view this post on Zulip Tim DeHerrera (May 10 2024 at 02:12):

+

It should be as simple as "download static nix, excute a build", if that's not working something else has gone wrong.

+

I've done it several times

+ + + + +

view this post on Zulip Tim DeHerrera (May 10 2024 at 02:12):

+

(on Linux anyway)

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/jupyter.20env.20setup.html b/stream/413950-nix/topic/jupyter.20env.20setup.html new file mode 100644 index 00000000000..7ff5f9dca88 --- /dev/null +++ b/stream/413950-nix/topic/jupyter.20env.20setup.html @@ -0,0 +1,37 @@ + +jupyter env setup · nix · Zulip Chat Archive +

Stream: nix

+

Topic: jupyter env setup

+ +
+ + + + + + +

view this post on Zulip majorkaks (Mar 01 2024 at 10:08):

+

Found https://gist.github.com/agoose77/9c63dc19d8671455cc6faae01228f485 to have a simple env where I can install extensions using jupyter UI. Will be using this while I figure out the Nix way to get things!

+ + + + +

view this post on Zulip Srid (Mar 01 2024 at 12:30):

+

There's also https://github.com/tweag/jupyenv

+ + + + +

view this post on Zulip majorkaks (Mar 09 2024 at 06:47):

+

I tried jupyenv before the linked gist, but I wasn't able to get jupyenv working with extensions (vim mode, execute-time)

+ + + + +

view this post on Zulip Andreas (Mar 09 2024 at 10:19):

+

What problems did you run into? Maybe I can try it out myself... you are talking vscode extensions I assume?

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/just-flake.20.28justfile.20sharing.29.html b/stream/413950-nix/topic/just-flake.20.28justfile.20sharing.29.html new file mode 100644 index 00000000000..b2f1cba9ce0 --- /dev/null +++ b/stream/413950-nix/topic/just-flake.20.28justfile.20sharing.29.html @@ -0,0 +1,32 @@ + +just-flake (justfile sharing) · nix · Zulip Chat Archive +

Stream: nix

+

Topic: just-flake (justfile sharing)

+ +
+ + + + + + +

view this post on Zulip Srid (Apr 12 2024 at 07:13):

+

Working on an alternative to mission-control, basically, but allowing sharing https://just.systems targets across projects:

+

https://github.com/juspay/just-flake/pull/1

+ + + + +

view this post on Zulip Srid (Apr 16 2024 at 06:57):

+

Merged, https://github.com/juspay/just-flake

+ + + + +

view this post on Zulip Srid (Apr 16 2024 at 06:58):

+

Works pretty much like pre-commit-hooks.nix in that we can write custom targets in Nix as well

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/macOS.20Sequoia.html b/stream/413950-nix/topic/macOS.20Sequoia.html new file mode 100644 index 00000000000..e6bbf05558f --- /dev/null +++ b/stream/413950-nix/topic/macOS.20Sequoia.html @@ -0,0 +1,187 @@ + +macOS Sequoia · nix · Zulip Chat Archive +

Stream: nix

+

Topic: macOS Sequoia

+ +
+ + + + + + +

view this post on Zulip Srid (Jun 11 2024 at 17:55):

+

I just upgraded to macOS Sequoia 15 beta, and had to do the following to make Nix work (I already use nix-darwin and home-manager):

+
    +
  • Explicitly mount the Nix Store volume, by entering the encryption password (stored in Keychain Access)
  • +
  • Run sudo launchctl load /Library/LaunchDaemons/org.nixos.nix-daemon.plist && sudo launchctl kickstart -k system/org.nixos.nix-daemon to start the Nix daemon.
  • +
+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 17:55):

+

Incidentally, nix is no longer in $PATH for me; I did locate it at /nix/var/nix/profiles/system/sw/bin/nix

+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 18:09):

+

Well, not yet!

+
❯ /nix/var/nix/profiles/system/sw/bin/nix run
+error: the user '_nixbld1' in the group 'nixbld' does not exist
+
+

cf.

+ + + + + +

view this post on Zulip Srid (Jun 11 2024 at 18:24):

+

I had to re-install Nix, while using the new GID/UID:

+
# Get ID of nixbld group
+$ dscl . -read /Groups/nixbld | awk '($1 == "PrimaryGroupID:") { print $2 }'
+
+# Find the ID of base nixbld user
+$ dscacheutil -q user  | less
+
+# Uninstall, after making sure no programs from nix store are running
+$ sudo /nix/nix-installer uninstall
+
+# Install afresh, using the new GID/UID
+$  curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install \
+    --nix-build-group-id 30000 --nix-build-user-id-base 305
+
+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 18:28):

+

Now I get,

+
error: unable to download 'https://cache.nixos.org/jnzj0r0jpmx0qp913riqpizvzidrqcfi.narinfo': Problem with the SSL CA cert (path? access rights?) (77)
+
+

To fix it,

+
sudo rm /etc/ssl/certs/ca-certificates.crt
+sudo ln -s /nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt /etc/ssl/certs/ca-certificates.crt
+
+

Ref: https://github.com/NixOS/nix/issues/2899#issuecomment-1669501326

+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 18:37):

+

nix-darwin activation fails,

+

image.png

+
+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 18:38):

+

Which is fine; just rename it as it tell you.

+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 18:38):

+

Now home-manager part complaints:

+
Starting Home Manager activation
+The previous generation number and path are in conflict! These
+must be either both empty or both set but are now set to
+
+    '42' and ''
+
+If you don't mind losing previous profile generations then
+the easiest solution is probably to run
+
+   rm /Users/srid/.local/state/nix/profiles/home-manager*
+   rm /Users/srid/.local/state/home-manager/gcroots/current-home
+
+and trying home-manager switch again. Good luck!
+srid@appreciate nixos-config %
+
+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 18:39):

+

Just ran those two rm commands; now:

+
Starting Home Manager activation
+Activating checkFilesChanged
+Activating checkLaunchAgents
+Existing file '/Users/srid/Library/LaunchAgents/org.nix-community.home.nix-gc.plist' is in the way of '/nix/store/zkh0jhdbba409065s1rwxfqlq4016x0n-home-manager-agents/org.nix-community.home.nix-gc.plist'
+
+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 18:40):

+

Remove /Users/srid/Library/LaunchAgents/org.nix-community.home.nix-gc.plist and activate again. Now,

+
Activating setupLaunchAgents
+Bootstrap failed: 5: Input/output error
+Try re-running the command as root for richer errors.
+
+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 18:40):

+

Strangely, re-running activation (nix run on srid/nixos-config) worked.

+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 18:41):

+

My home-manager installed apps, like Rio terminal, are now accessible from Raycast :+1:

+ + + + +

view this post on Zulip Srid (Jun 11 2024 at 18:43):

+

nix-health is happy:

+
❯ nix-health
+🩺️ Checking the health of your Nix setup (aarch64-darwin on nix-darwin):
+✅ Rosetta Not Active
+   apple emulation = None
+✅ Minimum Nix Version
+   nix version = 2.18.2
+✅ Flakes Enabled
+   experimental-features = flakes nix-command repl-flake
+✅ Disk Space
+   min disk space = 1024.0 GB; total = 4.0 TB
+✅ Max Jobs
+   max-jobs = 10
+✅ Nix Caches in use
+   substituters = https://cache.nixos.org/
+✅ Trusted Users
+   trusted-users = github-runner root srid
+✅ Direnv installation
+   direnv location = Some("/etc/profiles/per-user/srid/bin/direnv")
+✅ All checks passed
+
+ + + + +

view this post on Zulip Srid (Sep 13 2024 at 16:25):

+

https://github.com/DeterminateSystems/nix-installer/releases/tag/v0.26.0

+ + + + +

view this post on Zulip Shivaraj B H (Sep 25 2024 at 09:57):

+

Also see: https://determinate.systems/posts/nix-support-for-macos-sequoia/

+ + + + +

view this post on Zulip Srid (Sep 25 2024 at 21:23):

+

I had to run that command when updating nix-darwin

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/nested.20nix.20shell.html b/stream/413950-nix/topic/nested.20nix.20shell.html new file mode 100644 index 00000000000..13c28374dd2 --- /dev/null +++ b/stream/413950-nix/topic/nested.20nix.20shell.html @@ -0,0 +1,44 @@ + +nested nix shell · nix · Zulip Chat Archive +

Stream: nix

+

Topic: nested nix shell

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Mar 20 2024 at 08:30):

+

Wouldn’t it make sense to not allow nesting by default, like tmux.

+

Such issues can be taken care of: https://github.com/NixOS/nix/issues/6140#issuecomment-1986317698

+ + + + +

view this post on Zulip Srid (Mar 20 2024 at 12:35):

+

You can file a feature request on https://github.com/nixos/nix

+ + + + +

view this post on Zulip Aravind Gopal (Apr 03 2024 at 06:41):

+

Can this check be added to flake devshell, can be generic, any check failed wouldn’t load devshell ?

+ + + + +

view this post on Zulip Srid (Apr 03 2024 at 06:42):

+

I tried this in shellHook, but nix develop will ignore any failures in shellHook, and will start a devShell anyway.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 06:53):

+

https://github.com/NixOS/nix/issues/10388

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/nix-index.html b/stream/413950-nix/topic/nix-index.html new file mode 100644 index 00000000000..4b6c8c59ff8 --- /dev/null +++ b/stream/413950-nix/topic/nix-index.html @@ -0,0 +1,96 @@ + +nix-index · nix · Zulip Chat Archive +

Stream: nix

+

Topic: nix-index

+ +
+ + + + + + +

view this post on Zulip Srid (Jan 19 2024 at 06:59):

+

image.png

+

@Aravind Gopal You were talking about this -- telling the user to display a nix-friendly message when they try to run something that's not already (thus not encouraging them towards of homebrew and the like).

+

Let me find the config I have for this.

+ + + + +

view this post on Zulip Srid (Jan 19 2024 at 07:00):

+

This uses a program called nix-index, which uses old-style commands unfortunately: https://github.com/nix-community/nix-index/issues/191

+ + + + +

view this post on Zulip Srid (Jan 19 2024 at 07:02):

+

^ Potential OSS contribution here

+ + + + +

view this post on Zulip Srid (Jan 19 2024 at 07:03):

+

Here's the home-manager config for enabling this:

+
  programs = {
+    nix-index = {
+      enable = true;
+      enableZshIntegration = true;
+    };
+  }
+
+ + + + +

view this post on Zulip Srid (Jan 19 2024 at 07:04):

+

https://github.com/juspay/nix-dev-home/commit/4f4ab11b5f76c054289969d3927e6bbc31e2d981

+ + + + +

view this post on Zulip Srid (Jan 19 2024 at 07:06):

+

Oh, nix-index does use new style commands but only if ~/.nix-profile/manifest.json exists:

+

https://github.com/nix-community/nix-index/commit/cd7cdcb06f3552fc55cf0cded66de90461006c00

+ + + + +

view this post on Zulip Srid (Jan 19 2024 at 07:08):

+

I did nix profile install nixpkgs#hello just to populate this manifest, and now it shows the right thing:

+

image.png

+
+ + + + +

view this post on Zulip Srid (Jan 19 2024 at 07:12):

+
$ cat .nix-profile/manifest.json
+{"elements":[],"version":2}
+
+ + + + +

view this post on Zulip Aravind Gopal (Jan 19 2024 at 08:31):

+

This is a good tool to motivate users towards full nix.

+ + + + +

view this post on Zulip Srid (Jan 19 2024 at 08:42):

+

One glitch. The installation is not seamless. You need to generate the index manually the first time,

+

image.png

+
+ + + + +

view this post on Zulip Srid (Feb 10 2024 at 07:26):

+

@Aravind Gopal We've automated the nix-index DB generation part,

+

https://github.com/juspay/nix-dev-home/pull/14

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/nix.20-.20direnv.20and.20starship.html b/stream/413950-nix/topic/nix.20-.20direnv.20and.20starship.html new file mode 100644 index 00000000000..f89d4602219 --- /dev/null +++ b/stream/413950-nix/topic/nix.20-.20direnv.20and.20starship.html @@ -0,0 +1,20 @@ + +nix - direnv and starship · nix · Zulip Chat Archive +

Stream: nix

+

Topic: nix - direnv and starship

+ +
+ + + + + + +

view this post on Zulip Andreas (Mar 22 2024 at 19:01):

+

hm, any thoughts on why? :smile:

+

What is your setup?

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/nix.20flake.20--init.20with.20template.20in.20private.20repo.3F.html b/stream/413950-nix/topic/nix.20flake.20--init.20with.20template.20in.20private.20repo.3F.html new file mode 100644 index 00000000000..d8fd2310111 --- /dev/null +++ b/stream/413950-nix/topic/nix.20flake.20--init.20with.20template.20in.20private.20repo.3F.html @@ -0,0 +1,50 @@ + +nix flake --init with template in private repo? · nix · Zulip Chat Archive +

Stream: nix

+

Topic: nix flake --init with template in private repo?

+ +
+ + + + + + +

view this post on Zulip Andreas (Apr 20 2024 at 13:49):

+

Quick question: is it possible to have a repo of private nix flake templates to initialize from the cli? Or does the template repo have to be public?

+ + + + +

view this post on Zulip Andreas (Apr 20 2024 at 17:29):

+

Since you are online @Shivaraj B H and everyone else is just chillin' on Saturday, I'll just ping you :grinning_face_with_smiling_eyes:

+ + + + +

view this post on Zulip Shivaraj B H (Apr 20 2024 at 17:31):

+

This might be related: https://gist.github.com/arianvp/8f80c23a3410d27746fb97a6563d9677

+

Saw this on twitter like a week ago and srid posted on an internal channel as well.

+ + + + +

view this post on Zulip Andreas (Apr 20 2024 at 17:33):

+

interesting, I'll try and see if I can access my first little flake template from a private repo

+ + + + +

view this post on Zulip Andreas (Apr 20 2024 at 17:47):

+

Yeah, seems to work. I wonder if this also works for Gitea or Gitlab?

+ + + + +

view this post on Zulip Andreas (Apr 20 2024 at 17:48):

+

I think I might just create a little shell alias with that as a script to set this up whenever I need to.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/nix.html b/stream/413950-nix/topic/nix.html new file mode 100644 index 00000000000..74c099cfbab --- /dev/null +++ b/stream/413950-nix/topic/nix.html @@ -0,0 +1,19 @@ + +nix · nix · Zulip Chat Archive +

Stream: nix

+

Topic: nix

+ +
+ + + + + + +

view this post on Zulip Saurav Singh (Mar 22 2024 at 14:04):

+

direnv and starship is not working

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/nixfmt.html b/stream/413950-nix/topic/nixfmt.html new file mode 100644 index 00000000000..91cd89bac42 --- /dev/null +++ b/stream/413950-nix/topic/nixfmt.html @@ -0,0 +1,101 @@ + +nixfmt · nix · Zulip Chat Archive +

Stream: nix

+

Topic: nixfmt

+ +
+ + + + + + +

view this post on Zulip Srid (Jun 14 2024 at 13:58):

+

@Pol Dellaiera Is nixfmt considered de facto/ stable now? Because the Github repo description says

+
+

The official (but not yet stable) formatter for Nix code

+
+

https://github.com/NixOS/nixfmt

+ + + + +

view this post on Zulip Andreas (Jun 14 2024 at 14:01):

+

Apparently RFC 166 has established it to become the standard at least

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:01):

+

Yeah see this thingie: https://github.com/nix-community/nixvim/pull/1375#issuecomment-2039393789

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:01):

+

I'm requiring every contributor to pass their new Nix files through nixfmt-rfc-style since 1 month or so now.

+ + + + +

view this post on Zulip Andreas (Jun 14 2024 at 14:02):

+

Good to know!

+ + + + +

view this post on Zulip Srid (Jun 14 2024 at 14:02):

+

Pol Dellaiera said:

+
+

every contributor

+
+

Which repo? nixpkgs?

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:02):

+

Yes

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:02):

+

Last example today: https://github.com/NixOS/nixpkgs/pull/317742#pullrequestreview-2118391543

+ + + + +

view this post on Zulip Srid (Jun 14 2024 at 14:04):

+

In services-flake we have a CI check that runs nixpkgs-fmt to see that the code was formatted, but I was surprised to see that it didn't fail on your PR (cc @Shivaraj B H)

+

https://github.com/juspay/services-flake/blob/db7ab711d9a6cefd28dbcfe58409d3a968a3b713/dev/flake.nix#L30

+

I'd welcome a dedicated PR that replaces nixpkgs-fmt with nixfmt-rfc-style mainly to see whether the new formatting is something we can switch over, not just for this project but for others as well. I've been happy with nixpkgs-fmt so far.

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:06):

+

I won't discuss the formatting, switch to nixfmt-rfc-style if you want to, that won't change a thing in the technical side of things. It's, I believe, up to the maintainers to decide.

+ + + + +

view this post on Zulip Shivaraj B H (Jun 14 2024 at 14:06):

+

I don’t think nixpkgs-fmt flake check complaints about nixfmt-rfc-style, which is why the tests were passing.

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:08):

+

I've already spent too much time discussing the code formatting in plenty of languages... and in the end, I always end up using the default one... even if I don't like some parts of it.

+ + + + +

view this post on Zulip Andreas (Jun 14 2024 at 14:09):

+

yeah that is the best approach imho, just avoid useless discussion by establishing a formatting default

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/nixvim.20-.20Manage.20neovim.20config.20in.20Nix.html b/stream/413950-nix/topic/nixvim.20-.20Manage.20neovim.20config.20in.20Nix.html new file mode 100644 index 00000000000..fd600f2fb84 --- /dev/null +++ b/stream/413950-nix/topic/nixvim.20-.20Manage.20neovim.20config.20in.20Nix.html @@ -0,0 +1,59 @@ + +nixvim - Manage neovim config in Nix · nix · Zulip Chat Archive +

Stream: nix

+

Topic: nixvim - Manage neovim config in Nix

+ +
+ + + + + + +

view this post on Zulip Srid (Jun 21 2024 at 17:23):

+

Srid said:

+
+
    +
  • For LSP, I have nil (nil_ls.enable = true; in nixvim config)
  • +
+
+

For those curious, here's our nixvim config, in the context of a home-manager template:

+

https://github.com/juspay/nix-dev-home/blob/main/home/neovim.nix

+ + + + +

view this post on Zulip Andreas (Jun 21 2024 at 17:35):

+

oh thanks a lot, I will look at that!

+ + + + +

view this post on Zulip Srid (Jun 21 2024 at 22:01):

+

On a related note, this would be a good first issue to tackle for anyone looking to contribute to a Nix project:

+

https://github.com/juspay/nix-dev-home/issues/16

+

(The cool thing is to be able to nix run .. neovim with certain nixvim config, which is useful to be able to 'take your vim' wherever you go, such as when pairing on a coworker's machine)

+ + + + +

view this post on Zulip Andreas (Jun 23 2024 at 16:00):

+

yeah that is an interesting issue. I will play a bit with Nixvim anyways, it looks a much nicer solution than my current Nvim config. I will have a look at it while I do

+ + + + +

view this post on Zulip Andreas (Jun 23 2024 at 16:03):

+

so if I see this correctly (had to get the organization of the flake first), you use the home manager module approach to Nixvim?

+ + + + +

view this post on Zulip Srid (Jun 23 2024 at 16:32):

+

That entire repo provides only home-manager config, yes.

+

But you can 'embed' it in nixos configuration in straightforward manner (like I do in srid/nixos-config using nixos-flake)

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/nosys.20.60pkgs.60.20handling.html b/stream/413950-nix/topic/nosys.20.60pkgs.60.20handling.html new file mode 100644 index 00000000000..d5f9257c5e0 --- /dev/null +++ b/stream/413950-nix/topic/nosys.20.60pkgs.60.20handling.html @@ -0,0 +1,45 @@ + +nosys `pkgs` handling · nix · Zulip Chat Archive +

Stream: nix

+

Topic: nosys `pkgs` handling

+ +
+ + + + + + +

view this post on Zulip Tim DeHerrera (Feb 24 2024 at 09:39):

+

Good idea?
+https://github.com/divnix/nosys/pull/16

+ + + + +

view this post on Zulip Srid (Feb 24 2024 at 11:08):

+

Context? What's 'nosys'?

+ + + + +

view this post on Zulip Srid (Feb 24 2024 at 11:09):

+

Okay, a way to deal with systems. Unsure what the benefit is compared to say flake-parts perSystem.

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 24 2024 at 18:58):

+

For a while now, (mosly since working on and using std), I'm not a big fan of the module system. It's complexity get's conflating with Nix as a whole. I think using it to build flakes just gives you another onramp to infinite recursion, slow evaluation and difficult error messages that I'd rather not deal with when declaring a simple interface of inputs and outputs :sweat_smile:

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 24 2024 at 19:01):

+

originally, nosys was just a way to start modularizing parts of std that could be factored out. There was a desystemetize function that I broke off here and used to essentially demonstrate the old "system as an input" idea for flakes. Showing what the flake API could be like if you didn't have to worry about system.

+

It also doesn't do anything else, purposefully, and is as minimal and fast as possible with simple conveniences.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/per-host.20home-manager.20implementation.2E.html b/stream/413950-nix/topic/per-host.20home-manager.20implementation.2E.html new file mode 100644 index 00000000000..4a9d6fddab6 --- /dev/null +++ b/stream/413950-nix/topic/per-host.20home-manager.20implementation.2E.html @@ -0,0 +1,111 @@ + +per-host home-manager implementation. · nix · Zulip Chat Archive +

Stream: nix

+

Topic: per-host home-manager implementation.

+ +
+ + + + + + +

view this post on Zulip Arul Agrawal (Apr 25 2024 at 07:32):

+

Hi, firstly, thanks for all the resources, I've got a nixos-flake based setup (essentially copied from srid/nixos-config) for my desktop and macbook.

+

I want to extend my flake to some servers and was reading about per-host configs here: https://github.com/srid/nixos-flake/issues/19, but didn't quite grasp the workaround mentioned in the last 2 comments. I want to avoid pulling-in the gui related home-manager configs for the servers obviously. (as an aside, some of my gui configs like for wayland are split across the nixos/ and home/ folders, is there a way to unify them?)

+

Has anyone got per-home config with a similar setup? here's my config for reference if needed: https://github.com/arulagrawal/nix.

+ + + + +

view this post on Zulip Srid (Apr 25 2024 at 08:17):

+

@Arul Agrawal I suggest forking nixos-flake and modifying this writeShellApplication.

+

Make it so that it uses HOSTNAME instead of USER (but still fallback to USER if the former doesn't exist in homeConfigurations). You may first have to do a nix flake show --json on the flake, so as to see if homeConfigurations.$HOSTNAME does in fact exist.

+

Once you get something working to satisfaction, open a PR on nixos-flake repo!

+

Happy to help through your contribution here.

+ + + + +

view this post on Zulip Arul Agrawal (Apr 25 2024 at 09:19):

+

so the idea is, instead of doing this, the home-manager config would instead be called in flake.nix under flake -> homeConfigurations (where the darwinConfigurations and nixosConfigurations currently reside)?

+ + + + +

view this post on Zulip Srid (Apr 25 2024 at 09:21):

+

No, the idea is to fork nixos-flake and do the aforementioned change.

+

Then change this line in your flake to point to your fork, and run nix run.

+ + + + +

view this post on Zulip Arul Agrawal (Apr 25 2024 at 09:27):

+

https://github.com/arulagrawal/nixos-flake/commit/2b8fc0f521db121d1f48d32e1cbc57732ede91a4

+

Something like this? (will cleanup the commit message)

+

I did this and pointed my flake to the branch and ran nix run. The question I asked now was to ask where to put the per-host config.

+ + + + +

view this post on Zulip Srid (Apr 25 2024 at 09:31):

+

legacyPackages.homeConfigurations.HOSTNAME

+

See https://github.com/srid/nixos-flake/blob/7b19503e7f8c7cc0884fc2fbd669c0cc2e05aef5/examples/home/flake.nix#L25C11-L25C58

+ + + + +

view this post on Zulip Srid (Apr 25 2024 at 09:31):

+

And run nix run .#activate-home

+ + + + +

view this post on Zulip Srid (Apr 25 2024 at 09:32):

+

I'm assuming you are doing this in non-NixOS, since that issue is all about home-manager only config.

+ + + + +

view this post on Zulip Srid (Apr 25 2024 at 09:32):

+

So, try to get this working on macOS first.

+

One little step at a time.

+ + + + +

view this post on Zulip Srid (Apr 25 2024 at 09:33):

+

You can put the config in homeModules, and import if from two places (to as to share between nixos & macos)

+ + + + +

view this post on Zulip Srid (Apr 25 2024 at 09:33):

+

Srid said:

+
+

You can put the config in homeModules, and import if from two places (to as to share between nixos & macos)

+
+

Example, https://github.com/srid/nixos-flake/blob/master/examples/both/flake.nix

+ + + + +

view this post on Zulip Arul Agrawal (Apr 25 2024 at 10:10):

+

Okay I think I was going about this the wrong way (for what I need). I didn't test the server config yet (the device I was going to use died on me or smth) but I think something like this suffices: https://github.com/arulagrawal/nix/compare/main...separate-linux-configs

+ + + + +

view this post on Zulip Arul Agrawal (Apr 25 2024 at 10:11):

+

apologies for the confusion

+ + + + +

view this post on Zulip Pratham Patel (Apr 28 2024 at 17:27):

+

@Arul Agrawal this post prompted me to write #nix > Dynamic NixOS configuration, using flakes. Feel free to "take inspiration" from it ;)

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/pre-commit-hooks.20to.20format.20the.20code.html b/stream/413950-nix/topic/pre-commit-hooks.20to.20format.20the.20code.html new file mode 100644 index 00000000000..9a57feda445 --- /dev/null +++ b/stream/413950-nix/topic/pre-commit-hooks.20to.20format.20the.20code.html @@ -0,0 +1,54 @@ + +pre-commit-hooks to format the code · nix · Zulip Chat Archive +

Stream: nix

+

Topic: pre-commit-hooks to format the code

+ +
+ + + + + + +

view this post on Zulip Hao Liu (May 23 2024 at 21:39):

+

I am trying to introduce a pre-commit-hooks check to stop user from pushing to remote if mal-formatted code found in the changes, the most promising checker I have found is https://github.com/editorconfig-checker/editorconfig-checker, while it doesn't honor the .editorconfig already there in the repo, it seems to be using its own set of rules

+ + + + +

view this post on Zulip Srid (May 23 2024 at 21:52):

+

Looks like it supports .editorconfig file?

+ + + + +

view this post on Zulip Hao Liu (May 23 2024 at 21:57):

+

@Srid it will use its own config file .ecrc instead of following the rules in .editorconfig

+ + + + +

view this post on Zulip Srid (May 23 2024 at 21:58):

+

I'm not familiar with editorconfig, but why does it say this in the README?

+
+

This tool only needs your .editorconfig to check all files.

+
+ + + + +

view this post on Zulip Hao Liu (May 23 2024 at 22:09):

+

image.png
+turns out it does follow the rules in .editorconfig :)

+
+ + + + +

view this post on Zulip Srid (May 23 2024 at 22:21):

+

For ref, https://github.com/juspay/superposition/pull/75

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/rust-flake.20.28Nixify.20Rust.20projects.29.html b/stream/413950-nix/topic/rust-flake.20.28Nixify.20Rust.20projects.29.html new file mode 100644 index 00000000000..c3fb83e5df2 --- /dev/null +++ b/stream/413950-nix/topic/rust-flake.20.28Nixify.20Rust.20projects.29.html @@ -0,0 +1,54 @@ + +rust-flake (Nixify Rust projects) · nix · Zulip Chat Archive +

Stream: nix

+

Topic: rust-flake (Nixify Rust projects)

+ +
+ + + + + + +

view this post on Zulip Srid (Jul 13 2024 at 03:28):

+

https://github.com/juspay/rust-flake now supports multiple crates from cargo workspace

+

image.png

+
+ + + + +

view this post on Zulip Quinn (Jul 13 2024 at 17:41):

+

oh cool. NCI is frustrating me with wasm and trunk right now. so if you have an example for wasm and trunk, that might get me to switch

+ + + + +

view this post on Zulip Srid (Jul 13 2024 at 22:45):

+

@Quinn rust-flake is designed to be basically a (flake-parts) wrapper over https://crane.dev/ - so if you can get something working with crane, it should map straightforwardly to rust-flake.

+ + + + +

view this post on Zulip Shivaraj B H (Jul 17 2024 at 19:03):

+
+

oh cool. NCI is frustrating me with wasm and trunk right now. so if you have an example for wasm and trunk, that might get me to switch

+
+

Do you have an existing repo with wasm and trunk? I could try to package it using rust-flake

+ + + + +

view this post on Zulip Quinn (Jul 17 2024 at 19:05):

+

this is the current deal https://github.com/quinn-dougherty/gatekept-traffic-PoC/tree/master/src.rs i haven't done a ton of debugging as to why its not working. I will say my emacs lsp is jank in that it works when i direnv to an NCI full rust environment of the project, but it all depends on rustup not being installed. it all comes crashing down if emacs finds a rustup. that's a separate issue tho-- it'd be dope if it even built in CI.

+ + + + +

view this post on Zulip Shivaraj B H (Jul 17 2024 at 19:07):

+

Alright, I will give it a try tomorrow, its almost bed time here.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413950-nix/topic/stream.20events.html b/stream/413950-nix/topic/stream.20events.html new file mode 100644 index 00000000000..d4e6da25150 --- /dev/null +++ b/stream/413950-nix/topic/stream.20events.html @@ -0,0 +1,22 @@ + +stream events · nix · Zulip Chat Archive +

Stream: nix

+

Topic: stream events

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Nov 22 2023 at 13:42):

+

Web-public stream created by Srid. Description:

+
+

Discussions about Nix

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413951-general/index.html b/stream/413951-general/index.html new file mode 100644 index 00000000000..3605a191b3a --- /dev/null +++ b/stream/413951-general/index.html @@ -0,0 +1,25 @@ + +Zulip Chat Archive +

Stream: general

+
+ +

Topics:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413951-general/topic/0th.html b/stream/413951-general/topic/0th.html new file mode 100644 index 00000000000..804345adb22 --- /dev/null +++ b/stream/413951-general/topic/0th.html @@ -0,0 +1,26 @@ + +0th · general · Zulip Chat Archive +

Stream: general

+

Topic: 0th

+ +
+ + + + + + +

view this post on Zulip Pádraic Ó Mhuiris (Nov 22 2023 at 13:55):

+

0th

+ + + + +

view this post on Zulip Srid (Nov 22 2023 at 14:16):

+

You posted in "stream events" topic (which is an auto-generated topic), so I've moved your message to a new topic. My reply now comes under that new topic.

+

Yea Zulip takes some getting used to ...

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413951-general/topic/ANN.3A.20NixOS.20Asia.20website.html b/stream/413951-general/topic/ANN.3A.20NixOS.20Asia.20website.html new file mode 100644 index 00000000000..531074d799a --- /dev/null +++ b/stream/413951-general/topic/ANN.3A.20NixOS.20Asia.20website.html @@ -0,0 +1,122 @@ + +ANN: NixOS Asia website · general · Zulip Chat Archive +

Stream: general

+

Topic: ANN: NixOS Asia website

+ +
+ + + + + + +

view this post on Zulip Srid (Dec 08 2023 at 17:10):

+

Our community now has a website:

+

https://nixos.asia/en

+

The plan is to make this act also like a documentation / wiki of some sort over time.

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 17:10):

+

I want to help too

+ + + + +

view this post on Zulip Srid (Dec 08 2023 at 17:11):

+

Welcome @Swastik Baranwal ! Do you use Nix already?

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 17:11):

+

I am a nixpkg contributor

+ + + + +

view this post on Zulip Srid (Dec 08 2023 at 17:11):

+

Ah, nice.

+ + + + +

view this post on Zulip Srid (Dec 08 2023 at 17:12):

+

So the website is kind of a like a wiki, but based on interlinked atomic notes. There's a lot to write and improve.

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 17:12):

+

I am based from Delhi

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 17:12):

+

https://github.com/Delta456

+ + + + +

view this post on Zulip Srid (Dec 08 2023 at 17:12):

+

What do you use Nix for? We are looking to host meetups in Bangalore starting January.

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 17:13):

+

I am just exploring nix and maintain the vlang package

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 17:14):

+

what about you?

+ + + + +

view this post on Zulip Srid (Dec 08 2023 at 17:15):

+

I use Nix, Haskell and Rust: https://github.com/srid

+

If there's anything Nix related you'd like explained/ written about on the website, let me know. I'm planning to improve the content to that end.

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 17:16):

+

Sure

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 17:17):

+

Damn you look really experieneced

+ + + + +

view this post on Zulip Srid (Dec 08 2023 at 17:18):

+

Let's just say we used to download Linux distros overnight using dial-up internet and burn them to CD's for sharing with friends. :-) I used be part of Chennai ILUGC group, etc.

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 17:20):

+

Truly the OGs

+ + + + +

view this post on Zulip John Bargman (Dec 18 2023 at 16:54):

+

Srid said:

+
+

Let's just say we used to download Linux distros overnight using dial-up internet and burn them to CD's for sharing with friends. :-) I used be part of Chennai ILUGC group, etc.

+
+

I did that too! Though I had no friends.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413951-general/topic/Current.20FOSS.20Scenario.20in.20India.html b/stream/413951-general/topic/Current.20FOSS.20Scenario.20in.20India.html new file mode 100644 index 00000000000..e7449efcfa3 --- /dev/null +++ b/stream/413951-general/topic/Current.20FOSS.20Scenario.20in.20India.html @@ -0,0 +1,103 @@ + +Current FOSS Scenario in India · general · Zulip Chat Archive +

Stream: general

+

Topic: Current FOSS Scenario in India

+ +
+ + + + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 17:50):

+

Hey, I am Swastik Baranwal who is an active open-source developer who organizes meetups, and volunteers for several conferences and developer groups. In this thread I would like to tell the current FOSS scenario.

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 17:55):

+

Nowadays people are getting into FOSS for the luxury of earning good money, fame, flexing etc and bragging about stuff which they haven't done much. There are many spam PRs by many people so their PR count increases and brag about how many PRs they have got merged. People work with the community aspect of open source which is no-code or low-code then give talks on how to get started with Git and GitHub, Open Source for Beginners etc.

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 17:59):

+

Many people are going with the competitive mindset of JEE and spoiling beginner open-source programs by increasing competition and not being fair. Youtubers and other edu tech companies selling courses on FOSS and prompting Open Source just for a source of income by which many people are getting into it and fighting with other contributors on picking up that issue and battling between code reviews.

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 18:00):

+

Due to this many conferences and meetups have been affected and the quality of crowd and talks have decreased a lot because they haven't done that because it is not in the "course" which they bought for.

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 18:02):

+

Web 3 Meetups are emerging in India and attracting the youth by giving away good money, quality swags and foods then make them work in their own technology, also not letting them explore other techs.

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 18:03):

+

People new in tech think that Web 3 meetups are normal and expect the same from other local meetup which decreases the amount of interested people and by giving FOMO to the ones working there.

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 18:09):

+

Some people will even go as far as faking their open-source contributions to get that frame and fake it until they make it. Eg: I know someone who has faked his GSoC certificate to get that fame and have a better chance of getting shortlisted for conferences, jobs, scholarships etc.

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 18:10):

+

Thus, open source is nothing but a status game for Indians. Thankfully few people do FOSS for love and passion.

+ + + + +

view this post on Zulip Srid (Dec 08 2023 at 18:21):

+

Swastik Baranwal said:

+
+

Due to this many conferences and meetups have been affected and the quality of crowd and talks have decreased a lot because they haven't done that because it is not in the "course" which they bought for.

+
+

Is this (occurs monthly) a good representative of those meetups?

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 18:23):

+

Srid said:

+
+

Swastik Baranwal said:

+
+

Due to this many conferences and meetups have been affected and the quality of crowd and talks have decreased a lot because they haven't done that because it is not in the "course" which they bought for.

+
+

Is this (occurs monthly) a good representative of those meetups?

+
+

No FOSS United Bangalore has a quality audience and speakers. FOSS United people are an exception.

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 08 2023 at 18:26):

+

I also try my best to get quality speakers and audience in FOSS United Delhi

+ + + + +

view this post on Zulip Shivaraj B H (Dec 09 2023 at 13:18):

+

I am from Bangalore, I will try attending some of their next upcoming meetups

+ + + + +

view this post on Zulip Swastik Baranwal (Dec 09 2023 at 15:01):

+

Sure! Their meetups are pretty good

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413951-general/topic/FOSSMeet.2724.2C.20Kerala.20.28March.2022-24.29.html b/stream/413951-general/topic/FOSSMeet.2724.2C.20Kerala.20.28March.2022-24.29.html new file mode 100644 index 00000000000..00e57f2e688 --- /dev/null +++ b/stream/413951-general/topic/FOSSMeet.2724.2C.20Kerala.20.28March.2022-24.29.html @@ -0,0 +1,39 @@ + +FOSSMeet'24, Kerala (March 22-24) · general · Zulip Chat Archive +

Stream: general

+

Topic: FOSSMeet'24, Kerala (March 22-24)

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 14 2024 at 14:40):

+

https://www.fossmeet.net/

+ + + + +

view this post on Zulip Sai Narayan (Mar 14 2024 at 16:23):

+

Hi, Is there any active contributors/maintainers that are from south India. 

+

My name is Sai and I am from National Institute of Technology, Calicut India, and we are scheduled to conduct the FOSSMeet'24 which the longest running FOSS-centric gathering in India. We would love to have someone from the project to share the good word.

+

Checkout our website for more info, fossmeet.net

+ + + + +

view this post on Zulip Notification Bot (Mar 14 2024 at 18:05):

+

2 messages were moved here from #general > FP India by Srid.

+ + + + +

view this post on Zulip Arnold Schrijver (Apr 06 2024 at 06:09):

+

Hi @Sai Narayan a great site. I just tooted with a Q on why you refer to your Fediverse account via mastodon.social and not directly via floss.social? Guess that may be just a copy/pasting of the link as seen from a masto social account.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413951-general/topic/FP.20India.html b/stream/413951-general/topic/FP.20India.html new file mode 100644 index 00000000000..41aa19cb27b --- /dev/null +++ b/stream/413951-general/topic/FP.20India.html @@ -0,0 +1,33 @@ + +FP India · general · Zulip Chat Archive +

Stream: general

+

Topic: FP India

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 11 2024 at 18:27):

+

Welcome, @AJ

+

Good to see that you created a Zulip for FP India :-)

+

https://fpindia.zulipchat.com/

+ + + + +

view this post on Zulip AJ (Mar 12 2024 at 06:04):

+

Thanks @Srid! Yup, hoping Zulip can be a good home for the FPIndia community

+ + + + +

view this post on Zulip Notification Bot (Mar 14 2024 at 18:05):

+

2 messages were moved from this topic to #general > FOSSMeet'24, Kerala (March 22-24) by Srid.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413951-general/topic/Full.20Time.20Nix.20podcast.20looking.20for.20text.20author.html b/stream/413951-general/topic/Full.20Time.20Nix.20podcast.20looking.20for.20text.20author.html new file mode 100644 index 00000000000..bef17acbc92 --- /dev/null +++ b/stream/413951-general/topic/Full.20Time.20Nix.20podcast.20looking.20for.20text.20author.html @@ -0,0 +1,23 @@ + +Full Time Nix podcast looking for text author · general · Zulip Chat Archive +

Stream: general

+

Topic: Full Time Nix podcast looking for text author

+ +
+ + + + + + +

view this post on Zulip Shahar “Dawn” Or (Apr 28 2024 at 10:09):

+

The Full Time Nix podcast team is looking to fill the role of a text author.

+

This is not a paid role because there is no money involved yet.

+

The text author will edit auto-generated episode transcripts and write episode descriptions.

+

This is an opportunity to get involved and make relationships.

+

Please contact me to apply.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413951-general/topic/Introduction.html b/stream/413951-general/topic/Introduction.html new file mode 100644 index 00000000000..b6c438a0b0c --- /dev/null +++ b/stream/413951-general/topic/Introduction.html @@ -0,0 +1,59 @@ + +Introduction · general · Zulip Chat Archive +

Stream: general

+

Topic: Introduction

+ +
+ + + + + + +

view this post on Zulip majorkaks (Feb 27 2024 at 16:37):

+

Hello folks, I'm from Chandigarh, India.

+

I've been enjoying Nix for about 3 years on my raspi server running *arr stack, nextcloud, wireguard and a few other services. Recently moved from arch to nix on my laptop - about 3 months ago. I have triple boot setup - Nix, Arch, Windows 10. Not that comfortable with Nix to leave arch yet. Windows will stay for gaming / performance comparisons.

+

The next few things I wanna get done is jupyter notebook setup for data science experiments and improve my gaming setup on NixOS - ntsync kernel patch, proton-ge etc.

+

Great to see a community here! I have not been able to find people in the city to discuss this stuff. Have been working remotely since covid

+ + + + +

view this post on Zulip Shivaraj B H (Feb 27 2024 at 16:55):

+

NixOS has good gpu passthrough support, you can run a windows VM with GPU passthrough and play your games. I haven’t personally tried it though.

+ + + + +

view this post on Zulip majorkaks (Feb 27 2024 at 17:11):

+

Ok. Will try with a windows VM. I have Nvidia optimus to make things more challenging.
+Most games have been fine with steam on Xorg. Dota has frequent crashes on wayland - some segfault in libglvnd-core.so as soon as I alt-tab.
+Palworld dies after 1-2 hours of gameplay due to OOM on Xorg. Palworld seems to manage memory better on Windows. I get slightly better experience.

+ + + + +

view this post on Zulip Andreas (Feb 27 2024 at 17:58):

+

Ah yes, Nvidia Optimus! I have that running on a Xiaomi laptop of mine. Works fine on NixOS with a offload script which I think you can just activate these days by setting the appropriate value. But I never went to the point of trying GPU passthrough for the dedicated Nvidia GPU. Even though it should work. Maybe I should finally try?

+ + + + +

view this post on Zulip Srid (Feb 27 2024 at 18:48):

+

Welcome!

+
+

Great to see a community here! I have not been able to find people in the city to discuss this stuff. Have been working remotely since covid

+
+

We are planning to host online events, actually. Keep an eye on https://nixos.asia/en/event

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 27 2024 at 19:17):

+

In my experience, most games that run through proton run better than in Windows, even without tuning the kernel or anything else.

+

Although I haven't had much time for games in recent years, minus a few hours with the kids here or there.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413951-general/topic/Letting.20Google.20index.20this.20Zulip.html b/stream/413951-general/topic/Letting.20Google.20index.20this.20Zulip.html new file mode 100644 index 00000000000..b87c42d12c6 --- /dev/null +++ b/stream/413951-general/topic/Letting.20Google.20index.20this.20Zulip.html @@ -0,0 +1,54 @@ + +Letting Google index this Zulip · general · Zulip Chat Archive +

Stream: general

+

Topic: Letting Google index this Zulip

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 17 2024 at 12:32):

+

This Zulip has many "web-public" streams -- they can be accessed anonymously. However, they cannot be indexed by search engines unfortunately

+
+

Web-public streams do not yet support search engine indexing. You can use zulip-archive to create an archive of a Zulip organization that can be indexed by search engines. https://zulip.com/help/public-access-option#caveats

+
+

So it is probably worth setting up https://github.com/zulip/zulip-archive and host it as, say, chat.nixos.asia.

+ + + + +

view this post on Zulip Srid (Mar 17 2024 at 12:55):

+

Voilà :right: https://chat.nixos.asia/

+ + + + +

view this post on Zulip Srid (Mar 17 2024 at 12:56):

+

No styling, though.

+ + + + +

view this post on Zulip Andreas (Mar 17 2024 at 14:06):

+

yes, better than nothing. However SEO for the actual public part of Zulip would be really a neat thing to have tbh

+ + + + +

view this post on Zulip Andreas (Mar 17 2024 at 14:50):

+

if there is no way around this, it might imply that Discourse is actually superior to Zulip as a public forum?

+ + + + +

view this post on Zulip Srid (Mar 17 2024 at 14:51):

+

Incidentally, I've also written my own Zulip archiver, it renders like this: https://funprog.srid.ca/

+

(uses github pages as well)

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413951-general/topic/OSS.20contribution.20ideas.html b/stream/413951-general/topic/OSS.20contribution.20ideas.html new file mode 100644 index 00000000000..5d6c00a1e2e --- /dev/null +++ b/stream/413951-general/topic/OSS.20contribution.20ideas.html @@ -0,0 +1,61 @@ + +OSS contribution ideas · general · Zulip Chat Archive +

Stream: general

+

Topic: OSS contribution ideas

+ +
+ + + + + + +

view this post on Zulip Srid (Apr 30 2024 at 11:24):

+

I thought I'd dedicate a topic to catalogue ideas for OSS contributions.

+ + + + +

view this post on Zulip Srid (Apr 30 2024 at 11:24):

+

Use haskell-flake in pandoc

+

Pandoc's author is receptive to modernizing the flake.nix to use haskell-flake. If anybody's interested: https://github.com/jgm/pandoc/issues/8818

+ + + + +

view this post on Zulip majorkaks (Jun 01 2024 at 21:09):

+

Problem: Linux doesn't have portable binaries like windows - download exe from a site and double click to run.

+

I think we could build something based off nix, which runs on any distro and sets up /nix under some X, and allows people to run all nix binaries directly on any distro.

+

Example:
+makeitrun reptyr - launches reptyr as of nixos unstable / latest stable.

+

X:

+
    +
  1. Can be a ram based filesytem like tmpfs
  2. +
  3. Can be a filesystem within a file.
  4. +
  5. Can be a directory path - mainly if user wants to debug.
  6. +
+

makeitrun itself must be a statically linked binary - so that it can run without relying on any glibc etc.

+

What do you peeps thing about it?

+ + + + +

view this post on Zulip Srid (Jul 03 2024 at 14:45):

+

Anybody want to add a NixOS service module for this?

+

https://once.com/writebook

+ + + + +

view this post on Zulip Srid (Jul 04 2024 at 23:51):

+

Srid said:

+
+

Use haskell-flake in pandoc

+

Pandoc's author is receptive to modernizing the flake.nix to use haskell-flake. If anybody's interested: https://github.com/jgm/pandoc/issues/8818

+
+

https://github.com/jgm/pandoc/pull/9952

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413951-general/topic/Social.20media.20stream.html b/stream/413951-general/topic/Social.20media.20stream.html new file mode 100644 index 00000000000..7d29660c04b --- /dev/null +++ b/stream/413951-general/topic/Social.20media.20stream.html @@ -0,0 +1,28 @@ + +Social media stream · general · Zulip Chat Archive +

Stream: general

+

Topic: Social media stream

+ +
+ + + + + + +

view this post on Zulip Srid (Nov 30 2023 at 17:39):

+

We now have a new stream #social-media - which automatically accumulates posts from other places, such as reddit, Discourse, StackOverflow, lobsters

+

It is not a default stream for new users, and needs to be joined manually.

+ + + + +

view this post on Zulip Srid (Dec 30 2023 at 15:07):

+

I've added Hacker News to the mix (in addition to switching to IFTTT for automation)

+

image.png

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413951-general/topic/Syntax.20highlighting.html b/stream/413951-general/topic/Syntax.20highlighting.html new file mode 100644 index 00000000000..bde940b49bb --- /dev/null +++ b/stream/413951-general/topic/Syntax.20highlighting.html @@ -0,0 +1,26 @@ + +Syntax highlighting · general · Zulip Chat Archive +

Stream: general

+

Topic: Syntax highlighting

+ +
+ + + + + + +

view this post on Zulip Srid (Jan 03 2024 at 16:05):

+

I see some folks pasting Nix code block without syntax highlighting (example). Note that it is indeed supported on Zulip, eg:

+
{
+  a = x: x + 2
+  packages = {
+    foo = pkgs.emanote;
+  };
+}
+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413951-general/topic/Telegram.html b/stream/413951-general/topic/Telegram.html new file mode 100644 index 00000000000..f001d9688bc --- /dev/null +++ b/stream/413951-general/topic/Telegram.html @@ -0,0 +1,44 @@ + +Telegram · general · Zulip Chat Archive +

Stream: general

+

Topic: Telegram

+ +
+ + + + + + +

view this post on Zulip Srid (Jun 27 2024 at 15:35):

+

We now have a Telegram group:

+

https://t.me/nixosasia

+ + + + +

view this post on Zulip Andreas (Jun 27 2024 at 16:56):

+

that makes sense given how many people use Telegram :smile:

+ + + + +

view this post on Zulip Srid (Jun 30 2024 at 13:55):

+

Looks like some people do join Telegram and post there more than this Zulip. Apparently many are not comfortable with Zulip.

+ + + + +

view this post on Zulip Andreas (Jun 30 2024 at 13:58):

+

yeah it's like the platform effect I guess

+ + + + +

view this post on Zulip Andreas (Jun 30 2024 at 13:58):

+

if you are already on the platform and all your friends are there

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/413951-general/topic/stream.20events.html b/stream/413951-general/topic/stream.20events.html new file mode 100644 index 00000000000..f60bda7d17c --- /dev/null +++ b/stream/413951-general/topic/stream.20events.html @@ -0,0 +1,58 @@ + +stream events · general · Zulip Chat Archive +

Stream: general

+

Topic: stream events

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Nov 22 2023 at 13:44):

+

Public stream created by Srid. Description:

+
+

No description.

+
+ + + + +

view this post on Zulip Notification Bot (Nov 22 2023 at 14:16):

+

Srid renamed stream random to offtopic.

+ + + + +

view this post on Zulip Notification Bot (Nov 29 2023 at 17:09):

+

Srid changed the description for this stream.

+
    +
  • Old description:
  • +
+
+

No description.

+
+
    +
  • New description:
  • +
+
+

General discussions

+
+ + + + +

view this post on Zulip Notification Bot (Nov 29 2023 at 17:09):

+

Srid renamed stream offtopic to general.

+ + + + +

view this post on Zulip Notification Bot (Nov 29 2023 at 17:09):

+

Srid changed the access permissions for this stream from Public to Web-public.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/index.html b/stream/414011-services-flake/index.html new file mode 100644 index 00000000000..2189d386870 --- /dev/null +++ b/stream/414011-services-flake/index.html @@ -0,0 +1,34 @@ + +Zulip Chat Archive +

Stream: services-flake

+
+ +

Topics:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/.E2.9C.94.200.2E2.2E0.20release.html b/stream/414011-services-flake/topic/.E2.9C.94.200.2E2.2E0.20release.html new file mode 100644 index 00000000000..7df2babb45c --- /dev/null +++ b/stream/414011-services-flake/topic/.E2.9C.94.200.2E2.2E0.20release.html @@ -0,0 +1,45 @@ + +✔ 0.2.0 release · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: ✔ 0.2.0 release

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Apr 30 2024 at 07:28):

+

And its done: https://github.com/juspay/services-flake/releases/tag/0.2.0

+ + + + +

view this post on Zulip Notification Bot (Apr 30 2024 at 07:28):

+

Shivaraj B H has marked this topic as resolved.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 30 2024 at 07:29):

+

Announced on discourse: https://discourse.nixos.org/t/announcing-services-flake/41338/6?u=shivaraj-bh

+ + + + +

view this post on Zulip Srid (Apr 30 2024 at 07:52):

+

TIL the github release includes contributors automatically:

+

image.png

+
+ + + + +

view this post on Zulip Shivaraj B H (Apr 30 2024 at 08:30):

+

twitter announcement: https://twitter.com/nixos_asia/status/1785224254272762308

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/.E2.9C.94.20Does.20it.20make.20sense.20to.20add.20.60open-browser.60.20as.20a.20service.3F.html b/stream/414011-services-flake/topic/.E2.9C.94.20Does.20it.20make.20sense.20to.20add.20.60open-browser.60.20as.20a.20service.3F.html new file mode 100644 index 00000000000..611a9166bb3 --- /dev/null +++ b/stream/414011-services-flake/topic/.E2.9C.94.20Does.20it.20make.20sense.20to.20add.20.60open-browser.60.20as.20a.20service.3F.html @@ -0,0 +1,19 @@ + +✔ Does it make sense to add `open-browser` as a service? · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: ✔ Does it make sense to add `open-browser` as a service?

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Jun 14 2024 at 11:36):

+

Shivaraj B H has marked this topic as resolved.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/.E2.9C.94.20Require.20opinion.20on.20.60example.2Fllm.60.html b/stream/414011-services-flake/topic/.E2.9C.94.20Require.20opinion.20on.20.60example.2Fllm.60.html new file mode 100644 index 00000000000..075f9b89549 --- /dev/null +++ b/stream/414011-services-flake/topic/.E2.9C.94.20Require.20opinion.20on.20.60example.2Fllm.60.html @@ -0,0 +1,219 @@ + +✔ Require opinion on `example/llm` · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: ✔ Require opinion on `example/llm`

+ +
+ + + + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:32):

+

So great, thanks !

+ + + + +

view this post on Zulip Notification Bot (Jun 14 2024 at 14:44):

+

Shivaraj B H has marked this topic as resolved.

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:47):

+

Oh crap. open-webui 0.3.4 just landed in nixpkgs-unstable.

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:47):

+

@Shivaraj B H Please run again the flake.lock generation in example/llm so you'll get the newest open-webui release.

+ + + + +

view this post on Zulip Shivaraj B H (Jun 14 2024 at 14:50):

+

@Pol Dellaiera we have automatic flake updates every week. It should get updated in 2 days (Sunday).

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:50):

+

Even for subdirectories ?!

+ + + + +

view this post on Zulip Shivaraj B H (Jun 14 2024 at 14:51):

+

Yes

+ + + + +

view this post on Zulip Srid (Jun 14 2024 at 14:53):

+

Shivaraj B H said:

+
+

Pol Dellaiera we have automatic flake updates every week. It should get updated in 2 days (Sunday).

+
+

It suffers from this particular UX issue: https://github.com/DeterminateSystems/update-flake-lock/issues/82

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:54):

+

Oh DetSys...

+ + + + +

view this post on Zulip Srid (Jun 14 2024 at 16:36):

+

Srid said:

+
+

I propose this then,

+

Have two examples,

+
    +
  • examples/ollama-ui: basically our current example but with all of Pol Dellaiera 's suggestions (no custom dataDir; no pre-loaded models)
  • +
  • examples/llm: a new example that imports the previous example (shared service) and sets the two things only -- dataDir and models (here, we can use a good model without size restriction)
  • +
+

For video demo (on X and for docs), we can use the latter example.

+
+

On 2nd thought, I don't think we should do this. I'll open a PR

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 16:39):

+

What do you have in mind?

+ + + + +

view this post on Zulip Srid (Jun 14 2024 at 16:55):

+

https://github.com/juspay/services-flake/pull/228

+ + + + +

view this post on Zulip Shivaraj B H (Jun 17 2024 at 15:34):

+

@Srid Why not have the ollama1 data dir at the top-level in ~/.services-flake instead of ~/.services-flake/llm? I ask this because we follow the top-level convention even in the data dir which is by default in $PWD

+ + + + +

view this post on Zulip Srid (Jun 17 2024 at 15:36):

+

Shivaraj B H said:

+
+

Srid Why not have the ollama1 data dir at the top-level in ~/.services-flake instead of ~/.services-flake/llm? I ask this because we follow the top-level convention even in the data dir which is by default in $PWD

+
+

That makes sense. So ~/.services-flake/llm/data/...? Yes.

+ + + + +

view this post on Zulip Shivaraj B H (Jun 17 2024 at 15:45):

+

No, I meant at the top-level itself. ~/.services-flake/<service>, in this case ~/.services-flake/ollama1

+ + + + +

view this post on Zulip Shivaraj B H (Jun 17 2024 at 15:46):

+

(deleted)

+ + + + +

view this post on Zulip Srid (Jun 17 2024 at 16:04):

+

Because we consider llm a self-contained (services-flake) "app", so it makes sense to have its own data directory.

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 20 2024 at 20:22):

+

image.png

+
+ + + + +

view this post on Zulip Pol Dellaiera (Jun 20 2024 at 20:22):

+

(I'm back on Zulip again)

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 20 2024 at 20:23):

+

As I explained, I left here because I don't want to spread to too many communication platforms and because I'm really used to the UI in Zulip.

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 20 2024 at 20:24):

+

So I though I had deleted my account... but actually I succeeded to disable it, I don't know how.

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 20 2024 at 20:24):

+

Anyway, thanks for re-enabling it.

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 20 2024 at 20:34):

+

Pol Dellaiera said:

+
+

image.png

+
+

This is the PHI3 model here. It's small and I like it. It's the default LLM on my open-webui instance.

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 20 2024 at 20:37):

+

image.png
+This is very impressive.

+
+ + + + +

view this post on Zulip Pol Dellaiera (Jun 20 2024 at 20:47):

+

image.png

+
+ + + + +

view this post on Zulip Pol Dellaiera (Jun 20 2024 at 20:48):

+

I don't know what you think guys.

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 20 2024 at 20:48):

+

But I'll check your messages tomorrow. Time to go to bed. Cheers.

+ + + + +

view this post on Zulip Srid (Jun 21 2024 at 03:32):

+

One idea is to have the flake app take the model name(s) via env vars, overriding what’s in flake config.

+ + + + +

view this post on Zulip Shivaraj B H (Jul 02 2024 at 14:00):

+

I just tried out phi3, it is quite nice and is only 2.4 G. Should we switch the example/llm to use this instead of the 9 G model?

+ + + + +

view this post on Zulip Srid (Jul 02 2024 at 14:03):

+

You can make that call.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/.E2.9C.94.20Using.20psql.20command.20instead.20of.20postgres.20in.20initialScript.html b/stream/414011-services-flake/topic/.E2.9C.94.20Using.20psql.20command.20instead.20of.20postgres.20in.20initialScript.html new file mode 100644 index 00000000000..461b7357605 --- /dev/null +++ b/stream/414011-services-flake/topic/.E2.9C.94.20Using.20psql.20command.20instead.20of.20postgres.20in.20initialScript.html @@ -0,0 +1,72 @@ + +✔ Using psql command instead of postgres in initialScript · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: ✔ Using psql command instead of postgres in initialScript

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Dec 22 2023 at 06:17):

+

@Rohit Singh Now that the <name>-init process doesn't run before <name> process (here <name> is a postgres server), i.e after this PR, we have to rename <name>-init to something more appropriate. What can this be? I am thinking <name>-postStart, but that doesn't capture the essence of its task, which is running a bunch of .sql dumps or plain text SQL scripts given by initialScript option.

+ + + + +

view this post on Zulip Shivaraj B H (Dec 22 2023 at 06:20):

+

How about <name>-postScript?

+ + + + +

view this post on Zulip Rohit Singh (Dec 22 2023 at 06:30):

+

Shivaraj B H said:

+
+

How about <name>-postScript?

+
+

How about <name>-postStartScript ?

+

Because post does not actually describes post what ? So if we keep postStartScript that would mean post starting the postgres server.

+ + + + +

view this post on Zulip Shivaraj B H (Dec 22 2023 at 06:41):

+

Let's go with postStartScript for now. Let's wait until tomorrow for any suggestions and merge it.

+ + + + +

view this post on Zulip Shivaraj B H (Dec 22 2023 at 07:51):

+

Let’s not forget the fact that the script only runs once, i.e if the dataDir is not already present, so we could consider initialPostStartScript too

+ + + + +

view this post on Zulip Shivaraj B H (Dec 23 2023 at 16:17):

+

I think it would be better if we stick to init process running before the postgres server process, we can use pg_ctl to start and stop the server during initialisation as does devenv.

+ + + + +

view this post on Zulip Shivaraj B H (Dec 23 2023 at 16:18):

+

I have updated the PR, check the link in the first message of this topic.

+ + + + +

view this post on Zulip Shivaraj B H (Dec 24 2023 at 03:14):

+

Also see the updated description of the PR for the key changes.

+ + + + +

view this post on Zulip Notification Bot (Dec 28 2023 at 20:32):

+

Shivaraj B H has marked this topic as resolved.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/.E2.9C.94.20Weaviate.html b/stream/414011-services-flake/topic/.E2.9C.94.20Weaviate.html new file mode 100644 index 00000000000..88622b90c52 --- /dev/null +++ b/stream/414011-services-flake/topic/.E2.9C.94.20Weaviate.html @@ -0,0 +1,25 @@ + +✔ Weaviate · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: ✔ Weaviate

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Jun 13 2024 at 07:02):

+

Fixed it: https://github.com/juspay/services-flake/commit/76f6081f51d8884b7d3196dbb45e8f8a11417a53

+ + + + +

view this post on Zulip Notification Bot (Jun 13 2024 at 07:02):

+

Shivaraj B H has marked this topic as resolved.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/.E2.9C.94.20custom.20local.20service.html b/stream/414011-services-flake/topic/.E2.9C.94.20custom.20local.20service.html new file mode 100644 index 00000000000..2ad9e520d58 --- /dev/null +++ b/stream/414011-services-flake/topic/.E2.9C.94.20custom.20local.20service.html @@ -0,0 +1,31 @@ + +✔ custom local service · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: ✔ custom local service

+ +
+ + + + + + +

view this post on Zulip Bruno Bigras (May 27 2024 at 18:24):

+

Thank you very much @Shivaraj B H !

+ + + + +

view this post on Zulip Notification Bot (May 27 2024 at 18:25):

+

Bruno Bigras has marked this topic as resolved.

+ + + + +

view this post on Zulip Shivaraj B H (Jun 22 2024 at 09:18):

+

@Bruno Bigras There’s an article on this now: https://community.flake.parts/services-flake/custom-service

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/0.2E2.2E0.20release.html b/stream/414011-services-flake/topic/0.2E2.2E0.20release.html new file mode 100644 index 00000000000..83537e39d8f --- /dev/null +++ b/stream/414011-services-flake/topic/0.2E2.2E0.20release.html @@ -0,0 +1,45 @@ + +0.2.0 release · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: 0.2.0 release

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Apr 28 2024 at 05:27):

+

I think it’s a good time to go for 0.2: https://github.com/juspay/services-flake/blob/main/CHANGELOG.md

+

This release has also seen contributions from external contributors, it would be nice to tag the user beside the feat/fix (not sure if that’s possible with commitizen).

+

Also there is another open question: how would I go about linking the PRs in the CHANGELOG automatically; wherever there is (#<pr-number>)?

+ + + + +

view this post on Zulip Srid (Apr 28 2024 at 05:29):

+

Shivaraj B H said:

+
+

Also there is another open question: how would I go about linking the PRs in the CHANGELOG automatically; wherever there is (#<pr-number>)?

+
+

https://github.com/commitizen-tools/commitizen/issues/396 ?

+ + + + +

view this post on Zulip Srid (Apr 28 2024 at 05:30):

+

Don't forget to make a release tag (through GitHub release).

+

You can mention those users in when you create a GitHub release here: https://github.com/juspay/services-flake/releases though it'd be a manual process. Maybe there's a feature request for it already in commitizen.

+

(FTR, I've been using convco in other repos)

+ + + + +

view this post on Zulip Shivaraj B H (Apr 28 2024 at 05:42):

+

I did try convco, I wasn’t able to get the “just changelog” command auto-generate unreleased changes starting from previous release. It worked nicely with commitizen

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/CUDA.20acceleration.20in.20ollama.html b/stream/414011-services-flake/topic/CUDA.20acceleration.20in.20ollama.html new file mode 100644 index 00000000000..3bcaff5cb08 --- /dev/null +++ b/stream/414011-services-flake/topic/CUDA.20acceleration.20in.20ollama.html @@ -0,0 +1,96 @@ + +CUDA acceleration in ollama · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: CUDA acceleration in ollama

+ +
+ + + + + + +

view this post on Zulip Ayrton Mercado (Jun 24 2024 at 11:17):

+

Guys, adding

+
            **acceleration = "cuda";**
+
+

has turned into a bit of an inside joke fr me. The resulting error is why I almost gave up on NixOS when I first picked it up a few weeks ago, namely I get the ... has an unfree license (‘CUDA EULA’), refusing to evaluate. whith a prescription for solutions.

+

I have set the env variable

+
 $env.NIXPKGS_ALLOW_UNFREE
+1
+
+

added to my flake

+
  packages.config.allowUnfree = true;
+
+

It is my understanding that the allowUnfree property I'm setting is not scoped correctly, but I'm having a tough time figuring out the correct scope.

+

Found a thread on stackoverflow that probably has the answer but I can't follow it. (square peg/round hole).

+

My biggest issue is the dissonance between calling a nix file a configuration and what it actually is (IMO) a program. I have yet to crack the language.

+

I'm going to start here. With some luck I'll be able to fix this by the end of the week :)

+ + + + +

view this post on Zulip Notification Bot (Jun 24 2024 at 11:19):

+

Shivaraj B H has marked this topic as unresolved.

+ + + + +

view this post on Zulip Notification Bot (Jun 24 2024 at 11:19):

+

A message was moved here from #nixify-llm > ✔ Issues with ollama flake by Shivaraj B H.

+ + + + +

view this post on Zulip Shivaraj B H (Jun 24 2024 at 11:23):

+

@Ayrton Mercado I have to document this, you can use this for now:

+
# Inside perSystem
+{
+  imports = [
+    "${inputs.nixpkgs}/nixos/modules/misc/nixpkgs.nix"
+  ];
+  nixpkgs = {
+    # Required for CUDA
+    config.allowUnfree = true;
+  };
+}
+
+ + + + +

view this post on Zulip Shivaraj B H (Jun 24 2024 at 11:25):

+

ollama-flake exports a nixpkgs module that would handle this, but since that’s not the case after upstreaming to services-flake, it wasn’t working out of the box for you.

+ + + + +

view this post on Zulip Shivaraj B H (Jun 24 2024 at 11:43):

+

Hold on, there seems to a bug in services-flake that I just fixed: https://github.com/juspay/services-flake/commit/8145ba10cb02dc0a843bba371fc2d42cea7fd226

+ + + + +

view this post on Zulip Shivaraj B H (Jun 24 2024 at 11:54):

+

This commit demonstrates how to do it in the current services-flake’s example/llm: https://github.com/shivaraj-bh/services-flake/commit/bf3bf65a920dc6e3b4eb749ec3809fdeaf4b9360

+ + + + +

view this post on Zulip Shivaraj B H (Jun 24 2024 at 12:00):

+

Also documented it: https://github.com/juspay/services-flake/commit/fb6de01eb6e7d2ac1c540fd399b9c0f447ce0ab7

+ + + + +

view this post on Zulip Ayrton Mercado (Jun 24 2024 at 12:57):

+

Shivaraj B H said:

+
+

Also documented it: https://github.com/juspay/services-flake/commit/fb6de01eb6e7d2ac1c540fd399b9c0f447ce0ab7

+
+

Confirmed on my end, the flake compiles

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/Compared.20to.20other.20tools.html b/stream/414011-services-flake/topic/Compared.20to.20other.20tools.html new file mode 100644 index 00000000000..350c0edd512 --- /dev/null +++ b/stream/414011-services-flake/topic/Compared.20to.20other.20tools.html @@ -0,0 +1,20 @@ + +Compared to other tools · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: Compared to other tools

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 07 2024 at 20:55):

+

Adding a comparison table here: https://github.com/juspay/services-flake/pull/135

+

Currently, comparing with devenv. What other tools should we compare with? And what other aspects?

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/Darwin.20support.20for.20grafana.html b/stream/414011-services-flake/topic/Darwin.20support.20for.20grafana.html new file mode 100644 index 00000000000..b366c178de3 --- /dev/null +++ b/stream/414011-services-flake/topic/Darwin.20support.20for.20grafana.html @@ -0,0 +1,20 @@ + +Darwin support for grafana · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: Darwin support for grafana

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Mar 26 2024 at 18:41):

+

Got the PR merged in upstream, now you can build latest grafana on x86_64-{linux, darwin} and aarch64-{linux, darwin}.

+

Will update in services-flake, as soon as the release is in nixpkgs-unstable, track the PR here: https://nixpk.gs/pr-tracker.html?pr=297968

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/Docs.html b/stream/414011-services-flake/topic/Docs.html new file mode 100644 index 00000000000..e775addcc60 --- /dev/null +++ b/stream/414011-services-flake/topic/Docs.html @@ -0,0 +1,19 @@ + +Docs · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: Docs

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 10 2024 at 19:47):

+

https://nixos.asia/en/blog/replacing-docker-compose

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/Does.20it.20make.20sense.20to.20add.20.60open-browser.60.20as.20a.20service.3F.html b/stream/414011-services-flake/topic/Does.20it.20make.20sense.20to.20add.20.60open-browser.60.20as.20a.20service.3F.html new file mode 100644 index 00000000000..bc81ea9c663 --- /dev/null +++ b/stream/414011-services-flake/topic/Does.20it.20make.20sense.20to.20add.20.60open-browser.60.20as.20a.20service.3F.html @@ -0,0 +1,27 @@ + +Does it make sense to add `open-browser` as a service? · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: Does it make sense to add `open-browser` as a service?

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Jun 13 2024 at 05:55):

+

open-browser will use xdg-open on Linux and open on macOS to open the browser once the website is up. This is useful to ensure the user doesn’t have to go through the logs/option definitions. See a case where this can be used: https://github.com/juspay/services-flake/pull/219#issue-2345406734

+

I think that it doesn’t make sense to add it as a service but instead just document how to create such a process using settings.processes, similar to pgweb example here.

+

Any thoughts?

+ + + + +

view this post on Zulip Srid (Jun 13 2024 at 14:10):

+

Let's not prematurely add trivial services. Let's start by documenting them, even using them in examples. And later down the lines we can add them to the official list of services if there's clear value.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/GSoC.html b/stream/414011-services-flake/topic/GSoC.html new file mode 100644 index 00000000000..c7fe93ed61e --- /dev/null +++ b/stream/414011-services-flake/topic/GSoC.html @@ -0,0 +1,26 @@ + +GSoC · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: GSoC

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 18 2024 at 14:19):

+

Domen opened a PR to add devenv to GSoC list of projects.

+

Perhaps we can do the same for services-flakes. I can be a mentor, though I can't obviously open a PR there.

+ + + + +

view this post on Zulip Shivaraj B H (Mar 26 2024 at 18:39):

+

I missed this one, I think it is still not too late, but what tasks are we thinking here?

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/Hard.20to.20see.20when.20I.20try.20to.20quit.html b/stream/414011-services-flake/topic/Hard.20to.20see.20when.20I.20try.20to.20quit.html new file mode 100644 index 00000000000..65a512298a9 --- /dev/null +++ b/stream/414011-services-flake/topic/Hard.20to.20see.20when.20I.20try.20to.20quit.html @@ -0,0 +1,22 @@ + +Hard to see when I try to quit · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: Hard to see when I try to quit

+ +
+ + + + + + +

view this post on Zulip Bruno Bigras (May 28 2024 at 04:01):

+

I don't know if it's because of my alacritty or zsh themes. I'm using catppuccin (mocha) everywhere.

+

The rest of the UI seems fine.

+

image.png

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/Java.20process.20leak.html b/stream/414011-services-flake/topic/Java.20process.20leak.html new file mode 100644 index 00000000000..c6a9ac7bdb8 --- /dev/null +++ b/stream/414011-services-flake/topic/Java.20process.20leak.html @@ -0,0 +1,35 @@ + +Java process leak · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: Java process leak

+ +
+ + + + + + +

view this post on Zulip Srid (Jun 19 2024 at 16:55):

+

Ghost process from an old nixci build on services-flake:

+

image.png

+

image.png

+

image.png

+

I can't even kill it.

+ + + + +

view this post on Zulip Srid (Jun 19 2024 at 16:56):

+

(Well, it stopped after trying to kill process-compose twice)

+ + + + +

view this post on Zulip Srid (Jun 19 2024 at 16:56):

+

Something to do with cassandra-test it seems.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/Plan.20on.20integrating.20photoprism.20based.20on.20services-flake.html b/stream/414011-services-flake/topic/Plan.20on.20integrating.20photoprism.20based.20on.20services-flake.html new file mode 100644 index 00000000000..e8e68c1b0e8 --- /dev/null +++ b/stream/414011-services-flake/topic/Plan.20on.20integrating.20photoprism.20based.20on.20services-flake.html @@ -0,0 +1,146 @@ + +Plan on integrating photoprism based on services-flake · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: Plan on integrating photoprism based on services-flake

+ +
+ + + + + + +

view this post on Zulip corocoton (Jul 09 2024 at 08:43):

+

Hello,
+first of all, thanks for sharing an awesome project !

+

I'm curious and in the very process of getting a photoprism service running.

+

Currently I'm using this fine flake of someone, with workarounds not worth detailling, but significantly enough to progress.

+

So my question ought to be how I would model the mysql setup elaborated back there using services flake ?

+

Is process-compose the right tool for me then ?

+ + + + +

view this post on Zulip Shivaraj B H (Jul 09 2024 at 15:39):

+

process-compose is useful to manage services that run in foreground and mainly as a replacement for dev containers, to test your projects' integration with external services (during local development and CI). And also, you needn’t have to be on NixOS to run these services.

+

photoprism is a service that you will most likely host with an init system (like systemd or launchd) that runs in background. This should work nicely once we have https://github.com/juspay/services-flake/issues/239

+ + + + +

view this post on Zulip corocoton (Jul 09 2024 at 20:49):

+

Shivaraj B H schrieb:

+
+

process-compose is useful to manage services that run in foreground and mainly as a replacement for dev containers, to test your projects' integration with external services (during local development and CI). And also, you needn’t have to be on NixOS to run these services.

+

photoprism is a service that you will most likely host with an init system (like systemd or launchd) that runs in background. This should work nicely once we have https://github.com/juspay/services-flake/issues/239

+
+

I want to be able to run that on non-NixOS, that the involved services run in foreground is not an obstacle for me, so let's call it an exercise rather than an enhancement of services-flake.

+ + + + +

view this post on Zulip Andreas (Jul 10 2024 at 08:14):

+

I don't know how production-ready that is, but this might be worth looking at: https://github.com/numtide/system-manager

+ + + + +

view this post on Zulip Andreas (Jul 10 2024 at 08:15):

+

Works on any non-NixOS distro as long as it is called Ubuntu they say :grinning_face_with_smiling_eyes:

+ + + + +

view this post on Zulip corocoton (Jul 10 2024 at 08:21):

+

Andreas schrieb:

+
+

I don't know how production-ready that is, but this might be worth looking at: https://github.com/numtide/system-manager

+
+

Thanks for that link, I consider adding that to my exercise list than. That's actually systemd --user, why not ?
+I have at least one use in the flake I use for my systems where that might work pretty well (using systemd-tmpfiles on I dare say Archlinux).

+ + + + +

view this post on Zulip Andreas (Jul 10 2024 at 08:36):

+
+

That's actually systemd --user

+
+

Is it? Where did you get that from?

+ + + + +

view this post on Zulip corocoton (Jul 10 2024 at 08:40):

+

Andreas schrieb:

+
+
+

That's actually systemd --user

+
+

Is it? Where did you get that from?

+
+

Let's say I just very much hoped so from a glance at their https://github.com/numtide/system-manager/blob/4d33bfa43cc067dd6ea6a0e41115f27b50cd5a35/README.md?plain=1#L75 ?

+

How dare they set up non-user services when not on non-NixOS :rolling_on_the_floor_laughing: ?

+ + + + +

view this post on Zulip corocoton (Jul 10 2024 at 08:41):

+

Andreas schrieb:

+
+
+

That's actually systemd --user

+
+

Is it? Where did you get that from?

+
+

but please you know more, tell me.

+ + + + +

view this post on Zulip Andreas (Jul 10 2024 at 08:43):

+

I don't know, I haven't tried that thing. But it appears to need root permissions, so I'd guess is manages normal systemd services on Ubuntu?

+ + + + +

view this post on Zulip corocoton (Jul 10 2024 at 08:59):

+

Andreas schrieb:

+
+

I don't know, I haven't tried that thing. But it appears to need root permissions, so I'd guess is manages normal systemd services on Ubuntu?

+
+

Ah ok, then I can strike that from my list immediately, good to know. I was assuming your Ubuntu-remark fun, but with that information makes sense to me too.

+ + + + +

view this post on Zulip corocoton (Jul 10 2024 at 09:00):

+

Andreas schrieb:

+
+

I don't know, I haven't tried that thing. But it appears to need root permissions, so I'd guess is manages normal systemd services on Ubuntu?

+
+

https://github.com/numtide/system-manager/blob/4d33bfa43cc067dd6ea6a0e41115f27b50cd5a35/src/main.rs#L438 proof

+ + + + +

view this post on Zulip corocoton (Jul 10 2024 at 09:04):

+

Andreas schrieb:

+
+

I don't know, I haven't tried that thing. But it appears to need root permissions, so I'd guess is manages normal systemd services on Ubuntu?

+
+

thx for the nitpick.

+ + + + +

view this post on Zulip Shivaraj B H (Jul 10 2024 at 13:16):

+
+

I want to be able to run that on non-NixOS, that the involved services run in foreground is not an obstacle for me, so let's call it an exercise rather than an enhancement of services-flake.

+
+

@corocoton In that case, you can open an issue in services-flake to add the service and I can check it out when I get sometime.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/Require.20opinion.20on.20.60example.2Fllm.60.html b/stream/414011-services-flake/topic/Require.20opinion.20on.20.60example.2Fllm.60.html new file mode 100644 index 00000000000..3caac81e095 --- /dev/null +++ b/stream/414011-services-flake/topic/Require.20opinion.20on.20.60example.2Fllm.60.html @@ -0,0 +1,283 @@ + +Require opinion on `example/llm` · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: Require opinion on `example/llm`

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Jun 14 2024 at 11:41):

+

I just wanted to get some opinion on two different ways example/llm can run:

+
    +
  1. The example will pre-load the models and start Open WebUI. This ensures the user can immediately prompt the model once the WebUI launches. But this has a one-time wait period for pulling the model.
  2. +
  3. The example will immediately start Open WebUI and the user can load whatever model they want from the “Admin Panel”.
  4. +
+

Try out example1: nix run github:juspay/services-flake?dir=example/llm —override-input services-flake github:juspay/services-flake

+

Try out example2: nix run "github:drupol/services-flake/fix-open-webui-example?dir=example/llm" --refresh --override-input services-flake github:juspay/services-flake

+

PR for example2: https://github.com/juspay/services-flake/pull/227

+ + + + +

view this post on Zulip Srid (Jun 14 2024 at 13:52):

+

cc @Andreas who has tried this out before.

+

Perhaps we should invite the PR author (drupol) here.

+ + + + +

view this post on Zulip Srid (Jun 14 2024 at 13:53):

+

I'm fine with pre-loading it. It is just an example, but it is an unique example we are also using it for demo (video).

+ + + + +

view this post on Zulip Andreas (Jun 14 2024 at 13:54):

+

yeah sure, why not invite Drupol!

+

I've been debugging ollama on docker anyways the last 2 days. Because the dual GPU stack I run has issues of an unclear nature.

+ + + + +

view this post on Zulip Srid (Jun 14 2024 at 13:54):

+

I also like dataDir to remain $HOME/.services-flake/ollama, because then I can always revisit the "app" by re-runing nix run ... and play with the model locally. In a way, this example also demonstrates that you can use services-flake not only to run services in development project, but also as an end-user "app" (where there's no concept of flake project directory under $HOME, since nix run ... doesn't require it).

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 13:56):

+

Hey hi !

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 13:57):

+

I'm @drupol on Github.

+ + + + +

view this post on Zulip Andreas (Jun 14 2024 at 13:57):

+

Hey @Pol Dellaiera and welcome!

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 13:57):

+

I joined to discuss about this: https://github.com/juspay/services-flake/pull/227#issuecomment-2168096533

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 13:58):

+

@Srid Hey I'm here :)

+ + + + +

view this post on Zulip Srid (Jun 14 2024 at 13:59):

+

Welcome :-)

+ + + + +

view this post on Zulip Srid (Jun 14 2024 at 13:59):

+

(I posted about the formatter in #nix )

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:05):

+

How about finding a compromise?

+

services-flake is great because it can save data in the same user directory where the flake.nix belong. Maybe we should establish some kind of ./data directory that is always there (equivalent to the ./state directory in direnv) and add a comment explaining that user is free to change that directory?

+

Hiding the ollama LLMs under $home/.service-flake/ is definitely too intrusive for me already.

+ + + + +

view this post on Zulip Srid (Jun 14 2024 at 14:06):

+

How are you using example/llm for your use case? As an actual app seeing everyday use?

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:07):

+

No, I use the NixOS service on my side, but I have plenty of colleagues I wish I could show the demo. But Nix is already quite magical for a lot of people and I think it's a good idea to make things clear by not hiding where the files are going to be saved by default.

+ + + + +

view this post on Zulip Srid (Jun 14 2024 at 14:08):

+

Pol Dellaiera said:

+
+

Nix is already quite magical for a lot of people and I think it's a good idea to make things clear by not hiding where the files are going to be saved by default.

+
+

Okay, fair enough. I'm happy with using default dataDir then.

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:09):

+

Cool, thanks ! :) Do you want me to add a comment in the flake for dataDir ?

+ + + + +

view this post on Zulip Srid (Jun 14 2024 at 14:10):

+

Instead of removing it, you could just comment out # dataDir = ...

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:10):

+

yeah I was about to do that.

+ + + + +

view this post on Zulip Srid (Jun 14 2024 at 14:10):

+

Also, I still like pre-loading models, so restore models = [ "llama2-uncensored" ]; as well.

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:11):

+

Sad. I would prefer to start with no LLM so users are free to use whatever they want.

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:11):

+

And starting with llama2-uncensored is... meh.

+ + + + +

view this post on Zulip Srid (Jun 14 2024 at 14:12):

+

I mainly want the nix run ... invocation for this example to work 'out of the box' (with little manual poking) as much as possible. I have no preference on the specific model (smaller is generally better)

+ + + + +

view this post on Zulip Andreas (Jun 14 2024 at 14:13):

+

I mean nowadays we could go llama3 ... or which one would you prefer?

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:13):

+

IMHO - I would not force users to download 4+GB of models on their behalv. I would leave it empty.

+ + + + +

view this post on Zulip Shivaraj B H (Jun 14 2024 at 14:14):

+

How about a middle ground? use tinydolphin as the default pre-loaded model, for the purpose of the user to quickly verify if they are able to prompt and get a response. After which they are free to pull whatever model they want from the Admin panel?

+ + + + +

view this post on Zulip Srid (Jun 14 2024 at 14:15):

+

How big is tinydolphin?

+ + + + +

view this post on Zulip Andreas (Jun 14 2024 at 14:15):

+

637 MB it seems

+ + + + +

view this post on Zulip Andreas (Jun 14 2024 at 14:16):

+

which means it will run on almost any GPU that is supported, which is nice

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:18):

+

so, tinydolphin ?

+ + + + +

view this post on Zulip Srid (Jun 14 2024 at 14:18):

+

I propose this then,

+

Have two examples,

+
    +
  • examples/ollama-ui: basically our current example but with all of @Pol Dellaiera 's suggestions (no custom dataDir; no pre-loaded models)
  • +
  • examples/llm: a new example that imports the previous example (shared service) and sets the two things only -- dataDir and models (here, we can use a good model without size restriction)
  • +
+

For video demo (on X and for docs), we can use the latter example.

+ + + + +

view this post on Zulip Srid (Jun 14 2024 at 14:19):

+

The later can also serve as a demonstration of sharing of services.

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:20):

+

As you wish guys... this is your project :)

+ + + + +

view this post on Zulip Srid (Jun 14 2024 at 14:20):

+

Srid said:

+
+

For video demo (on X and for docs), we can use the latter example.

+
+

And in future, we can tell people "if you want to see what services-flake can do, run nix run ..." (pointing to this latter example)

+ + + + +

view this post on Zulip Andreas (Jun 14 2024 at 14:21):

+

perhaps choose a slightly more specific name for examples/llm... idk what you guys typically go for, examples/ollama-preloaded maybe?

+ + + + +

view this post on Zulip Srid (Jun 14 2024 at 14:21):

+

Yea, good idea

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:21):

+

By the way, how do you manage to not use --impure and write in the current directory? What's the magic trick ?

+ + + + +

view this post on Zulip Shivaraj B H (Jun 14 2024 at 14:26):

+

Cool, I will merge @Pol Dellaiera ’s PR once the models is removed to demonstrate only the open-webui. I will rename the example/llm to example/open-webui in a different PR. And then add example/ollama-preloaded in another one.

+

Sounds good?

+ + + + +

view this post on Zulip Pol Dellaiera (Jun 14 2024 at 14:27):

+

Done.

+ + + + +

view this post on Zulip Shivaraj B H (Jun 14 2024 at 14:30):

+

Pol Dellaiera said:

+
+

By the way, how do you manage to not use --impure and write in the current directory? What's the magic trick ?

+
+

nix run doesn’t require pure evaluation mode

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/Weaviate.html b/stream/414011-services-flake/topic/Weaviate.html new file mode 100644 index 00000000000..72276b67f53 --- /dev/null +++ b/stream/414011-services-flake/topic/Weaviate.html @@ -0,0 +1,316 @@ + +Weaviate · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: Weaviate

+ +
+ + + + + + +

view this post on Zulip Mahdi Seyedan (May 22 2024 at 12:20):

+

I looked through documentation of Weaviate but I cant find how to run Weaviate locally.

+ + + + +

view this post on Zulip Shivaraj B H (May 22 2024 at 12:53):

+
nix run nixpkgs#weaviate -- --scheme=http
+
+ + + + +

view this post on Zulip Shivaraj B H (May 22 2024 at 12:54):

+

That uses all the default configs, except I ask it not to use TLS, otherwise you will have to provide the location to the certificates and a bunch of other TLS related stuff

+ + + + +

view this post on Zulip Shivaraj B H (May 22 2024 at 12:56):

+

In services-flake, we can assume it is http by default — as we only target local development and CI workflows.

+ + + + +

view this post on Zulip Mahdi Seyedan (May 22 2024 at 14:31):

+

I wrote this basic weaviate process:

+
{
+  settings.processes.weaviate1.command = pkgs.writeShellApplication {
+    name = "start-weaviate";
+    runtimeInputs = [ pkgs.weaviate ];
+    text = ''
+      exec weaviate --scheme=http --host 0.0.0.0 --port 8080
+    '';
+  };
+}
+
+

But I don't know why running it doesn't always produce logs
+swappy-20240522_175414.png
+swappy-20240522_175259.png

+
+ + + + +

view this post on Zulip Shivaraj B H (May 22 2024 at 15:58):

+

I am not very certain, but it could be an upstream process-compose bug. I have noticed that when you switch back to the process you see logs, you can do that if there are more than one processes

+ + + + +

view this post on Zulip Shivaraj B H (May 22 2024 at 15:59):

+

Anyways, you could also pass “-t=false” to process-compose to disable TUI mode

+ + + + +

view this post on Zulip Shivaraj B H (May 22 2024 at 15:59):

+

That should do that job as well

+ + + + +

view this post on Zulip Mahdi Seyedan (May 22 2024 at 20:37):

+

Right now this is my weaviate.nix file:

+
{ pkgs, lib, name, config, ... }:
+let
+  inherit (lib) types;
+in
+{
+  options = {
+    enable = lib.mkEnableOption name;
+
+    package = lib.mkPackageOption pkgs "weaviate" { };
+
+    outputs.settings = lib.mkOption {
+      type = types.deferredModule;
+      internal = true;
+      readOnly = true;
+      default = {
+        processes = {
+          "${name}" =
+            let
+              startScript = pkgs.writeShellApplication {
+                name = "start-weaviate";
+                runtimeInputs = [ config.package ];
+                text = ''
+                  exec weaviate --scheme=http --host 0.0.0.0 --port 8080
+                '';
+              };
+
+              readyScript = pkgs.writeText "ready.py" ''
+                import weaviate
+                client = weaviate.connect_to_local(port=8080)
+                client.close()
+              '';
+            in
+            {
+              command = startScript;
+
+              readiness_probe = {
+                exec.command = "${(pkgs.python3.withPackages (p: [ p.weaviate-client ]))}/bin/python ${readyScript}";
+                initial_delay_seconds = 2;
+                period_seconds = 10;
+                timeout_seconds = 4;
+                success_threshold = 1;
+                failure_threshold = 5;
+              };
+              namespace = name;
+
+              # https://github.com/F1bonacc1/process-compose#-auto-restart-if-not-healthy
+              availability.restart = "on_failure";
+            };
+        };
+      };
+    };
+  };
+}
+
+

and this is weaviate_test.nix file:

+
{ pkgs, config, ... }: {
+  services.weaviate."weaviate1".enable = true;
+
+  settings.processes.test =
+    let
+      cfg = config.services.weaviate."weaviate1";
+      testScript = pkgs.writeText "test.py" ''
+        import weaviate
+
+        client = weaviate.connect_to_local(
+            port=8080,
+        )
+        client.close()
+      '';
+    in
+    {
+      command = pkgs.writeShellApplication {
+        runtimeInputs = [
+          cfg.package
+          (pkgs.python3.withPackages (python-pkgs: [
+            python-pkgs.weaviate-client
+          ]))
+        ];
+        text = ''
+          exec python3 ${testScript}
+        '';
+        name = "weaviate-test";
+      };
+      depends_on."weaviate1".condition = "process_healthy";
+    };
+}
+
+

command just run weaviate works fine but when i run just test weaviate I get error:
+swappy-20240522_235102.png

+
+ + + + +

view this post on Zulip Shivaraj B H (May 23 2024 at 12:52):

+

can’t reproduce. Tried it on macOS the test is passing.

+ + + + +

view this post on Zulip Mahdi Seyedan (May 23 2024 at 12:53):

+

I added other config options and even doc in this commit. Can you see if there is anything missing

+ + + + +

view this post on Zulip Shivaraj B H (May 23 2024 at 12:54):

+

I can reproduce your error on linux

+ + + + +

view this post on Zulip Shivaraj B H (May 23 2024 at 12:58):

+
+

I added other config options and even doc in this commit. Can you see if there is anything missing

+
+

Looks neat! Only missing piece will be the test failing on linux. Weaviate is doing something different on macOS, it works there.

+ + + + +

view this post on Zulip Mahdi Seyedan (May 23 2024 at 12:59):

+

It works with just run weaviate right?

+ + + + +

view this post on Zulip Mahdi Seyedan (May 23 2024 at 13:04):

+

And the only difference i can see is running process-compose with -t=false flag

+ + + + +

view this post on Zulip Mahdi Seyedan (May 23 2024 at 14:28):

+

I added --no-sandbox to

+
test service:
+    nix --no-sandbox build ./test#checks.$(nix eval --impure --expr "builtins.currentSystem").{{service}} --override-input services-flake . -L
+
+

and it works

+ + + + +

view this post on Zulip Shivaraj B H (May 24 2024 at 08:43):

+
+

I added other config options and even doc in this commit. Can you see if there is anything missing

+
+

You are missing dataDir option for the service

+ + + + +

view this post on Zulip Shivaraj B H (May 24 2024 at 09:20):

+

Also, Usage of the weaviate.conf.json file is deprecated and will be removed in the future. Please use environment variables.

+ + + + +

view this post on Zulip Mahdi Seyedan (May 24 2024 at 13:55):

+

I changed the configs to use environment variables commit also added dataDir option.

+

and found a better way to check for readiness and for test without the python scripts. commit

+ + + + +

view this post on Zulip Shivaraj B H (May 24 2024 at 15:21):

+

Great!

+
+

I added --no-sandbox to and it works

+
+

I don’t why weaviate would require to disable sandbox mode.

+ + + + +

view this post on Zulip Mahdi Seyedan (May 24 2024 at 15:29):

+

I thought it was because of weaviate telemetry but even after disabling it, test won't pass.

+ + + + +

view this post on Zulip Shivaraj B H (May 24 2024 at 15:33):

+

I think I figured it out. It has to do with https://github.com/hashicorp/memberlist. Although I am yet to find the exact reason, but setting this ENV makes the test pass:

+
diff --git a/nix/weaviate_test.nix b/nix/weaviate_test.nix
+index a766c58..31d7975 100644
+--- a/nix/weaviate_test.nix
++++ b/nix/weaviate_test.nix
+@@ -1,5 +1,10 @@
+ { pkgs, config, ... }: {
+-  services.weaviate."weaviate1".enable = true;
++  services.weaviate."weaviate1" = {
++    enable = true;
++    envs = {
++      CLUSTER_ADVERTISE_ADDR = "127.0.0.1";
++    };
++  };
+
+   settings.processes.test =
+     let
+
+ + + + +

view this post on Zulip Shivaraj B H (May 24 2024 at 15:37):

+

This is what lead me to it: https://github.com/weaviate/weaviate/blob/9e924cc88933b3042e27e30ad4abf26ab9ab78f8/usecases/cluster/state.go#L84-L86

+ + + + +

view this post on Zulip Shivaraj B H (May 24 2024 at 15:43):

+

I think it has to do with the fact that the default value for AdvertiseAddr config is an empty string: https://github.com/hashicorp/memberlist/blob/3f82dc10a89f82efe300228752f7077d0d9f87e4/config.go#L308

+

But what I fail to understand is, how does it work when sandbox is disabled. I think the question can be better framed as: What does empty addr translate to?

+ + + + +

view this post on Zulip Mahdi Seyedan (May 24 2024 at 16:38):

+

When AdvertiseAddr is empty it goes to this path:
+https://github.com/hashicorp/memberlist/blob/3f82dc10a89f82efe300228752f7077d0d9f87e4/net_transport.go#L160

+

and calls GetPrivateIP function which I guess in sandbox mode can't find any ip

+ + + + +

view this post on Zulip Mahdi Seyedan (May 27 2024 at 02:01):

+

Should i use types.raw as type of value of environment? other than int, str, list of str and bool, is there anything else? at least for environment values of weaviate

+ + + + +

view this post on Zulip Mahdi Seyedan (May 28 2024 at 10:32):

+

I forgot to update envs to environment in weaviate.md file
+https://github.com/juspay/services-flake/blob/main/doc/weaviate.md?plain=1#L32

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/cargo-doc-live.20initial.20PR.html b/stream/414011-services-flake/topic/cargo-doc-live.20initial.20PR.html new file mode 100644 index 00000000000..dbfa63e8c59 --- /dev/null +++ b/stream/414011-services-flake/topic/cargo-doc-live.20initial.20PR.html @@ -0,0 +1,317 @@ + +cargo-doc-live initial PR · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: cargo-doc-live initial PR

+ +
+ + + + + + +

view this post on Zulip Hao Liu (Jun 23 2024 at 23:59):

+

I am trying to integrate cargo-doc-live into services-flake, I added cargo-doc-live for nixci https://github.com/juspay/services-flake/pull/246/commits/7877ddc635eb45ebe0b71f02bc529065f06b6c5f#diff-206b9ce276ab5971a2489d75eb1b12999d4bf3843b7988cbe8d687cfde61dea0R31-R34, it errors out since it's not running the build in the example/cargo-doc-live directory

+

the error says:

+
cargo-doc-live-test> + process-compose --no-server -t=false
+cargo-doc-live-test> [cargo-doc-live1-cargo-doc ] error: project root does not exist
+
+

any way I could run the nixci in the specified directory instead of top directory of services-flake?

+ + + + +

view this post on Zulip Notification Bot (Jun 24 2024 at 00:26):

+

Srid has marked this topic as unresolved.

+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 00:52):

+

@Hao Liu It should not matter from which directory you run nix build <flake-url> (which is what nixci build does essentially) on, because nix builds are pure anyway.

+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 00:53):

+
error: project root does not exist
+
+

Where's this error originating from?

+

Take a look at how we set project root to the repo root in other places, e.g.: https://github.com/juspay/services-flake/blob/641937bc0f523405fbac4bb89c074de613dcee4d/dev/flake.nix#L26

+ + + + +

view this post on Zulip Hao Liu (Jun 24 2024 at 00:54):

+

@Srid this is how I set the projectRoot in example https://github.com/juspay/services-flake/pull/246/files#diff-1cb9f37420e339a53fbd8b86243c074e2c4a3c93072a31a5ca73133054a63572R26

+ + + + +

view this post on Zulip Hao Liu (Jun 24 2024 at 00:55):

+

the error error: project root does not exist is from cargo-watch when it could find a Rust project to watch on

+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 00:56):

+

This is where the flake check is defined: https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/test.nix

+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 00:56):

+

Looks we need a cd there before running pc

+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 00:57):

+

More generally, what if our process-compose test depends on $PWD being set to something? That sounds like a feature request to https://github.com/Platonic-Systems/process-compose-flake repo

+ + + + +

view this post on Zulip Hao Liu (Jun 24 2024 at 00:58):

+

you mean instead of hardcoded cd $HOME, introduce an option to enter a different directory like $PWD?

+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 01:00):

+

Haven't fully thought about it, but yes maybe something like that.

+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 01:00):

+

Or it could be something like preHook option we already have

+ + + + +

view this post on Zulip Hao Liu (Jun 24 2024 at 01:08):

+
preHook = ''
+  cd ${inputs.self}
+'';
+
+

won't work due to permission issue,

+
✔ ~/services-flake/example/cargo-doc-live [add-cargo-doc-live|✚ 1…1]
+11:07 $ result/bin/cargo-doc-live
++ process-compose --no-server
+[cargo-doc-live1-cargo-doc  ] [Running 'run-cargo-doc']
+[cargo-doc-live1-cargo-doc  ] error: Permission denied (os error 13) at path "/nix/store/a0vgclrrfn2svimc56k96m0nm0xvlndi-source/example/cargo-doc-live/targetwM02VI"
+
+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 01:11):

+
preHook = ''
+  cp -r ${inputs.self} $HOME/project
+  cd ~/project
+'';
+
+ + + + +

view this post on Zulip Hao Liu (Jun 24 2024 at 01:15):

+

image.png

+
+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 01:20):

+

Yes, writeShellApplication uses shellcheck, so the script should conform to it.

+ + + + +

view this post on Zulip Hao Liu (Jun 24 2024 at 01:20):

+

ahh, no wonder :)

+ + + + +

view this post on Zulip Hao Liu (Jun 24 2024 at 01:21):

+

the same permission issue after copying to my home dir

+
11:21 $ result/bin/cargo-doc-live
++ process-compose --no-server
+[cargo-doc-live1-cargo-doc  ] [Running 'run-cargo-doc']
+[cargo-doc-live1-cargo-doc  ] error: Permission denied (os error 13) at path "/home/hao/project/targetuijuhb"
+[cargo-doc-live1-cargo-doc  ] Browsersync not running at http://localhost:8009
+
+ + + + +

view this post on Zulip Hao Liu (Jun 24 2024 at 01:22):

+

should I introduce a chown?

+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 01:25):

+

Yes.

+ + + + +

view this post on Zulip Hao Liu (Jun 24 2024 at 01:29):

+

chown $USER $HOME/project won't work ...

+ + + + +

view this post on Zulip Hao Liu (Jun 24 2024 at 01:29):

+

and putting preHook in example/cargo-doc-live/flake.nix doesn't feel right since the user of the service should not bother to know that :D

+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 01:38):

+

chmod -R a+...

+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 01:38):

+

https://github.com/srid/haskell-flake/blob/3f76199d42d55e3a36bf8e8e0544e715d6a3f007/nix/modules/project/hls-check.nix#L23-L24

+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 01:39):

+

Hao Liu said:

+
+

and putting preHook in example/cargo-doc-live/flake.nix doesn't feel right since the user of the service should not bother to know that :D

+
+

I suggest doing this by hand then - i.e., write the flake check yourself, and then we can see how it can be abstracted out.

+ + + + +

view this post on Zulip Hao Liu (Jun 24 2024 at 02:07):

+

@Srid copying the project to HOME will stop the realtime update from happening since the user is updating the doc in example/cargo-doc-live while the BrowserSync is watching the folder in HOME

+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 02:08):

+

When the flake check is built, where is the user involved?

+ + + + +

view this post on Zulip Hao Liu (Jun 24 2024 at 02:09):

+

ahh, indeed, no user will involve at the testing stage

+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 02:15):

+

@Hao Liu This preHook stuff should be added to the test only, of course.

+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 02:16):

+

Which is why I suggested further above as to how this may well be a PR to process-compose-flake

+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 02:17):

+

But better to add flake check manually, because we don't know yet what the best API design here is.

+ + + + +

view this post on Zulip Hao Liu (Jun 24 2024 at 02:17):

+

indeed

+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 02:28):

+

Hao Liu said:

+
+

indeed

+
+

You realize, this commit adds the preHook stuff to more than the test, right?

+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 02:28):

+

i.e., nix run is impacted too.

+ + + + +

view this post on Zulip Hao Liu (Jun 24 2024 at 02:30):

+

yes, should only the checks to be impacted, right?

+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 02:31):

+

The whole point is to fix this test failure, is it not?

+
error: project root does not exist
+
+

This error occurs only in tests, does it not?

+ + + + +

view this post on Zulip Hao Liu (Jun 24 2024 at 02:31):

+

yes, it's only there for test

+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 02:32):

+

So, do you see how that commit is not doing it only for test?

+ + + + +

view this post on Zulip Hao Liu (Jun 24 2024 at 02:33):

+

I reckon I will move this under test package, will read process-compose-flake for how to

+ + + + +

view this post on Zulip Hao Liu (Jun 24 2024 at 02:43):

+

I am trying to move it under settings.processes.test

+ + + + +

view this post on Zulip Hao Liu (Jun 24 2024 at 02:46):

+

(deleted)

+ + + + +

view this post on Zulip Hao Liu (Jun 24 2024 at 04:10):

+

@Srid there doesn't seem to be a way to have a preHook specifically for test process

+ + + + +

view this post on Zulip Srid (Jun 24 2024 at 04:35):

+

Ya, as I said above.

+ + + + +

view this post on Zulip Hao Liu (Jun 24 2024 at 04:36):

+

a feature request to process-compose-flake?

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/custom.20local.20service.html b/stream/414011-services-flake/topic/custom.20local.20service.html new file mode 100644 index 00000000000..36bfe7be1b6 --- /dev/null +++ b/stream/414011-services-flake/topic/custom.20local.20service.html @@ -0,0 +1,33 @@ + +custom local service · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: custom local service

+ +
+ + + + + + +

view this post on Zulip Bruno Bigras (May 24 2024 at 16:42):

+

Is there a simple way to run a service by only adding something to my flake.nix file without having to upstream it? I guess I'm interested in both knowing how to import a service file that uses the same format as upstream and a way to set up a service with just a command (like nats-server --js.

+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 06:06):

+

Yes, there is. See the pgweb service here: https://github.com/juspay/services-flake/blob/5ffae902f78b8f31416e5667ab95c40ee7a5ebef/example/simple/flake.nix#L42-L61

+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 06:10):

+

And here’s an example of a service that doesn’t exist upstream but is only specific to the project: https://github.com/nammayatri/nammayatri/blob/main/Backend/nix/services/postgres-with-replica.nix

+

And one more example: https://github.com/nammayatri/passetto/blob/nixify/process-compose.nix. This service is imported in nammayatri: https://github.com/nammayatri/nammayatri/blob/e8032f1fac3581b9062e2469dfc778d2913d3665/Backend/nix/services/nammayatri.nix#L32

+

and it is configured like: https://github.com/nammayatri/nammayatri/blob/e8032f1fac3581b9062e2469dfc778d2913d3665/Backend/nix/services/nammayatri.nix#L285-L297

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/dataDir.20for.20postgres.20service.20has.20incorrect.20permissions.html b/stream/414011-services-flake/topic/dataDir.20for.20postgres.20service.20has.20incorrect.20permissions.html new file mode 100644 index 00000000000..c68750a9cfe --- /dev/null +++ b/stream/414011-services-flake/topic/dataDir.20for.20postgres.20service.20has.20incorrect.20permissions.html @@ -0,0 +1,240 @@ + +dataDir for postgres service has incorrect permissions · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: dataDir for postgres service has incorrect permissions

+ +
+ + + + + + +

view this post on Zulip tgunnoe (Nov 30 2023 at 18:25):

+

I'm running into the local run directory for process-compose that I set with dataDir having the wrong permissions and its unable to initialize the database. Its possible the system has auto new directories having specific permissions, but I think we should check for that?

+ + + + +

view this post on Zulip tgunnoe (Nov 30 2023 at 18:27):

+

Maybe something here: https://github.com/juspay/services-flake/blob/main/nix/postgres.nix#L354-L357

+ + + + +

view this post on Zulip Srid (Nov 30 2023 at 18:29):

+

What do you mean by "wrong permissions"? For reference, this is what I see on my local machine (which happens to be a mac) when I nix run the example in the repo,

+
 ls -ld data/
+drwxr-xr-x 4 srid staff 128 Nov 30 13:28 data/
+
+❯ ls -ld data/pg1/global
+drwx------ 63 srid staff 2016 Nov 30 13:28 data/pg1/global
+
+ + + + +

view this post on Zulip Srid (Nov 30 2023 at 18:33):

+

And

+
 ls -dl data/pg1
+drwx------ 25 srid staff 800 Nov 30 13:28 data/pg1
+
+
+

its unable to initialize the database

+
+

Could you post the error? Maybe initdb requires data directory to not be world-readable.

+ + + + +

view this post on Zulip tgunnoe (Nov 30 2023 at 18:34):

+

image-4.png

+
+ + + + +

view this post on Zulip Srid (Nov 30 2023 at 18:36):

+

Oh it is a locale related issue?

+ + + + +

view this post on Zulip tgunnoe (Nov 30 2023 at 18:37):

+

sorry, looks unrelated :sweat_smile: but this is the start of it. I am troubleshooting someone elses environment. when he goes to run the postgres init again, then its a permissions issue

+ + + + +

view this post on Zulip Srid (Nov 30 2023 at 18:39):

+

By the way, you can also pass -t=false arguments to get flat interleaved log output that is easier to copy-paste.

+
# Example
+nix run . -- -t=false up
+
+ + + + +

view this post on Zulip tgunnoe (Nov 30 2023 at 18:39):

+

good to know. seems the selection mode in process-compose doesn't work well

+ + + + +

view this post on Zulip Srid (Nov 30 2023 at 18:40):

+

There is also the log_location (in #process-compose-flake) option to have it write to a log file

+ + + + +

view this post on Zulip Srid (Nov 30 2023 at 18:42):

+

tgunnoe said:

+
+

image-4.png

+
+

Error in screenshot:

+
initdb: error: invalid locale settings: check LANG and LC_* environment variables
+
+

Perhaps services-flake should explicitly set this env. cc @Shivaraj B H

+

Ref: https://stackoverflow.com/a/42111789/55246

+ + + + +

view this post on Zulip Srid (Nov 30 2023 at 18:43):

+

tgunnoe said:

+
+

sorry, looks unrelated :sweat_smile: but this is the start of it. I am troubleshooting someone elses environment. when he goes to run the postgres init again, then its a permissions issue

+
+

What's the permission issue in particular?

+ + + + +

view this post on Zulip Srid (Nov 30 2023 at 18:43):

+

Can this problem be reproduced in another system? Then we have a bug report as well.

+ + + + +

view this post on Zulip tgunnoe (Nov 30 2023 at 18:48):

+

What should services-flake set those vars to?

+ + + + +

view this post on Zulip Srid (Nov 30 2023 at 18:50):

+

Probably the same as those in StackOverflow answer, so:

+
export LC_ALL="en_US.UTF-8"
+export LC_CTYPE="en_US.UTF-8"
+
+ + + + +

view this post on Zulip tgunnoe (Nov 30 2023 at 18:51):

+

would setting them in the shell before running process compose not be the same result?

+ + + + +

view this post on Zulip Srid (Nov 30 2023 at 18:51):

+

I'd think so, yes.

+ + + + +

view this post on Zulip Srid (Nov 30 2023 at 18:52):

+

Here's another answer from Nix context which suggests adding the glibcLocales package to the environment.

+ + + + +

view this post on Zulip tgunnoe (Nov 30 2023 at 18:53):

+

that's a good bet

+ + + + +

view this post on Zulip tgunnoe (Nov 30 2023 at 19:06):

+

image-6.png
+well more logs in the latest, but still the same. i need to mess up my locales to solve this

+
+ + + + +

view this post on Zulip tgunnoe (Nov 30 2023 at 19:07):

+

because its using the nix devshell, something needs to be set properly there. ah

+ + + + +

view this post on Zulip Srid (Nov 30 2023 at 19:08):

+

The "cannot change locale" warnings are concerning.

+ + + + +

view this post on Zulip tgunnoe (Nov 30 2023 at 19:11):

+

yeah. its trying to setlocale from within process compose in a nix shell :melting_face:

+ + + + +

view this post on Zulip tgunnoe (Nov 30 2023 at 19:17):

+

https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/build-managers/msbuild/default.nix#L49-L52

+
# https://github.com/NixOS/nixpkgs/issues/38991
+  # bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
+  env.LOCALE_ARCHIVE = lib.optionalString stdenv.hostPlatform.isLinux "${glibcLocales}/lib/locale/locale-archive";
+
+ + + + +

view this post on Zulip tgunnoe (Nov 30 2023 at 19:21):

+

would this be enough as an env in the shell? or i wonder, does nixpkgs glibc have a general issue

+ + + + +

view this post on Zulip Srid (Nov 30 2023 at 19:22):

+
+

would this be enough as an env in the shell?

+
+

Probably.

+

We might even want to add this to service-flake.

+ + + + +

view this post on Zulip Srid (Nov 30 2023 at 19:23):

+

I've had locale issues on emanote (which too uses Nix) as well:

+

https://github.com/srid/emanote/issues/125

+

So, certainly not limited to postgres here.

+ + + + +

view this post on Zulip Shivaraj B H (Nov 30 2023 at 20:01):

+

@tgunnoe Perhaps you can create an issue in services-flake and we can track it there?

+ + + + +

view this post on Zulip tgunnoe (Nov 30 2023 at 23:02):

+

I will. could it be something with lib.getExe?

+ + + + +

view this post on Zulip Shivaraj B H (Dec 01 2023 at 11:58):

+
+

could it be something with lib.getExe?

+
+

Not sure, but a way to reproduce would be great to debug

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414011-services-flake/topic/stream.20events.html b/stream/414011-services-flake/topic/stream.20events.html new file mode 100644 index 00000000000..669225121a0 --- /dev/null +++ b/stream/414011-services-flake/topic/stream.20events.html @@ -0,0 +1,22 @@ + +stream events · services-flake · Zulip Chat Archive +

Stream: services-flake

+

Topic: stream events

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Nov 22 2023 at 19:18):

+

Web-public stream created by Srid. Description:

+
+

Discussion of https://github.com/juspay/services-flake

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414022-process-compose-flake/index.html b/stream/414022-process-compose-flake/index.html new file mode 100644 index 00000000000..8722c71b929 --- /dev/null +++ b/stream/414022-process-compose-flake/index.html @@ -0,0 +1,21 @@ + +Zulip Chat Archive +

Stream: process-compose-flake

+
+ +

Topics:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414022-process-compose-flake/topic/Alternative.20to.20F.3Cn.3E.20keys.html b/stream/414022-process-compose-flake/topic/Alternative.20to.20F.3Cn.3E.20keys.html new file mode 100644 index 00000000000..3ed421c98c1 --- /dev/null +++ b/stream/414022-process-compose-flake/topic/Alternative.20to.20F.3Cn.3E.20keys.html @@ -0,0 +1,79 @@ + +Alternative to F<n> keys · process-compose-flake · Zulip Chat Archive +

Stream: process-compose-flake

+

Topic: Alternative to F<n> keys

+ +
+ + + + + + +

view this post on Zulip David Arnold (Feb 22 2024 at 15:03):

+

Nice!

+

image.png

+
+ + + + +

view this post on Zulip Notification Bot (Feb 22 2024 at 15:04):

+

A message was moved here from #process-compose-flake > process-compose log in GitHub runners by Srid.

+ + + + +

view this post on Zulip David Arnold (Feb 22 2024 at 15:04):

+

Not so nice

+

(I don't have F keys)

+

What can I do?

+

image.png

+
+ + + + +

view this post on Zulip Srid (Feb 22 2024 at 15:04):

+

Your OS might have have a way to simulate one. Or, is there a 'Fn' key on keyboard? You can press Fn+number key as well.

+ + + + +

view this post on Zulip Srid (Feb 22 2024 at 15:04):

+

If nothing else, we have to file an issue asking the maintainer: https://github.com/F1bonacc1/process-compose

+ + + + +

view this post on Zulip David Arnold (Feb 22 2024 at 15:05):

+

image.png

+
+ + + + +

view this post on Zulip David Arnold (Feb 22 2024 at 15:06):

+

I could bind them somewhere, but I've lived a long time without them, already.

+ + + + +

view this post on Zulip David Arnold (Feb 22 2024 at 15:07):

+

Maybe there:

+

image.png

+
+ + + + +

view this post on Zulip David Arnold (Feb 22 2024 at 15:08):

+
+

You can press Fn+number key as well.

+
+

That would then work.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414022-process-compose-flake/topic/Branding.html b/stream/414022-process-compose-flake/topic/Branding.html new file mode 100644 index 00000000000..c0d88e8902a --- /dev/null +++ b/stream/414022-process-compose-flake/topic/Branding.html @@ -0,0 +1,33 @@ + +Branding · process-compose-flake · Zulip Chat Archive +

Stream: process-compose-flake

+

Topic: Branding

+ +
+ + + + + + +

view this post on Zulip David Arnold (Feb 22 2024 at 15:08):

+

Can I brand this?

+

image.png

+
+ + + + +

view this post on Zulip Srid (Feb 22 2024 at 15:54):

+

This would also be a question to the maintainer at https://github.com/F1bonacc1/process-compose

+ + + + +

view this post on Zulip David Arnold (Feb 22 2024 at 17:26):

+

https://github.com/F1bonacc1/process-compose/issues/143

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414022-process-compose-flake/topic/Hard.20to.20see.20when.20I.20try.20to.20quit.html b/stream/414022-process-compose-flake/topic/Hard.20to.20see.20when.20I.20try.20to.20quit.html new file mode 100644 index 00000000000..a0a2bc17619 --- /dev/null +++ b/stream/414022-process-compose-flake/topic/Hard.20to.20see.20when.20I.20try.20to.20quit.html @@ -0,0 +1,61 @@ + +Hard to see when I try to quit · process-compose-flake · Zulip Chat Archive +

Stream: process-compose-flake

+

Topic: Hard to see when I try to quit

+ +
+ + + + + + +

view this post on Zulip Bruno Bigras (May 28 2024 at 04:01):

+

I don't know if it's because of my alacritty or zsh themes. I'm using catppuccin (mocha) everywhere.

+

The rest of the UI seems fine.

+

image.png

+
+ + + + +

view this post on Zulip Shivaraj B H (May 28 2024 at 07:31):

+

process-compose does allow to configure custom themes: https://f1bonacc1.github.io/process-compose/tui/?h=theme#tui-themes

+

(Moving this topic to #process-compose-flake )

+ + + + +

view this post on Zulip Notification Bot (May 28 2024 at 07:32):

+

This topic was moved here from #services-flake > Hard to see when I try to quit by Shivaraj B H.

+ + + + +

view this post on Zulip Shivaraj B H (May 28 2024 at 09:44):

+

Also, if you don’t like TUI mode, you can disable it too: nix run . -- -t=false

+ + + + +

view this post on Zulip Bruno Bigras (May 28 2024 at 14:31):

+

With the default theme, does everyone see the same thing as me? If so, maybe the exit prompt could be tweaked a bit.

+ + + + +

view this post on Zulip Shivaraj B H (May 28 2024 at 16:29):

+

The quit dialog is not that clear even with my theme too. I didn’t bother trying to change it since I usually just Ctrl-C and press Return.

+

Screenshot-2024-05-28-at-9.56.36PM.png

+
+ + + + +

view this post on Zulip Shivaraj B H (May 28 2024 at 16:31):

+

It would be clearer if the text was in some darker colour. Anyway, I haven’t tried out theming in process-compose, maybe will try it out tomorrow.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414022-process-compose-flake/topic/Unable.20to.20select.20text.20in.20the.20tui.html b/stream/414022-process-compose-flake/topic/Unable.20to.20select.20text.20in.20the.20tui.html new file mode 100644 index 00000000000..04a9f2fe51f --- /dev/null +++ b/stream/414022-process-compose-flake/topic/Unable.20to.20select.20text.20in.20the.20tui.html @@ -0,0 +1,51 @@ + +Unable to select text in the tui · process-compose-flake · Zulip Chat Archive +

Stream: process-compose-flake

+

Topic: Unable to select text in the tui

+ +
+ + + + + + +

view this post on Zulip tgunnoe (Dec 07 2023 at 18:04):

+

Is this something within this implementation, or something upstream? Even after going into select mode using Ctrl+S, you can highlight the text but no normal copy operations will save to the clipboard. in any other tui, I can copy things to the clipboard

+ + + + +

view this post on Zulip Srid (Dec 07 2023 at 18:08):

+

It has to be an upstream issue. We just shell out to process-compose command, passing it the arguments passed by the user:

+
srid on appreciate process-compose-flake/example on  main via ❄️  impure (nix-shell-env)
+❯ cat $(nix build --print-out-paths)/bin/*
+#!/nix/store/rz0xwswp80pjyn8sf2vz3xlv67sfiyns-bash-5.2-p15/bin/bash
+set -o errexit
+set -o nounset
+set -o pipefail
+
+export PATH="/nix/store/srqqppq5zbn41dlpb87si0rw947d00w2-process-compose-0.60.0/bin:$PATH"
+
+export PC_CONFIG_FILES=/nix/store/8j1rnipbcmcyqg6md3mdizx6i4qwagdl-default.yaml
+
+exec process-compose -p 0 "$@"
+
+ + + + +

view this post on Zulip Srid (Dec 07 2023 at 18:10):

+

Note again, you can use the log_location option to have it write the process output to a log file, which should be straightforward to copy.

+

https://github.com/nammayatri/nammayatri/blob/7203bc29d5c2bf30e1e96582af2d3604915a5a97/Backend/nix/run-mobility-stack.nix#L13

+ + + + +

view this post on Zulip tgunnoe (Dec 07 2023 at 18:10):

+

yes, I am using that. thanks

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414022-process-compose-flake/topic/devenv.html b/stream/414022-process-compose-flake/topic/devenv.html new file mode 100644 index 00000000000..d11070c2247 --- /dev/null +++ b/stream/414022-process-compose-flake/topic/devenv.html @@ -0,0 +1,19 @@ + +devenv · process-compose-flake · Zulip Chat Archive +

Stream: process-compose-flake

+

Topic: devenv

+ +
+ + + + + + +

view this post on Zulip tgunnoe (Mar 20 2024 at 13:52):

+

the new devenv uses process-compose now https://devenv.sh/blog/2023/03/20/devenv-10-rewrite-in-rust/#process-compose-is-now-the-default-process-manager

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414022-process-compose-flake/topic/process-compose.201.2E0.20released.html b/stream/414022-process-compose-flake/topic/process-compose.201.2E0.20released.html new file mode 100644 index 00000000000..f6f13fc3fab --- /dev/null +++ b/stream/414022-process-compose-flake/topic/process-compose.201.2E0.20released.html @@ -0,0 +1,19 @@ + +process-compose 1.0 released · process-compose-flake · Zulip Chat Archive +

Stream: process-compose-flake

+

Topic: process-compose 1.0 released

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 25 2024 at 13:08):

+

https://github.com/F1bonacc1/process-compose/releases/tag/v1.0.0

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414022-process-compose-flake/topic/process-compose.20log.20in.20GitHub.20runners.html b/stream/414022-process-compose-flake/topic/process-compose.20log.20in.20GitHub.20runners.html new file mode 100644 index 00000000000..c369f148cbb --- /dev/null +++ b/stream/414022-process-compose-flake/topic/process-compose.20log.20in.20GitHub.20runners.html @@ -0,0 +1,43 @@ + +process-compose log in GitHub runners · process-compose-flake · Zulip Chat Archive +

Stream: process-compose-flake

+

Topic: process-compose log in GitHub runners

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Feb 21 2024 at 23:00):

+

On my NixOS it is usually found at /tmp/process-compose-<user>.log but this file doesn’t exist on the GitHub runners, anyone happen to know where else could it be?

+ + + + +

view this post on Zulip Shivaraj B H (Feb 22 2024 at 16:11):

+

That’s probably because nix flake check runs in sandbox mode. I could set the log_location somewhere in the build directory and create a process that will tail -f on the log: https://github.com/F1bonacc1/process-compose/blob/main/www/docs/logging.md

+ + + + +

view this post on Zulip Shivaraj B H (Feb 22 2024 at 16:13):

+

But the problem is that the output is not very readable, need to expose log_configuration options in process-compose-flake

+ + + + +

view this post on Zulip Srid (Feb 22 2024 at 16:15):

+

In the flake check how about cat'ing the log file at the end of a failed run?

+ + + + +

view this post on Zulip Shivaraj B H (Feb 22 2024 at 16:16):

+

But there is no failed run, it’s an infinite loop

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414022-process-compose-flake/topic/process-compose.20on.20FreeBSD-based.20systems.3F.html b/stream/414022-process-compose-flake/topic/process-compose.20on.20FreeBSD-based.20systems.3F.html new file mode 100644 index 00000000000..400392cf0b0 --- /dev/null +++ b/stream/414022-process-compose-flake/topic/process-compose.20on.20FreeBSD-based.20systems.3F.html @@ -0,0 +1,53 @@ + +process-compose on FreeBSD-based systems? · process-compose-flake · Zulip Chat Archive +

Stream: process-compose-flake

+

Topic: process-compose on FreeBSD-based systems?

+ +
+ + + + + + +

view this post on Zulip Andreas (Apr 03 2024 at 09:03):

+

As mentioned in the NixOS stream, there is now a project trying to get more serious about building something like NixOS on FreeBSD.

+

I was wondering, what would it take to run process-compose flakes on FreeBSD via Nix? OPNsense and PFsense would be my targets essentially.

+

Does process-compose itself support FreeBSD?

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 09:32):

+

Apparently it's a simple go binary without any dependencies... so it should compile on FreeBSD, I guess?

+ + + + +

view this post on Zulip Srid (Apr 03 2024 at 19:13):

+

I'd think so, yes. It even runs on macOS (doesn't use any platform specific runner)

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 19:30):

+

yeah, maybe I should start up a FreeBSD VM and compile it...

+

More interesting question perhaps: Can one use Nix with process-compose flake to define services for FreeBSD?

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 19:30):

+

because that would be really neat I'd say, if you could extend the functionality of pfsense and opnsense in that way.

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 19:41):

+

And as I said here https://nixos.zulipchat.com/#narrow/stream/413948-nixos/topic/NixBSD.2C.20it's.20NixOS.20on.20FreeBSD

+

there is now a fork of nixpkgs one might try to use...

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/414022-process-compose-flake/topic/stream.20events.html b/stream/414022-process-compose-flake/topic/stream.20events.html new file mode 100644 index 00000000000..1958adbf6ea --- /dev/null +++ b/stream/414022-process-compose-flake/topic/stream.20events.html @@ -0,0 +1,22 @@ + +stream events · process-compose-flake · Zulip Chat Archive +

Stream: process-compose-flake

+

Topic: stream events

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Nov 22 2023 at 22:35):

+

Web-public stream created by Srid. Description:

+
+

Discussion about https://github.com/Platonic-Systems/process-compose-flake

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415266-social-media/index.html b/stream/415266-social-media/index.html new file mode 100644 index 00000000000..67054446963 --- /dev/null +++ b/stream/415266-social-media/index.html @@ -0,0 +1,18 @@ + +Zulip Chat Archive +

Stream: social-media

+
+ +

Topics:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415266-social-media/topic/Discourse.20Announcements.html b/stream/415266-social-media/topic/Discourse.20Announcements.html new file mode 100644 index 00000000000..5b1e3967830 --- /dev/null +++ b/stream/415266-social-media/topic/Discourse.20Announcements.html @@ -0,0 +1,2013 @@ + +Discourse Announcements · social-media · Zulip Chat Archive +

Stream: social-media

+

Topic: Discourse Announcements

+ +
+ + + + + + +

view this post on Zulip Zapier (Nov 30 2023 at 13:25):

+

NixOS 23.11 released!

+

Link: https://discourse.nixos.org/t/nixos-23-11-released/36210
+Published Date: Wed, 29 Nov 2023 21:03:16 +0000

+
+

Hi everyone,

+

We are very pleased to announce the public availability of NixOS 23.11 (the Linux distribution) and nixpkgs 23.11 (the package set), under the codename “Tapir”.

+

Release Announcement

+

Release Notes

+

Upgrade Instructions

+

Downloads

+

This release was made possible by the effort of over 2100 contributors. I want to say thank you to everyone in the community for working on this.

+

A highlight of the release is GNOME 45, which introduced a new image viewer and a new camera app. The GNOME team has been working on the update for the past 4 months, and the update was able to make the cut right before the release.

+

Another highlight is the update of the default version of the LLVM package set from 11 to 16 on both Linux and Darwin. @reckenrode has worked hard on this to make this transition as seemingless as possible.

+

A lot more features and improvements also made it into the release, the full list can be found in the release notes .

+

The 23.05 “Stoat” release is now officially deprecated, and will reach its end-of-life and stop receiving security updates after 2023-12-31. Please schedule your upgrades accordingly.

+

We are scheduling a retrospective for 2023-12-09. If you have something to contribute, please join the release management room , where the URL will be announced.

+

I would like to thank @RaitoBezarius for guiding me through everything, the release editors (@alejandrosame and @riotbib ) for working on the release notes. And special thanks to @riotbib for taking the picture for the release artwork , and @infinisil for the clutch at the final release meeting.

+

Enjoy the new release!

+

17 posts - 12 participants

+

Read full topic

+
+ + + + +

view this post on Zulip Zapier (Dec 01 2023 at 10:52):

+

The garn devlog

+

Link: https://discourse.nixos.org/t/the-garn-devlog/36297
+Published Date: Fri, 01 Dec 2023 10:50:33 +0000

+
+

garn is an effort to give a Typescript-based alternative to Nix, and an easier CLI interface. It’s been discussed before , but development is happening very quickly, so I thought I’d create a devlog thread here. If you don’t want to hear more about it, you can mute it, and if you do, you can follow it.

+

2 posts - 1 participant

+

Read full topic

+
+ + + + +

view this post on Zulip Zapier (Dec 02 2023 at 20:23):

+

Alt F4 working on kickstarter

+

Link: https://discourse.nixos.org/t/alt-f4-working-on-kickstarter/36360
+Published Date: Sat, 02 Dec 2023 20:10:32 +0000

+
+

Twitch (live)

+

working on

+

GitHub

+

GitHub - ALT-F4-LLC/kickstart.nix: Kickstart your Nix environment.

+

Kickstart your Nix environment. Contribute to ALT-F4-LLC/kickstart.nix development by creating an account on GitHub.

+

contribute if you want! or DONT!

+

1 post - 1 participant

+

Read full topic

+
+ + + + +

view this post on Zulip Zapier (Dec 05 2023 at 16:39):

+

NixCon NA 2024 - Call for Proposals!

+

Link: https://discourse.nixos.org/t/nixcon-na-2024-call-for-proposals/36491
+Published Date: Tue, 05 Dec 2023 16:36:29 +0000

+
+

Hey everyone! The Call for Proposals for NixCon NA 2024 is officially open and we’re inviting you to submit proposals for talks and workshops. We’d love to provide you a platform for you to share your ideas, projects, and experiences with Nix and NixOS with the rest of the community.

+

You can submit your proposals at the following link: NixCon NA 2024 - CFP

+

The last day to submit proposals is December 31st, so there’s a little less than a month remaining. We know this isn’t much time, but we’re putting this together on a short timeline, so we need your help to make this event a success!

+

The conference will consist of two days:

+

Day 1: Workshops. We’d like this to be an opportunity for new users and the Nix-curious alike to gain valuable experience using Nix to solve their problems. This is also an opportunity to get help and advice from experienced Nix users, which can be incredibly helpful when you’re getting started with Nix. Workshops will be 90-minutes each, and we plan to have multiple workshops running in parallel so that there’s a wide variety of topics for attendees to choose from at any point in time.

+

Day 2: Talks. What’s a conference without talks? Talks will be given in a single track, and each talk will be 25 minutes. Again, we’d like this event to be accessible for those with little or no Nix experience, so we welcome introductory level talks that teach or explain Nix concepts that new Nix users struggle with.

+

As part of the submission process you will indicate whether you’re submitting a proposal for a talk or a workshop. Feel free to make as many submissions as you like to either or both categories.

+

Also, even though we want to make the event beginner friendly, advanced technical talks and workshops are still welcome!

+

1 post - 1 participant

+

Read full topic

+
+ + + + +

view this post on Zulip Zapier (Dec 05 2023 at 17:08):

+

NixOS S3 Long Term Resolution - Phase 1

+

Link: https://discourse.nixos.org/t/nixos-s3-long-term-resolution-phase-1/36493
+Published Date: Tue, 05 Dec 2023 17:07:46 +0000

+
+

Quick Recap:

+

As we need to expedite our timelines in optimizing our S3 Cache, the NixOS Foundation is supporting a “Phase 1” effort via initial funding of 10,000 EUR.

+

The total estimated project funds are 30,000 EUR and we are also announcing the Open Collective Project for those that wish to donate and support the effort!

+

We hope that this effort also helps us learn how to go about allocating funds to the community and if you’re interested in partaking in the wider community discussion about that please do reach out and/or visit NixCon Governance Workshop - Announcements - NixOS Discourse .

+

Initial Background & Prior Recaps

+

After we reached a short term resolution for our S3 binary cache situation (NixOS S3 Short Term Resolution! - Announcements - NixOS Discourse ), a number of awesome folks across the community stepped up to begin researching a long term solution.

+

The community members involved have been sharing updates on progress and discussion . (add links to github repo as well)

+

About a month ago, an ad-hoc working group was formed following the creation of the issue Garbage-collect cache.nixos.org · Issue #282 · NixOS/nixos-org-configurations · GitHub . The first meeting happened on the 24th October (notes and further notes can be found in: 2023-10-24 re: Long-term S3 cache solutions meeting minutes #1 ).

+

A team composed of @zimbatm , @edolstra , @RaitoBezarius , @flokli and @edef quickly formed to answer multiple questions, notably the cache’s bucket growth per year and our need to reduce our cache footprint in AWS.

+

From this team’s activities, two solutions emerged:

+

Garbage collection of historical data

+

Deduplication of historical data

+

The team found that the cache’s bucket growth per year was increasing, implying that a brutal garbage collection would be a short term solution, one that causes us to lose historical data and buys us an unknown amount of time. Our estimates suggest it would only buy us 6 months to 2 years, depending on how Nixpkgs needs evolve, with estimates suggesting roughly 1 year.

+

After this, there was an initial agreement to prioritize the deduplication solution and only perform the garbage collection as a last-resort measure, if needed at all.

+

During the following month, @flokli and @edef , in charge of the deduplication solution, worked in their free time to build a bespoke set of tools to analyze cache.nixos.org . For example, they created. a fast .narinfo parser that imports all of the data into Clickhouse to perform various analytics and guide the solution. Many more examples of the team’s tooling can be found in the detailed notes.

+

The team looked at:

+

Fastly logs

+

S3 bucket logs

+

A SQLite database that @edolstra provided which contains a mapping of channel bumps to store paths (and their size)

+

Data analysis is still ongoing and is focusing on questions like “what would be the request rate to cold paths that would be deduplicated?” that might shed light on the scalability of the reassembly component, i.e. the piece of software responsible for reassembling the deduplicated pieces into a full NAR that gets cached by the Fastly CDN.

+

In the meantime, we discussed the potential gains might see with deduplication, and it is hard to answer. In the past, projects like nix-casync provided deduplication down to 20% of the original uncompressed size.

+

In the past weeks, @flokli and @edef have started tuning the fast content-defined chunker parameters to determine the optimal parameters with respect to the cache data.

+

To do so, they took multiple channel bumps, ingested them on a server in the same AWS region as our bucket, read through all NARs of a given channel bump, uncompressed and decomposed the NARs, fed all blobs into a content-defined chunker, and recorded the deduplication metadata chunk length (compressed+uncompressed) and digest. The actual chunk data itself was not stored, as this process was mostly there to find good parameters, balancing chunk size and compression possibilities (i.e. when chunks are smaller, the compression context window is smaller and compression performs worse, but we get a better chance to deduplicate).

+

During that process, they uncovered that xz decompression is a big bottleneck while ingesting the existing NARs. After ingesting 3 channel bumps separated each by the months, the recorded total size of the data was 71% of the original compressed size (including metadata). Note that these numbers are just small samples of the entire dataset, using one picked chunk size and store paths further apart in time than we usually have in channel bumps, constructing a bad-case scenario. Adding another two channel bumps, each two weeks apart brought the recorded size down to 65% of the original compressed size. One of the next steps are to further explore the parameter space to figure out which ones make sense for cache.nixos.org as a whole.

+

Next Steps & Initial Plan

+

As we approach the halfway mark of our 12-month AWS funding (9,000 USD/month), the urgency for a sustainable solution is higher, especially given the significant growth in our cache expenses (November charge 13,728 USD split between S3 storage - 8,696.88 and data transfer - 4,776.67).

+

We’re excited to announce a major step forward: an initiative led by @flokli and @edef , targeting an accelerated milestone for the long term resolution plan:

+

Cache analytics: support technical decision-making on where to deploy things with respect to our needs for performance (latency, parallel requests, etc.)

+

Deduplication analytics: explore the parameter space of the chunker and data structures for metadata.

+

NAR reassembly: extend “nar-bridge” to support operating where NAR reassembly would happen (AWS Lambda or Fastly Compute@Edge), and to support the used storage model

+

Enablement: extend Fastly 404 handler to reroute historical data to this new S3 store and delete the old data from the main S3 binary cache

+

As timing is crucial on this project, the NixOS Foundation will fund the first 10,000 EUR to enable us to get going. In parallel, we plan to open up an Open Collective project to raise the remaining ca. 20,000 EUR for those who want to take part in helping make progress on our S3 cache needs.

+

If you want to support the project please visit the Open Collective project page or reach out to us at the foundation (foundation@nixos.org ).

+

Background on Funding/AWS and Additional Context

+

As cache.nixos.org serves as a critical resource to the community, it is essential for the Foundation to empower active contributors to expedite work on critical areas via funding. In this case, deduplication efforts can significantly enhance the efficiency of cache.nixos.org . This, in turn, can lead to additional benefits such as supporting contributors relying more on the cache, e.g. debug symbols . This task is difficult and requires prior expertise with how Nix has been storing things in the past and knowledge of state-of-the-art solutions that are better at storing things without compromising on performance. Furthermore, all of this has to be done in a tight timeline without compromising the integrity of the data manipulated.

+

In this instance, the Foundation will be investing into the deduplication group to provide a sustainable solution to the cache’s size. We considered multiple alternatives, such as:

+

Performing garbage collection

+

Removing more aggressively staging data

+

Removing the copies of NixOS ISOs published on releases.nixos.org

+

Using off-the-shelf community software such as GitHub - zhaofengli/attic: Multi-tenant Nix Binary Cache

+

As mentioned above, some of those solutions may only buy us a short amount of time and will require another intervention. Other solutions may significantly degrade the contributing experience in Nixpkgs, since active contributors rely on the presence of the staging data to perform large-scale bisections and root cause analysis of the whole ecosystem ( README - hydrasect - Prioritize commits evaluated by Hydra when bisecting Nixpkgs is an example of such a tool). Finally, in regard to existing tooling, we uncovered that such tools would not necessarily have an optimal out-of-the-box performance, and we have not dug into them to gain familiarity with all the failure modes they could exhibit.

+

Why does this matter? A wider recap can be found in the NixOS Discourse (The NixOS Foundation’s Call to Action: S3 Costs Require Community Support - Announcements - NixOS Discourse )

+

Cost Efficiency: Reducing our cache size directly impacts our ongoing expenses, making our operations more economical.

+

Future-Proofing: As Nix keeps growing, we need to deploy long term strategies that can keep matters as sustainable as possible. This will also help in demonstrating our commitment to sustainability which strengthens our case for continued AWS support or other potential partnerships.

+

Community Involvement: We’re inviting more hands and minds to join in. Your participation, be it through volunteering, funding, or sharing ideas, is critical.

+

We want to thank everyone again for rallying around the S3 and Cache needs. Please reach out, participate, and share feedback whenever you can. https://matrix.to/#/#binary-cache-selfhosting:nixos.org

+

This announcement was written by @edolstra @ron and @zimbatm with the help of @RaitoBezarius and @fricklerhandwerk .

+

1 post - 1 participant

+

Read full topic

+
+ + + + +

view this post on Zulip Zapier (Dec 06 2023 at 11:00):

+

Announcing landscape.nixlang.wiki, a Nix equivalent of the CNCF landscape

+

Link: https://discourse.nixos.org/t/announcing-landscape-nixlang-wiki-a-nix-equivalent-of-the-cncf-landscape/36532
+Published Date: Wed, 06 Dec 2023 10:52:18 +0000

+
+

I’m happy to announce https://landscape.nixlang.wiki/ , a daughter project of https://nixlang.wiki , aiming to map the various Nix and Nix adjacent projects, and make them easier for beginners to discover.

+

The project is based on landscape2, the upcoming rust version of the CNCF landscape, of which we maintain our own fork with some changes GitHub - nixlang-wiki/landscape2: Landscape2 is a tool that generates interactive landscapes websites .

+

While the project is still early in its development cycle, it’s no longer in its infancy, and we believe that most people should be able to contribute additions to the landscape at this point, and if not, we’ll gladly receive issues with suggestions and see what we can do at GitHub - nixlang-wiki/nixos-landscape: The Landscape of NixOS and associated projects .

+

We hope to see your contributions, and can’t wait to see how the landscape will look once it gets filled out.

+

1 post - 1 participant

+

Read full topic

+
+ + + + +

view this post on Zulip Zapier (Dec 09 2023 at 03:48):

+

NixThePlanet - Run macOS, Windows and more via a single Nix command + nixosModules

+

Link: https://discourse.nixos.org/t/nixtheplanet-run-macos-windows-and-more-via-a-single-nix-command-nixosmodules/36634
+Published Date: Sat, 09 Dec 2023 03:35:51 +0000

+
+

GitHub

+

GitHub - MatthewCroughan/NixThePlanet: Run macOS, Windows and more via a...

+

Run macOS, Windows and more via a single Nix command, or simple nixosModules - GitHub - MatthewCroughan/NixThePlanet: Run macOS, Windows and more via a single Nix command, or simple nixosModules

+

I was nerd sniped by @Enzime at nix.camp into implementing this, and here it is, over two months of painstaking work and reproducibility testing. See the README.md for more details of how it works, but the TL;DR is that it uses TCL Expect and Tesseract OCR together to automate the installation of archaic operating systems and boil them down to a single Nix command, or nixosModule.

+

The main attraction, I’m sure is going to be macOS, which you can enable from this flake with:

+

services.macos-ventura.enable = true

+

CI is implemented to run the macOS installer 10 times whenever it changes, catching any bugs and uploading a replay of what went wrong as screencaptures to IPFS. I’m tempted to increase that number to 100 and to start doing statistics, because VMs are tricky. But I’ve found it’s pretty reliable after 200~ runs without failure on various slow/fast hardware.

+

NixThePlanet introduces a few image builder functions such as makeDarwinImage and makeWin30Image which can be used like this for example:

+

makeWin30Image {

+

dosPostInstall = ''

+

c:

+

echo win >> AUTOEXEC.BAT

+

'';

+

}

+

makeDarwinImage { diskSizeBytes = 60000000000; };

+

There’s still plenty left to do in this project as you can see by the TODOs in the README.md, which you should read if you’re interested.

+

1 post - 1 participant

+

Read full topic

+
+ + + + +

view this post on Zulip Zapier (Dec 10 2023 at 21:58):

+

Announcing - NixOS-DNS

+

Link: https://discourse.nixos.org/t/announcing-nixos-dns/36702
+Published Date: Sun, 10 Dec 2023 21:46:13 +0000

+
+

tldr: manage your dns deployments with nixos.

+

I spent a lot of time documenting everything and making it so hopefully other people find it useful as well.

+

docs: Summary - NixOS-DNS

+

source: GitHub - Janik-Haag/NixOS-DNS: Manage your dns zones with NixOS

+

1 post - 1 participant

+

Read full topic

+
+ + + + +

view this post on Zulip Zapier (Dec 13 2023 at 18:52):

+

Nix-community infra update

+

Link: https://discourse.nixos.org/t/nix-community-infra-update/36815
+Published Date: Wed, 13 Dec 2023 18:38:07 +0000

+
+

Nix-community infrastructure update

+

The Nix-community GitHub organization is a central hub for a wide range of popular tools related to Nix. In addition to maintaining Continuous Integration (CI) infrastructure, we also oversee the community builder within the same organization. This includes hosting the ryantm-r bot.

+

Recent Infrastructure Upgrades:

+

Over the past month, we’ve made significant upgrades to our infrastructure , primarily based on Hetzner servers:

+

CI Builder Enhancement: Our two x86_64 CI builders have been upgraded from AMD Ryzen 5 3600 (6-Core Processor, 64GB RAM) to AMD Ryzen 9 3900 (12-Core Processor, 128GB RAM). This upgrade approximately doubles our performance capabilities.

+

New Nix-Based CI Development: We’re excited to introduce a new nix-based CI system , tailored for pull request workflows in open-source projects. Projects within the nix-community can activate this CI by adding buildbot-nix to their topic tags. Build results are then uploaded to our 1TB Cachix cache, generously sponsored.

+

Looking Ahead

+

Expansion to Aarch64-Linux:

+

We’re currently supporting aarch64-linux through a virtual machine hosted on Oracle Cloud, which unfortunately lacks nested virtualization support. Our goal is to transition to an Ampera Ultra server. This would allow us to run NixOS tests. However, we’re facing a funding gap for this upgrade. To achieve this goal, we are short by 40-50 Euros per month in our nix-community collective . Any contributions towards closing this gap would be greatly appreciated and will help us continue to improve our infrastructure and support for the community.

+

1 post - 1 participant

+

Read full topic

+
+ + + + +

view this post on Zulip Zapier (Dec 13 2023 at 20:05):

+

Hare-master-overlay: An easy way to have the latest Hare version

+

Link: https://discourse.nixos.org/t/hare-master-overlay-an-easy-way-to-have-the-latest-hare-version/36826
+Published Date: Wed, 13 Dec 2023 19:55:53 +0000

+
+

hare-master-overlay is Flake I’ve made to easily have the most recent version of Hare .

+

It provides:

+

overlays for hare , harec and qbe , which may be used separately or as whole through the default overlay;

+

the overwritten versions of hare , harec and qbe through the packages attribute; and

+

a devShells for Hare development through the default `devShell.

+

1 post - 1 participant

+

Read full topic

+
+ + + + +

view this post on Zulip Zapier (Dec 22 2023 at 19:32):

+

Flake-Env: yet another direnv plugin for nix

+

Link: https://discourse.nixos.org/t/flake-env-yet-another-direnv-plugin-for-nix/37229
+Published Date: Fri, 22 Dec 2023 19:17:34 +0000

+
+

Hi! Recently, nix-direnv (which I help maintain) has had a lot of issues opened because of the bash version or the core-tools dependencies we have. For instance, we recently started requiring GNU sort, but there are users out there with other sort implementations. There’s really very little that we can do to ensure the user’s experience is good in this scenario and that got me thinking about whether or not we could do better.

+

And then I started writing a new tool. I’m not sure it’s better yet, but I think I’m ready to announce flake_env.

+

Flake_env is a compiled version of nix-direnv. The logic is almost exactly the same, but there’s a lot less bash involved, so you can be reasonably sure that the binary will work with your setup. Overall, flake_env is much simpler than nix-direnv. It is flake-only by design and will not support legacy setups.

+

I know that this space is crowded already, but this has been a lot of fun to write and I think the path forward is a lot simpler than competing tools. I hope it helps some of you all. Find it at flake_env: experimental direnv plugin for nix flakes

+

1 post - 1 participant

+

Read full topic

+
+ + + + +

view this post on Zulip Zapier (Dec 23 2023 at 19:15):

+

NixCon NA CFP deadline extended to January 7th!

+

Link: https://discourse.nixos.org/t/nixcon-na-cfp-deadline-extended-to-january-7th/37268
+Published Date: Sat, 23 Dec 2023 19:10:19 +0000

+
+

Given how busy the holidays are we’ve decided to extend the CFP deadline from December 31st to January 7th. For details on the CFP you can see the original announcement , and you can make your submission on the submission site . Keep in mind you can continue to make edits to your submission until the CFP deadline.

+

Come be a part of the very first NixCon North America!

+

1 post - 1 participant

+

Read full topic

+
+ + + + +

view this post on Zulip Zapier (Dec 26 2023 at 07:16):

+

Another Moment of Awesome 2023 - nixpkgs top 10, again!

+

Link: https://discourse.nixos.org/t/another-moment-of-awesome-2023-nixpkgs-top-10-again/37334
+Published Date: Tue, 26 Dec 2023 07:16:03 +0000

+
+

Quick shoutout to all the amazing folks on here if you haven’t seen the latest Github Octoverse reports for 2023!

+

Nix is on the top charts second year in a row! (Last years post - Another Moment of Awesome - nixpkgs top 10 - NixOS Discourse )

+

Octoverse: The state of open source and rise of AI in 2023 - The GitHub Blog

+

Happy holidays and happy new year!

+

1 post - 1 participant

+

Read full topic

+
+ + + + +

view this post on Zulip IFTTT (Dec 29 2023 at 18:22):

+

Contribute to the Nix 2023 Recap

+

December 29, 2023 at 10:20AM

+

https://discourse.nixos.org/t/contribute-to-the-nix-2023-recap/37484

+ + + + +

view this post on Zulip IFTTT (Jan 02 2024 at 04:41):

+

Limited cache availability for i686 (32 bits x86) architecture

+

January 01, 2024 at 08:37PM

+

https://discourse.nixos.org/t/limited-cache-availability-for-i686-32-bits-x86-architecture/37626

+ + + + +

view this post on Zulip IFTTT (Jan 04 2024 at 03:31):

+

First NixCon NA Sessions Confirmed - CFP Deadline Approaching!

+

January 03, 2024 at 07:31PM

+

https://discourse.nixos.org/t/first-nixcon-na-sessions-confirmed-cfp-deadline-approaching/37718

+ + + + +

view this post on Zulip IFTTT (Jan 04 2024 at 16:51):

+

NixCon North America - Sponsorship Tracks

+

January 04, 2024 at 08:46AM

+

https://discourse.nixos.org/t/nixcon-north-america-sponsorship-tracks/37755

+ + + + +

view this post on Zulip IFTTT (Jan 05 2024 at 09:26):

+

Janurary Nix-community infra update

+

January 05, 2024 at 01:23AM

+

https://discourse.nixos.org/t/janurary-nix-community-infra-update/37809

+ + + + +

view this post on Zulip IFTTT (Jan 05 2024 at 18:46):

+

Zürich 23.11 ZHF Hackathon and UX workshop report

+

January 05, 2024 at 10:44AM

+

https://discourse.nixos.org/t/zurich-23-11-zhf-hackathon-and-ux-workshop-report/37848

+ + + + +

view this post on Zulip IFTTT (Jan 06 2024 at 02:46):

+

Pkgs/by-name for the masses

+

January 05, 2024 at 06:45PM

+

https://discourse.nixos.org/t/pkgs-by-name-for-the-masses/37858

+ + + + +

view this post on Zulip IFTTT (Jan 07 2024 at 12:46):

+

Nip presistent nix-shell

+

January 07, 2024 at 04:43AM

+

https://discourse.nixos.org/t/nip-presistent-nix-shell/37920

+ + + + +

view this post on Zulip IFTTT (Jan 07 2024 at 16:46):

+

Noogle release: 2024. A groundbreaking refactoring

+

January 07, 2024 at 08:41AM

+

https://discourse.nixos.org/t/noogle-release-2024-a-groundbreaking-refactoring/37925

+ + + + +

view this post on Zulip IFTTT (Jan 12 2024 at 13:32):

+

Cachix v1.7 release

+

January 12, 2024 at 05:30AM

+

https://discourse.nixos.org/t/cachix-v1-7-release/38166

+ + + + +

view this post on Zulip IFTTT (Jan 13 2024 at 18:36):

+

NixOS on Xilinx Zynq and ZynqMP

+

January 13, 2024 at 10:27AM

+

https://discourse.nixos.org/t/nixos-on-xilinx-zynq-and-zynqmp/38217

+ + + + +

view this post on Zulip IFTTT (Jan 13 2024 at 20:46):

+

Clonix: declarative rsync deployments

+

January 13, 2024 at 12:40PM

+

https://discourse.nixos.org/t/clonix-declarative-rsync-deployments/38221

+ + + + +

view this post on Zulip IFTTT (Jan 15 2024 at 13:17):

+

Nixpkgs.dev: a link shortener for Nixpkgs

+

January 15, 2024 at 05:15AM

+

https://discourse.nixos.org/t/nixpkgs-dev-a-link-shortener-for-nixpkgs/38284

+ + + + +

view this post on Zulip IFTTT (Jan 18 2024 at 03:21):

+

Zig2nix: Flake for packaging, building and running Zig projects

+

January 17, 2024 at 07:18PM

+

https://discourse.nixos.org/t/zig2nix-flake-for-packaging-building-and-running-zig-projects/38444

+ + + + +

view this post on Zulip IFTTT (Jan 19 2024 at 18:41):

+

NixCon NA 2024 Schedule is Live!

+

January 19, 2024 at 10:32AM

+

https://discourse.nixos.org/t/nixcon-na-2024-schedule-is-live/38531

+ + + + +

view this post on Zulip IFTTT (Jan 23 2024 at 18:41):

+

Official NixOS Wiki

+

January 23, 2024 at 10:41AM

+

https://discourse.nixos.org/t/official-nixos-wiki/38715

+ + + + +

view this post on Zulip IFTTT (Jan 26 2024 at 23:46):

+

Drift: Update Nix Flake package sources

+

January 26, 2024 at 03:43PM

+

https://discourse.nixos.org/t/drift-update-nix-flake-package-sources/38862

+ + + + +

view this post on Zulip IFTTT (Jan 29 2024 at 01:01):

+

GitHub - BirdeeHub/nixCats-nvim: A Lua-natic nix user's Neovim Flake,

+

January 28, 2024 at 04:54PM

+

https://discourse.nixos.org/t/github-birdeehub-nixcats-nvim-a-lua-natic-nix-users-neovim-flake/38956

+ + + + +

view this post on Zulip IFTTT (Jan 29 2024 at 10:56):

+

Geospatial NIX flake and Geospatial NIX web UI

+

January 29, 2024 at 02:53AM

+

https://discourse.nixos.org/t/geospatial-nix-flake-and-geospatial-nix-web-ui/38974

+ + + + +

view this post on Zulip IFTTT (Jan 29 2024 at 17:51):

+

Git-verify: in-band commit verification

+

January 29, 2024 at 09:50AM

+

https://discourse.nixos.org/t/git-verify-in-band-commit-verification/38991

+ + + + +

view this post on Zulip IFTTT (Jan 30 2024 at 11:46):

+

Nix 2.20 released

+

January 30, 2024 at 03:38AM

+

https://discourse.nixos.org/t/nix-2-20-released/39027

+ + + + +

view this post on Zulip IFTTT (Jan 30 2024 at 13:07):

+

Call for mentors: Google Summer of Code 2024

+

January 30, 2024 at 05:06AM

+

https://discourse.nixos.org/t/call-for-mentors-google-summer-of-code-2024/39031

+ + + + +

view this post on Zulip IFTTT (Jan 31 2024 at 13:26):

+

Upcoming Garbage Collection for cache.nixos.org

+

January 31, 2024 at 05:24AM

+

https://discourse.nixos.org/t/upcoming-garbage-collection-for-cache-nixos-org/39078

+ + + + +

view this post on Zulip IFTTT (Feb 02 2024 at 09:16):

+

Call for testing: Nix formatter

+

February 02, 2024 at 01:16AM

+

https://discourse.nixos.org/t/call-for-testing-nix-formatter/39179

+ + + + +

view this post on Zulip IFTTT (Feb 03 2024 at 12:16):

+

Whats-in-my-store: Match your Nix Store to packages from NixPkgs

+

February 03, 2024 at 04:15AM

+

https://discourse.nixos.org/t/whats-in-my-store-match-your-nix-store-to-packages-from-nixpkgs/39232

+ + + + +

view this post on Zulip IFTTT (Feb 04 2024 at 12:31):

+

Typhon: Nix-based continuous integration

+

February 04, 2024 at 04:23AM

+

https://discourse.nixos.org/t/typhon-nix-based-continuous-integration/39281

+ + + + +

view this post on Zulip IFTTT (Feb 04 2024 at 20:56):

+

NixVirt: manage virtual machines

+

February 04, 2024 at 12:47PM

+

https://discourse.nixos.org/t/nixvirt-manage-virtual-machines/39305

+ + + + +

view this post on Zulip IFTTT (Feb 07 2024 at 15:07):

+

Full Time Nix (podcast)

+

February 07, 2024 at 07:01AM

+

https://discourse.nixos.org/t/full-time-nix-podcast/39442

+ + + + +

view this post on Zulip IFTTT (Feb 07 2024 at 19:21):

+

Umport: Automatic Import of Modules

+

February 07, 2024 at 11:17AM

+

https://discourse.nixos.org/t/umport-automatic-import-of-modules/39455

+ + + + +

view this post on Zulip IFTTT (Feb 07 2024 at 20:56):

+

Welcome Ryan Hendrickson to the Moderation Team

+

February 07, 2024 at 12:53PM

+

https://discourse.nixos.org/t/welcome-ryan-hendrickson-to-the-moderation-team/39460

+ + + + +

view this post on Zulip IFTTT (Feb 07 2024 at 22:07):

+

Call for testing: "This Week in NixOS"

+

February 07, 2024 at 02:03PM

+

https://discourse.nixos.org/t/call-for-testing-this-week-in-nixos/39465

+ + + + +

view this post on Zulip IFTTT (Feb 09 2024 at 07:26):

+

Nix team report 2023-04 — 2024-01

+

February 08, 2024 at 11:25PM

+

https://discourse.nixos.org/t/nix-team-report-2023-04-2024-01/39525

+ + + + +

view this post on Zulip IFTTT (Feb 13 2024 at 10:11):

+

Explainix: Learn Nix syntax visually

+

February 13, 2024 at 02:04AM

+

https://discourse.nixos.org/t/explainix-learn-nix-syntax-visually/39721

+ + + + +

view this post on Zulip IFTTT (Feb 15 2024 at 15:56):

+

Nixpkgs merge bot testing and plan

+

February 15, 2024 at 07:48AM

+

https://discourse.nixos.org/t/nixpkgs-merge-bot-testing-and-plan/39824

+ + + + +

view this post on Zulip IFTTT (Feb 17 2024 at 14:31):

+

Nix-pkgset: Cross-compilation aware (flake) package sets

+

February 17, 2024 at 06:30AM

+

https://discourse.nixos.org/t/nix-pkgset-cross-compilation-aware-flake-package-sets/39911

+ + + + +

view this post on Zulip IFTTT (Feb 20 2024 at 14:17):

+

Introduction to nixpkgs-terraform

+

February 20, 2024 at 06:10AM

+

https://discourse.nixos.org/t/introduction-to-nixpkgs-terraform/40041

+ + + + +

view this post on Zulip IFTTT (Feb 21 2024 at 10:21):

+

Nix-buildproxy, reproducible HTTP/HTTPS responder in sandboxed Nix builds

+

February 21, 2024 at 02:14AM

+

https://discourse.nixos.org/t/nix-buildproxy-reproducible-http-https-responder-in-sandboxed-nix-builds/40081

+ + + + +

view this post on Zulip IFTTT (Feb 21 2024 at 10:56):

+

Nixpkgs-xr: Nightly packages for XR/AR/VR tools and apps

+

February 21, 2024 at 02:52AM

+

https://discourse.nixos.org/t/nixpkgs-xr-nightly-packages-for-xr-ar-vr-tools-and-apps/40083

+ + + + +

view this post on Zulip IFTTT (Feb 21 2024 at 14:31):

+

RFC 166 FCP: Nix formatting

+

February 21, 2024 at 06:30AM

+

https://discourse.nixos.org/t/rfc-166-fcp-nix-formatting/40092

+ + + + +

view this post on Zulip IFTTT (Feb 21 2024 at 18:16):

+

We got accepted for Google Summer of Code :tada:

+

February 21, 2024 at 10:09AM

+

https://discourse.nixos.org/t/we-got-accepted-for-google-summer-of-code/40102

+ + + + +

view this post on Zulip IFTTT (Feb 24 2024 at 20:56):

+

Anatomy of a NixOS config

+

February 24, 2024 at 12:50PM

+

https://discourse.nixos.org/t/anatomy-of-a-nixos-config/40252

+ + + + +

view this post on Zulip IFTTT (Feb 25 2024 at 01:46):

+

Typix: A Nix library for compiling Typst projects

+

February 24, 2024 at 05:42PM

+

https://discourse.nixos.org/t/typix-a-nix-library-for-compiling-typst-projects/40257

+ + + + +

view this post on Zulip IFTTT (Feb 26 2024 at 07:56):

+

Community teams budget

+

February 25, 2024 at 11:48PM

+

https://discourse.nixos.org/t/community-teams-budget/40307

+ + + + +

view this post on Zulip IFTTT (Feb 28 2024 at 14:41):

+

Google Season of Docs 2024: Call for Proposals to Enhance Nix Documentation

+

February 21, 2024 at 01:39PM

+

https://discourse.nixos.org/t/google-season-of-docs-2024-call-for-proposals-to-enhance-nix-documentation/40107

+ + + + +

view this post on Zulip IFTTT (Feb 28 2024 at 20:47):

+

Announcing Phase 1 of the Nix(OS) Website Rework

+

February 28, 2024 at 12:45PM

+

https://discourse.nixos.org/t/announcing-phase-1-of-the-nix-os-website-rework/40473

+ + + + +

view this post on Zulip IFTTT (Mar 03 2024 at 09:02):

+

Comin: Git Push NixOS Machines

+

March 03, 2024 at 01:01AM

+

https://discourse.nixos.org/t/comin-git-push-nixos-machines/40688

+ + + + +

view this post on Zulip IFTTT (Mar 04 2024 at 17:36):

+

Nixos-needsreboot: Determine if you need to reboot your NixOS machine

+

March 04, 2024 at 09:32AM

+

https://discourse.nixos.org/t/nixos-needsreboot-determine-if-you-need-to-reboot-your-nixos-machine/40790

+ + + + +

view this post on Zulip IFTTT (Mar 04 2024 at 21:16):

+

macOS support for running NixOS tests

+

March 04, 2024 at 01:09PM

+

https://discourse.nixos.org/t/macos-support-for-running-nixos-tests/40801

+ + + + +

view this post on Zulip IFTTT (Mar 07 2024 at 18:47):

+

Security fix: Nix fixed-output derivation sandbox bypass

+

March 07, 2024 at 10:42AM

+

https://discourse.nixos.org/t/security-fix-nix-fixed-output-derivation-sandbox-bypass/40972

+ + + + +

view this post on Zulip IFTTT (Mar 10 2024 at 14:56):

+

Crowdsec modules for NixOS

+

March 10, 2024 at 07:53AM

+

https://discourse.nixos.org/t/crowdsec-modules-for-nixos/41160

+ + + + +

view this post on Zulip IFTTT (Mar 11 2024 at 10:01):

+

NixOS Foundation board – open board meeting – 2024-03-20

+

March 11, 2024 at 03:01AM

+

https://discourse.nixos.org/t/nixos-foundation-board-open-board-meeting-2024-03-20/41209

+ + + + +

view this post on Zulip IFTTT (Mar 12 2024 at 06:16):

+

Nix 2.21 released

+

March 11, 2024 at 11:14PM

+

https://discourse.nixos.org/t/nix-2-21-released/41300

+ + + + +

view this post on Zulip IFTTT (Mar 12 2024 at 18:31):

+

Announcing services-flake

+

March 12, 2024 at 11:24AM

+

https://discourse.nixos.org/t/announcing-services-flake/41338

+ + + + +

view this post on Zulip IFTTT (Mar 13 2024 at 06:41):

+

Port vscode-ide-nix to coc.nvim

+

March 12, 2024 at 11:41PM

+

https://discourse.nixos.org/t/port-vscode-ide-nix-to-coc-nvim/41364

+ + + + +

view this post on Zulip IFTTT (Mar 13 2024 at 14:47):

+

Introducing FlakeHub Cache (private beta)

+

March 13, 2024 at 07:44AM

+

https://discourse.nixos.org/t/introducing-flakehub-cache-private-beta/41382

+ + + + +

view this post on Zulip IFTTT (Mar 18 2024 at 01:06):

+

Introducing teraflops, an alternative to NixOps

+

March 17, 2024 at 06:04PM

+

https://discourse.nixos.org/t/introducing-teraflops-an-alternative-to-nixops/41703

+ + + + +

view this post on Zulip IFTTT (Mar 18 2024 at 18:51):

+

NixCon NA Photos

+

March 18, 2024 at 11:42AM

+

https://discourse.nixos.org/t/nixcon-na-photos/41770

+ + + + +

view this post on Zulip IFTTT (Mar 20 2024 at 13:47):

+

Devenv 1.0: Rewrite in Rust

+

March 20, 2024 at 06:45AM

+

https://discourse.nixos.org/t/devenv-1-0-rewrite-in-rust/41891

+ + + + +

view this post on Zulip IFTTT (Mar 22 2024 at 07:37):

+

Opportunity: The NGIpkgs Maintenance Mob

+

March 22, 2024 at 12:35AM

+

https://discourse.nixos.org/t/opportunity-the-ngipkgs-maintenance-mob/41997

+ + + + +

view this post on Zulip IFTTT (Mar 22 2024 at 17:56):

+

NixOS Secrets Management video series and blog

+

March 22, 2024 at 10:49AM

+

https://discourse.nixos.org/t/nixos-secrets-management-video-series-and-blog/42020

+ + + + +

view this post on Zulip IFTTT (Mar 25 2024 at 01:56):

+

Nixpkgs.news - A Weekly Recap For The Nix Community

+

March 24, 2024 at 06:52PM

+

https://discourse.nixos.org/t/nixpkgs-news-a-weekly-recap-for-the-nix-community/42137

+ + + + +

view this post on Zulip IFTTT (Mar 25 2024 at 07:06):

+

Nix-ld-rs: Testers wanted

+

March 24, 2024 at 11:58PM

+

https://discourse.nixos.org/t/nix-ld-rs-testers-wanted/42145

+ + + + +

view this post on Zulip IFTTT (Mar 27 2024 at 02:06):

+

Darwin Updates News

+

March 26, 2024 at 07:02PM

+

https://discourse.nixos.org/t/darwin-updates-news/42249

+ + + + +

view this post on Zulip IFTTT (Mar 29 2024 at 16:21):

+

Announcing rippkgs: searching nixpkgs in under 30 milliseconds

+

March 29, 2024 at 09:17AM

+

https://discourse.nixos.org/t/announcing-rippkgs-searching-nixpkgs-in-under-30-milliseconds/42381

+ + + + +

view this post on Zulip IFTTT (Mar 31 2024 at 22:46):

+

RFC 0173 FCP; NixOS hotline

+

March 31, 2024 at 03:42PM

+

https://discourse.nixos.org/t/rfc-0173-fcp-nixos-hotline/42536

+ + + + +

view this post on Zulip IFTTT (Apr 01 2024 at 08:41):

+

Nix-garrys-mod - Bringing Garry's Mod dedicated servers to Nix/NixOS

+

April 01, 2024 at 01:32AM

+

https://discourse.nixos.org/t/nix-garrys-mod-bringing-garrys-mod-dedicated-servers-to-nix-nixos/42553

+ + + + +

view this post on Zulip IFTTT (Apr 01 2024 at 13:46):

+

Wiki.nixos.org is now live

+

April 01, 2024 at 06:43AM

+

https://discourse.nixos.org/t/wiki-nixos-org-is-now-live/42570

+ + + + +

view this post on Zulip IFTTT (Apr 01 2024 at 15:11):

+

Shoji-Nix: SSH key management module for Nix

+

April 01, 2024 at 08:06AM

+

https://discourse.nixos.org/t/shoji-nix-ssh-key-management-module-for-nix/42576

+ + + + +

view this post on Zulip IFTTT (Apr 03 2024 at 13:46):

+

Update on Sponsorship Policy Discussion

+

April 03, 2024 at 06:45AM

+

https://discourse.nixos.org/t/update-on-sponsorship-policy-discussion/42704

+ + + + +

view this post on Zulip IFTTT (Apr 04 2024 at 13:36):

+

Introducing the Clan project

+

April 04, 2024 at 06:31AM

+

https://discourse.nixos.org/t/introducing-the-clan-project/42746

+ + + + +

view this post on Zulip IFTTT (Apr 05 2024 at 09:32):

+

Kickstart-nix.nvim - A dead simple Nix flake template repo for Neovim derivations

+

April 05, 2024 at 02:27AM

+

https://discourse.nixos.org/t/kickstart-nix-nvim-a-dead-simple-nix-flake-template-repo-for-neovim-derivations/42791

+ + + + +

view this post on Zulip IFTTT (Apr 07 2024 at 21:16):

+

Catppuccin-nix: the soothing pastel theme, but for nix!

+

April 07, 2024 at 02:09PM

+

https://discourse.nixos.org/t/catppuccin-nix-the-soothing-pastel-theme-but-for-nix/42915

+ + + + +

view this post on Zulip IFTTT (Apr 10 2024 at 10:26):

+

NixOS Foundation Event Sponsorship Policy

+

April 10, 2024 at 03:21AM

+

https://discourse.nixos.org/t/nixos-foundation-event-sponsorship-policy/43110

+ + + + +

view this post on Zulip IFTTT (Apr 11 2024 at 11:16):

+

Nix-inspect: a TUI for browsing nix configs and other expressions

+

April 11, 2024 at 04:09AM

+

https://discourse.nixos.org/t/nix-inspect-a-tui-for-browsing-nix-configs-and-other-expressions/43180

+ + + + +

view this post on Zulip IFTTT (Apr 16 2024 at 19:31):

+

Virus detected on NixOS VirtualBox Appliance

+

April 16, 2024 at 12:29PM

+

https://discourse.nixos.org/t/virus-detected-on-nixos-virtualbox-appliance/43534

+ + + + +

view this post on Zulip IFTTT (Apr 17 2024 at 13:16):

+

Let's have a great 24.05 release cycle!

+

April 17, 2024 at 06:16AM

+

https://discourse.nixos.org/t/lets-have-a-great-24-05-release-cycle/43564

+ + + + +

view this post on Zulip IFTTT (Apr 18 2024 at 17:06):

+

.NET Aspire Dashboard: Local OpenTelemetry UI packaged for Nix

+

April 18, 2024 at 10:03AM

+

https://discourse.nixos.org/t/net-aspire-dashboard-local-opentelemetry-ui-packaged-for-nix/43650

+ + + + +

view this post on Zulip IFTTT (Apr 22 2024 at 11:16):

+

Nixd: 2.0.2 released

+

April 22, 2024 at 04:09AM

+

https://discourse.nixos.org/t/nixd-2-0-2-released/43891

+ + + + +

view this post on Zulip IFTTT (Apr 24 2024 at 10:46):

+

Nix 2.22 released

+

April 24, 2024 at 03:37AM

+

https://discourse.nixos.org/t/nix-2-22-released/44007

+ + + + +

view this post on Zulip IFTTT (Apr 25 2024 at 02:31):

+

Nixf-tidy: static linter for your nix code - alpha github actions

+

April 24, 2024 at 07:26PM

+

https://discourse.nixos.org/t/nixf-tidy-static-linter-for-your-nix-code-alpha-github-actions/44040

+ + + + +

view this post on Zulip IFTTT (Apr 26 2024 at 07:36):

+

Earth-view: random desktop background from Google Earth View

+

April 26, 2024 at 12:33AM

+

https://discourse.nixos.org/t/earth-view-random-desktop-background-from-google-earth-view/44124

+ + + + +

view this post on Zulip IFTTT (Apr 26 2024 at 09:56):

+

Welcome lassulus to the Moderation Team

+

April 26, 2024 at 02:46AM

+

https://discourse.nixos.org/t/welcome-lassulus-to-the-moderation-team/44129

+ + + + +

view this post on Zulip IFTTT (Apr 28 2024 at 02:36):

+

Unofficial Nix/NixOS Japanese chat for Matrix

+

April 27, 2024 at 07:27PM

+

https://discourse.nixos.org/t/unofficial-nix-nixos-japanese-chat-for-matrix/44304

+ + + + +

view this post on Zulip IFTTT (May 01 2024 at 00:41):

+

NixOS Foundation board: Giving power to the community

+

April 30, 2024 at 05:36PM

+

https://discourse.nixos.org/t/nixos-foundation-board-giving-power-to-the-community/44552

+ + + + +

view this post on Zulip IFTTT (May 01 2024 at 18:07):

+

Announcing our Google Summer of Code participants

+

May 01, 2024 at 11:04AM

+

https://discourse.nixos.org/t/announcing-our-google-summer-of-code-participants/44618

+ + + + +

view this post on Zulip IFTTT (May 02 2024 at 00:01):

+

Exciting Partnership Announcement: Framework Community & NixOS Communities Join Forces!

+

May 01, 2024 at 04:55PM

+

https://discourse.nixos.org/t/exciting-partnership-announcement-framework-community-nixos-communities-join-forces/44640

+ + + + +

view this post on Zulip IFTTT (May 02 2024 at 15:47):

+

Noshell: user-configurable login shell

+

May 02, 2024 at 08:43AM

+

https://discourse.nixos.org/t/noshell-user-configurable-login-shell/44703

+ + + + +

view this post on Zulip IFTTT (May 02 2024 at 19:56):

+

Agenix-shell: keep secrets directly in your flake and access them from your devShell

+

May 02, 2024 at 12:51PM

+

https://discourse.nixos.org/t/agenix-shell-keep-secrets-directly-in-your-flake-and-access-them-from-your-devshell/44716

+ + + + +

view this post on Zulip IFTTT (May 03 2024 at 11:46):

+

Buildbot-nix now supports Gitea

+

May 03, 2024 at 04:43AM

+

https://discourse.nixos.org/t/buildbot-nix-now-supports-gitea/44789

+ + + + +

view this post on Zulip IFTTT (May 03 2024 at 12:36):

+

Welcome endocrimes to the Moderation Team

+

May 03, 2024 at 05:35AM

+

https://discourse.nixos.org/t/welcome-endocrimes-to-the-moderation-team/44793

+ + + + +

view this post on Zulip IFTTT (May 03 2024 at 23:26):

+

Nix-inst 0.3.3 released: better imperitive package management

+

May 03, 2024 at 04:23PM

+

https://discourse.nixos.org/t/nix-inst-0-3-3-released-better-imperitive-package-management/44831

+ + + + +

view this post on Zulip IFTTT (May 04 2024 at 17:36):

+

Brew-nix: a flake automatically packaging all homebrew casks

+

May 04, 2024 at 10:33AM

+

https://discourse.nixos.org/t/brew-nix-a-flake-automatically-packaging-all-homebrew-casks/44880

+ + + + +

view this post on Zulip IFTTT (May 07 2024 at 12:16):

+

Documentation office hours, onboarding for new maintainers

+

May 07, 2024 at 05:11AM

+

https://discourse.nixos.org/t/documentation-office-hours-onboarding-for-new-maintainers/45015

+ + + + +

view this post on Zulip IFTTT (May 10 2024 at 06:36):

+

Help Wanted: Updating links to point to the new NixOS wiki

+

May 09, 2024 at 11:33PM

+

https://discourse.nixos.org/t/help-wanted-updating-links-to-point-to-the-new-nixos-wiki/45185

+ + + + +

view this post on Zulip IFTTT (May 10 2024 at 06:51):

+

Nix Constitutional Assembly Applications open

+

May 09, 2024 at 11:46PM

+

https://discourse.nixos.org/t/nix-constitutional-assembly-applications-open/45186

+ + + + +

view this post on Zulip IFTTT (May 14 2024 at 00:41):

+

Call for volunteers: curating official projects

+

May 13, 2024 at 05:34PM

+

https://discourse.nixos.org/t/call-for-volunteers-curating-official-projects/45382

+ + + + +

view this post on Zulip IFTTT (May 16 2024 at 03:21):

+

NixOS Foundation Board: Constitutional Assembly Appointment

+

May 15, 2024 at 08:18PM

+

https://discourse.nixos.org/t/nixos-foundation-board-constitutional-assembly-appointment/45504

+ + + + +

view this post on Zulip IFTTT (May 17 2024 at 09:16):

+

Styx - alternate binary substitution mechanism

+

May 17, 2024 at 02:12AM

+

https://discourse.nixos.org/t/styx-alternate-binary-substitution-mechanism/45579

+ + + + +

view this post on Zulip IFTTT (May 20 2024 at 00:51):

+

Assembly Q&A stream

+

May 19, 2024 at 05:46PM

+

https://discourse.nixos.org/t/assembly-q-a-stream/45707

+ + + + +

view this post on Zulip IFTTT (May 20 2024 at 20:01):

+

Deps_nix: mix2nix alternative as a mix task

+

May 20, 2024 at 12:58PM

+

https://discourse.nixos.org/t/deps-nix-mix2nix-alternative-as-a-mix-task/45740

+ + + + +

view this post on Zulip IFTTT (May 23 2024 at 23:01):

+

Neovim's flake.nix moved to nix-community

+

May 23, 2024 at 03:59PM

+

https://discourse.nixos.org/t/neovims-flake-nix-moved-to-nix-community/45887

+ + + + +

view this post on Zulip IFTTT (May 25 2024 at 07:41):

+

Introducing the NixOS to JSON Schema Converter

+

May 25, 2024 at 12:41AM

+

https://discourse.nixos.org/t/introducing-the-nixos-to-json-schema-converter/45948

+ + + + +

view this post on Zulip IFTTT (May 26 2024 at 13:51):

+

buildGradleApplication – a simpler approach to packaging Gradle projects

+

May 26, 2024 at 06:51AM

+

https://discourse.nixos.org/t/buildgradleapplication-a-simpler-approach-to-packaging-gradle-projects/46012

+ + + + +

view this post on Zulip IFTTT (May 30 2024 at 01:36):

+

Gradle2nix V2: Call for testers

+

May 29, 2024 at 06:34PM

+

https://discourse.nixos.org/t/gradle2nix-v2-call-for-testers/46199

+ + + + +

view this post on Zulip IFTTT (May 31 2024 at 19:31):

+

NixOS 24.05 released!

+

May 31, 2024 at 12:31PM

+

https://discourse.nixos.org/t/nixos-24-05-released/46279

+ + + + +

view this post on Zulip IFTTT (Jun 03 2024 at 18:36):

+

Introducing Brioche, a new Nix-like package manager written in Rust

+

June 03, 2024 at 11:35AM

+

https://discourse.nixos.org/t/introducing-brioche-a-new-nix-like-package-manager-written-in-rust/46447

+ + + + +

view this post on Zulip IFTTT (Jun 05 2024 at 19:56):

+

[Marketing] Looking for support in the social media department

+

June 05, 2024 at 12:52PM

+

https://discourse.nixos.org/t/marketing-looking-for-support-in-the-social-media-department/46562

+ + + + +

view this post on Zulip IFTTT (Jun 08 2024 at 19:16):

+

NixOS 24.05 Retrospective

+

June 08, 2024 at 12:13PM

+

https://discourse.nixos.org/t/nixos-24-05-retrospective/46719

+ + + + +

view this post on Zulip IFTTT (Jun 09 2024 at 21:11):

+

Mk-cache-key.nix: make build-cache key for "half board" nix projects

+

June 09, 2024 at 02:08PM

+

https://discourse.nixos.org/t/mk-cache-key-nix-make-build-cache-key-for-half-board-nix-projects/46771

+ + + + +

view this post on Zulip IFTTT (Jun 10 2024 at 18:16):

+

Target date, public repo, office hours, interviews

+

June 10, 2024 at 11:13AM

+

https://discourse.nixos.org/t/target-date-public-repo-office-hours-interviews/46827

+ + + + +

view this post on Zulip IFTTT (Jun 14 2024 at 08:31):

+

Screen Time features for NixOS

+

June 14, 2024 at 01:31AM

+

https://discourse.nixos.org/t/screen-time-features-for-nixos/46996

+ + + + +

view this post on Zulip IFTTT (Jun 16 2024 at 02:46):

+

Nixpkgs LLVM Workspace

+

June 15, 2024 at 07:46PM

+

https://discourse.nixos.org/t/nixpkgs-llvm-workspace/47074

+ + + + +

view this post on Zulip IFTTT (Jun 21 2024 at 06:02):

+

Maintainers: Drop samueldr #321436

+

June 20, 2024 at 10:55PM

+

https://discourse.nixos.org/t/maintainers-drop-samueldr-321436/47354

+ + + + +

view this post on Zulip IFTTT (Jun 21 2024 at 14:46):

+

Constitutional Assembly Statement on Jon Ringer

+

June 21, 2024 at 07:45AM

+

https://discourse.nixos.org/t/constitutional-assembly-statement-on-jon-ringer/47393

+ + + + +

view this post on Zulip IFTTT (Jun 22 2024 at 14:56):

+

What is happening with the community?

+

June 22, 2024 at 07:54AM

+

https://discourse.nixos.org/t/what-is-happening-with-the-community/47467

+ + + + +

view this post on Zulip IFTTT (Jun 24 2024 at 11:46):

+

Announcing Proxmox-NixOS

+

June 24, 2024 at 04:38AM

+

https://discourse.nixos.org/t/announcing-proxmox-nixos/47579

+ + + + +

view this post on Zulip IFTTT (Jun 24 2024 at 13:16):

+

Declarative Backups and Restore with NixOS

+

June 24, 2024 at 06:16AM

+

https://discourse.nixos.org/t/declarative-backups-and-restore-with-nixos/47581

+ + + + +

view this post on Zulip IFTTT (Jun 25 2024 at 14:46):

+

github-nix-ci (for self-hosting GitHub runners on macOS/Linux)

+

June 25, 2024 at 07:43AM

+

https://discourse.nixos.org/t/github-nix-ci-for-self-hosting-github-runners-on-macos-linux/47642

+ + + + +

view this post on Zulip IFTTT (Jun 27 2024 at 02:02):

+

Xonsh xontribs: Announcing xontrib NUR repository

+

June 26, 2024 at 06:57PM

+

https://discourse.nixos.org/t/xonsh-xontribs-announcing-xontrib-nur-repository/47744

+ + + + +

view this post on Zulip IFTTT (Jun 27 2024 at 13:46):

+

Security fix: Nix derivation sandbox escape

+

June 27, 2024 at 06:45AM

+

https://discourse.nixos.org/t/security-fix-nix-derivation-sandbox-escape/47778

+ + + + +

view this post on Zulip IFTTT (Jun 28 2024 at 06:31):

+

RFC 0146 FCP: Meta.Categories

+

June 27, 2024 at 11:28PM

+

https://discourse.nixos.org/t/rfc-0146-fcp-meta-categories/47818

+ + + + +

view this post on Zulip IFTTT (Jul 01 2024 at 05:51):

+

Wealth. Snap. loan app customer care helpline number 91//- 9201332831-}8961223351 call now hh

+

June 30, 2024 at 10:49PM

+

https://discourse.nixos.org/t/wealth-snap-loan-app-customer-care-helpline-number-91-9201332831-8961223351-call-now-hh/48196

+ + + + +

view this post on Zulip IFTTT (Jul 01 2024 at 12:21):

+

Security Advisory - Use of hardcoded cryptographic settings by default in the LimeSurvey NixOS module

+

June 29, 2024 at 02:28PM

+

https://discourse.nixos.org/t/security-advisory-use-of-hardcoded-cryptographic-settings-by-default-in-the-limesurvey-nixos-module/48107

+ + + + +

view this post on Zulip IFTTT (Jul 01 2024 at 12:21):

+

Security advisory: OpenSSH CVE-2024-6387 “regreSSHion” – update your servers ASAP

+

July 01, 2024 at 05:12AM

+

https://discourse.nixos.org/t/security-advisory-openssh-cve-2024-6387-regresshion-update-your-servers-asap/48220

+ + + + +

view this post on Zulip IFTTT (Jul 01 2024 at 16:41):

+

NCA & jonringer joint announcement

+

July 01, 2024 at 09:39AM

+

https://discourse.nixos.org/t/nca-jonringer-joint-announcement/48231

+ + + + +

view this post on Zulip IFTTT (Jul 05 2024 at 14:46):

+

Constitutional Assembly: Status Report

+

July 05, 2024 at 07:41AM

+

https://discourse.nixos.org/t/constitutional-assembly-status-report/48502

+ + + + +

view this post on Zulip IFTTT (Jul 05 2024 at 16:41):

+

make-shell, a modular replacement for mkShell

+

July 05, 2024 at 09:33AM

+

https://discourse.nixos.org/t/make-shell-a-modular-replacement-for-mkshell/48509

+ + + + +

view this post on Zulip IFTTT (Jul 06 2024 at 12:41):

+

Constitutional Assembly: Interim Nixpkgs committer delegation team

+

July 06, 2024 at 05:31AM

+

https://discourse.nixos.org/t/constitutional-assembly-interim-nixpkgs-committer-delegation-team/48562

+ + + + +

view this post on Zulip IFTTT (Jul 06 2024 at 14:31):

+

Nix-search: A faster, better nix search

+

July 06, 2024 at 07:22AM

+

https://discourse.nixos.org/t/nix-search-a-faster-better-nix-search/48568

+ + + + +

view this post on Zulip IFTTT (Jul 08 2024 at 10:41):

+

NixOS wiki now with translations

+

July 08, 2024 at 03:38AM

+

https://discourse.nixos.org/t/nixos-wiki-now-with-translations/48653

+ + + + +

view this post on Zulip IFTTT (Jul 11 2024 at 13:16):

+

PLCT Lab intends to collaborate on RISC-V support

+

July 11, 2024 at 06:09AM

+

https://discourse.nixos.org/t/plct-lab-intends-to-collaborate-on-risc-v-support/48875

+ + + + +

view this post on Zulip IFTTT (Jul 11 2024 at 13:47):

+

Searchix: web-based option/package search including nix-darwin and home-manager

+

July 11, 2024 at 06:45AM

+

https://discourse.nixos.org/t/searchix-web-based-option-package-search-including-nix-darwin-and-home-manager/48877

+ + + + +

view this post on Zulip IFTTT (Jul 12 2024 at 06:26):

+

Nix-roleplay: Form a better relationship with your code, v0.1.0 released

+

July 11, 2024 at 11:25PM

+

https://discourse.nixos.org/t/nix-roleplay-form-a-better-relationship-with-your-code-v0-1-0-released/48915

+ + + + +

view this post on Zulip IFTTT (Jul 19 2024 at 12:41):

+

Autopilot: automatically load/export user defined library and flake-parts modules

+

July 19, 2024 at 05:38AM

+

https://discourse.nixos.org/t/autopilot-automatically-load-export-user-defined-library-and-flake-parts-modules/49313

+ + + + +

view this post on Zulip IFTTT (Jul 22 2024 at 15:17):

+

Nix Survey 2024

+

July 22, 2024 at 08:12AM

+

https://discourse.nixos.org/t/nix-survey-2024/49446

+ + + + +

view this post on Zulip IFTTT (Jul 25 2024 at 19:31):

+

Constitutional Assembly: New interim GitHub org owner

+

July 25, 2024 at 12:26PM

+

https://discourse.nixos.org/t/constitutional-assembly-new-interim-github-org-owner/49636

+ + + + +

view this post on Zulip IFTTT (Jul 27 2024 at 14:36):

+

We added a linter to Nixpkgs checking workflows

+

July 27, 2024 at 07:32AM

+

https://discourse.nixos.org/t/we-added-a-linter-to-nixpkgs-checking-workflows/49722

+ + + + +

view this post on Zulip IFTTT (Jul 30 2024 at 05:21):

+

I made a flake with commonly used OpenMW modding tools (including OpenMW nightly)!

+

July 29, 2024 at 10:19PM

+

https://discourse.nixos.org/t/i-made-a-flake-with-commonly-used-openmw-modding-tools-including-openmw-nightly/49850

+ + + + +

view this post on Zulip IFTTT (Jul 30 2024 at 10:51):

+

NixDevImgs: a modest flake that builds docker CI images from your devShell definition

+

July 30, 2024 at 03:46AM

+

https://discourse.nixos.org/t/nixdevimgs-a-modest-flake-that-builds-docker-ci-images-from-your-devshell-definition/49858

+ + + + +

view this post on Zulip IFTTT (Jul 31 2024 at 22:11):

+

Nix Community Values; draft for feedback before finalisation

+

July 31, 2024 at 03:08PM

+

https://discourse.nixos.org/t/nix-community-values-draft-for-feedback-before-finalisation/49950

+ + + + +

view this post on Zulip IFTTT (Aug 01 2024 at 13:06):

+

Nix 2.24 released

+

August 01, 2024 at 06:03AM

+

https://discourse.nixos.org/t/nix-2-24-released/49986

+ + + + +

view this post on Zulip IFTTT (Aug 02 2024 at 13:02):

+

Welcome Picnoir to the moderation team!

+

August 02, 2024 at 05:57AM

+

https://discourse.nixos.org/t/welcome-picnoir-to-the-moderation-team/50042

+ + + + +

view this post on Zulip IFTTT (Aug 04 2024 at 22:01):

+

SkaraboxOS - opinionated NixOS installer

+

August 04, 2024 at 02:57PM

+

https://discourse.nixos.org/t/skaraboxos-opinionated-nixos-installer/50138

+ + + + +

view this post on Zulip IFTTT (Aug 09 2024 at 19:21):

+

nixCats-nvim: new updates

+

August 09, 2024 at 12:12PM

+

https://discourse.nixos.org/t/nixcats-nvim-new-updates/50373

+ + + + +

view this post on Zulip IFTTT (Aug 12 2024 at 10:51):

+

Several information leaks in Vaultwarden 1.32.0

+

August 12, 2024 at 03:44AM

+

https://discourse.nixos.org/t/several-information-leaks-in-vaultwarden-1-32-0/50500

+ + + + +

view this post on Zulip IFTTT (Aug 14 2024 at 06:31):

+

Nixos-shell 2.0 can now start Linux VMs on macOS

+

August 13, 2024 at 11:22PM

+

https://discourse.nixos.org/t/nixos-shell-2-0-can-now-start-linux-vms-on-macos/50577

+ + + + +

view this post on Zulip IFTTT (Aug 15 2024 at 21:26):

+

Security advisory: Graphical installer disk encryption bug regression on legacy BIOS systems using manual partitioning (GHSA-vfxf-gpmj-2p25)

+

August 15, 2024 at 02:25PM

+

https://discourse.nixos.org/t/security-advisory-graphical-installer-disk-encryption-bug-regression-on-legacy-bios-systems-using-manual-partitioning-ghsa-vfxf-gpmj-2p25/50665

+ + + + +

view this post on Zulip IFTTT (Aug 16 2024 at 11:11):

+

Join the NixOS wiki infra team

+

August 16, 2024 at 04:05AM

+

https://discourse.nixos.org/t/join-the-nixos-wiki-infra-team/50689

+ + + + +

view this post on Zulip IFTTT (Aug 17 2024 at 10:16):

+

Bachelor's Thesis on Expression Update Security

+

August 17, 2024 at 03:13AM

+

https://discourse.nixos.org/t/bachelors-thesis-on-expression-update-security/50738

+ + + + +

view this post on Zulip IFTTT (Aug 18 2024 at 18:02):

+

Security Advisory: Hardcoded default password for the root user in NixOS OpenStack configuration module

+

August 18, 2024 at 11:00AM

+

https://discourse.nixos.org/t/security-advisory-hardcoded-default-password-for-the-root-user-in-nixos-openstack-configuration-module/50802

+ + + + +

view this post on Zulip IFTTT (Aug 18 2024 at 21:02):

+

Introducing the Nix fuck-up assessment form

+

August 18, 2024 at 02:00PM

+

https://discourse.nixos.org/t/introducing-the-nix-fuck-up-assessment-form/50807

+ + + + +

view this post on Zulip IFTTT (Aug 21 2024 at 16:51):

+

S3 Sponsorship Extension - More Resources to Build a More Sustainable Nix

+

August 21, 2024 at 09:50AM

+

https://discourse.nixos.org/t/s3-sponsorship-extension-more-resources-to-build-a-more-sustainable-nix/50936

+ + + + +

view this post on Zulip IFTTT (Aug 22 2024 at 21:27):

+

Nixsa - a Nix Standalone Environment

+

August 22, 2024 at 02:25PM

+

https://discourse.nixos.org/t/nixsa-a-nix-standalone-environment/50995

+ + + + +

view this post on Zulip IFTTT (Aug 23 2024 at 20:52):

+

Uploaded configuration to GitLab

+

August 23, 2024 at 01:47PM

+

https://discourse.nixos.org/t/uploaded-configuration-to-gitlab/51054

+ + + + +

view this post on Zulip IFTTT (Aug 25 2024 at 09:41):

+

NUR is looking for a new maintainer

+

August 25, 2024 at 02:37AM

+

https://discourse.nixos.org/t/nur-is-looking-for-a-new-maintainer/51129

+ + + + +

view this post on Zulip IFTTT (Aug 26 2024 at 07:02):

+

"Reproducibility in Software Engineering" thesis has been published

+

August 26, 2024 at 12:01AM

+

https://discourse.nixos.org/t/reproducibility-in-software-engineering-thesis-has-been-published/51181

+ + + + +

view this post on Zulip IFTTT (Aug 26 2024 at 09:01):

+

Flamegraphs for NixOS

+

August 26, 2024 at 02:00AM

+

https://discourse.nixos.org/t/flamegraphs-for-nixos/51183

+ + + + +

view this post on Zulip IFTTT (Aug 28 2024 at 00:46):

+

Security advisory: Missing authentication in Hydra when triggering evaluations

+

August 27, 2024 at 05:42PM

+

https://discourse.nixos.org/t/security-advisory-missing-authentication-in-hydra-when-triggering-evaluations/51262

+ + + + +

view this post on Zulip IFTTT (Aug 29 2024 at 12:41):

+

Is this the place to find all nixos / nix security advisories?

+

August 29, 2024 at 05:37AM

+

https://discourse.nixos.org/t/is-this-the-place-to-find-all-nixos-nix-security-advisories/51317

+ + + + +

view this post on Zulip IFTTT (Aug 29 2024 at 12:56):

+

Stay Updated with the NixOS Blogosphere: Subscribe to the Nixcademy Newsletter

+

August 29, 2024 at 05:53AM

+

https://discourse.nixos.org/t/stay-updated-with-the-nixos-blogosphere-subscribe-to-the-nixcademy-newsletter/51318

+ + + + +

view this post on Zulip IFTTT (Aug 30 2024 at 17:11):

+

Nix Governance Constitution; draft for feedback

+

August 30, 2024 at 10:07AM

+

https://discourse.nixos.org/t/nix-governance-constitution-draft-for-feedback/51373

+ + + + +

view this post on Zulip IFTTT (Aug 31 2024 at 15:07):

+

Security advisory: local privilege escalation in the fcgiwrap NixOS module (also affecting the cgit, smokeping, and zoneminder modules)

+

August 31, 2024 at 08:05AM

+

https://discourse.nixos.org/t/security-advisory-local-privilege-escalation-in-the-fcgiwrap-nixos-module-also-affecting-the-cgit-smokeping-and-zoneminder-modules/51419

+ + + + +

view this post on Zulip IFTTT (Sep 03 2024 at 03:07):

+

Let's have a great 24.11 release cycle!

+

September 02, 2024 at 08:01PM

+

https://discourse.nixos.org/t/lets-have-a-great-24-11-release-cycle/51549

+ + + + +

view this post on Zulip IFTTT (Sep 05 2024 at 11:26):

+

Infuse.nix: "deep" override{Attrs}, generalizes pipe and recursiveUpdate

+

September 05, 2024 at 04:17AM

+

https://discourse.nixos.org/t/infuse-nix-deep-override-attrs-generalizes-pipe-and-recursiveupdate/51665

+ + + + +

view this post on Zulip IFTTT (Sep 06 2024 at 05:17):

+

Initial Release of Nix Weather (v0.0.2) - Guix Weather... for Nix!

+

September 05, 2024 at 10:14PM

+

https://discourse.nixos.org/t/initial-release-of-nix-weather-v0-0-2-guix-weather-for-nix/51694

+ + + + +

view this post on Zulip IFTTT (Sep 07 2024 at 22:26):

+

New release of Shoji-nix :key:

+

September 07, 2024 at 03:23PM

+

https://discourse.nixos.org/t/new-release-of-shoji-nix/51763

+ + + + +

view this post on Zulip IFTTT (Sep 10 2024 at 10:26):

+

Vulnerability in nix 2.24

+

September 10, 2024 at 03:22AM

+

https://discourse.nixos.org/t/vulnerability-in-nix-2-24/51902

+ + + + +

view this post on Zulip IFTTT (Sep 10 2024 at 13:16):

+

Seeking Feedback: Paid Long-Term Support (LTS) for NixOS starting with 24.05

+

September 10, 2024 at 06:13AM

+

https://discourse.nixos.org/t/seeking-feedback-paid-long-term-support-lts-for-nixos-starting-with-24-05/51910

+ + + + +

view this post on Zulip IFTTT (Sep 11 2024 at 00:31):

+

New Discord To Discuss Nix/NixOS and the Wider Ecosystem

+

September 10, 2024 at 05:26PM

+

https://discourse.nixos.org/t/new-discord-to-discuss-nix-nixos-and-the-wider-ecosystem/51953

+ + + + +

view this post on Zulip IFTTT (Sep 11 2024 at 05:31):

+

Morlana: nix-darwin utilities, implemented in Rust

+

September 10, 2024 at 10:29PM

+

https://discourse.nixos.org/t/morlana-nix-darwin-utilities-implemented-in-rust/51962

+ + + + +

view this post on Zulip IFTTT (Sep 11 2024 at 10:46):

+

Devenv 1.1: Nested Nix outputs using the module system

+

September 11, 2024 at 03:37AM

+

https://discourse.nixos.org/t/devenv-1-1-nested-nix-outputs-using-the-module-system/51975

+ + + + +

view this post on Zulip IFTTT (Sep 11 2024 at 11:51):

+

Security advisory: Sensitive Data Exposure via services.prometheus.exporters.pgbouncer

+

September 11, 2024 at 04:44AM

+

https://discourse.nixos.org/t/security-advisory-sensitive-data-exposure-via-services-prometheus-exporters-pgbouncer/51978

+ + + + +

view this post on Zulip IFTTT (Sep 12 2024 at 11:03):

+

Dev report: Providing Type-safe interfaces between NixOS and other languages

+

September 12, 2024 at 04:02AM

+

https://discourse.nixos.org/t/dev-report-providing-type-safe-interfaces-between-nixos-and-other-languages/52030

+ + + + +

view this post on Zulip IFTTT (Sep 13 2024 at 10:31):

+

NixOS Facter: declarative hardware configuration for NixOS

+

September 13, 2024 at 03:31AM

+

https://discourse.nixos.org/t/nixos-facter-declarative-hardware-configuration-for-nixos/52083

+ + + + +

view this post on Zulip IFTTT (Sep 16 2024 at 15:32):

+

macOS 15 Sequoia update clobbers _nixbld1-4 users

+

September 16, 2024 at 08:29AM

+

https://discourse.nixos.org/t/macos-15-sequoia-update-clobbers-nixbld1-4-users/52223

+ + + + +

view this post on Zulip IFTTT (Sep 16 2024 at 17:46):

+

Nix Steering Committee Election 2024

+

September 16, 2024 at 10:44AM

+

https://discourse.nixos.org/t/nix-steering-committee-election-2024/52232

+ + + + +

view this post on Zulip IFTTT (Sep 17 2024 at 21:02):

+

Broken Framework laptop drivers on 6.11 kernel

+

September 17, 2024 at 01:54PM

+

https://discourse.nixos.org/t/broken-framework-laptop-drivers-on-6-11-kernel/52302

+ + + + +

view this post on Zulip IFTTT (Sep 23 2024 at 12:11):

+

Nixpkgs-update-notifier: subscribe to nixpkgs-update build errors

+

September 23, 2024 at 05:09AM

+

https://discourse.nixos.org/t/nixpkgs-update-notifier-subscribe-to-nixpkgs-update-build-errors/52554

+ + + + +

view this post on Zulip IFTTT (Sep 24 2024 at 07:02):

+

Security Advisory: Environment variables accessible during a build might be world readable

+

September 23, 2024 at 11:56PM

+

https://discourse.nixos.org/t/security-advisory-environment-variables-accessible-during-a-build-might-be-world-readable/52601

+ + + + +

view this post on Zulip IFTTT (Sep 24 2024 at 18:11):

+

Devenv 1.2: Tasks for convergent configuration with Nix

+

September 24, 2024 at 06:11AM

+

https://discourse.nixos.org/t/devenv-1-2-tasks-for-convergent-configuration-with-nix/52619

+ + + + +

view this post on Zulip IFTTT (Sep 25 2024 at 19:07):

+

RFC 0180 FCP: Remove broken packages or unmaintained leaf packages

+

September 25, 2024 at 12:04PM

+

https://discourse.nixos.org/t/rfc-0180-fcp-remove-broken-packages-or-unmaintained-leaf-packages/52704

+ + + + +

view this post on Zulip IFTTT (Sep 26 2024 at 09:01):

+

Nix 2.24.8 release to fix builtin:fetchurl security issue

+

September 26, 2024 at 01:56AM

+

https://discourse.nixos.org/t/nix-2-24-8-release-to-fix-builtin-fetchurl-security-issue/52732

+ + + + +

view this post on Zulip IFTTT (Sep 26 2024 at 13:46):

+

Nix-system-graphics: Seamless nix graphics on any Linux distribution

+

September 26, 2024 at 06:40AM

+

https://discourse.nixos.org/t/nix-system-graphics-seamless-nix-graphics-on-any-linux-distribution/52747

+ + + + +

view this post on Zulip IFTTT (Sep 26 2024 at 21:02):

+

Security Advisory: Unsafe handling of credentials in pkgs.fetchurl

+

September 26, 2024 at 01:57PM

+

https://discourse.nixos.org/t/security-advisory-unsafe-handling-of-credentials-in-pkgs-fetchurl/52767

+ + + + +

view this post on Zulip IFTTT (Sep 26 2024 at 21:26):

+

NixOS :green_heart: Xen Project — Reviving the Xen Project Hypervisor on Nixpkgs

+

September 26, 2024 at 02:21PM

+

https://discourse.nixos.org/t/nixos-xen-project-reviving-the-xen-project-hypervisor-on-nixpkgs/52768

+ + + + +

view this post on Zulip IFTTT (Sep 27 2024 at 00:01):

+

Newly announced vulnerabilities in CUPS

+

September 26, 2024 at 02:47PM

+

https://discourse.nixos.org/t/newly-announced-vulnerabilities-in-cups/52771

+ + + + +

view this post on Zulip IFTTT (Sep 27 2024 at 06:32):

+

cups, cups-filters and libppd security issues

+

September 26, 2024 at 11:23PM

+

https://discourse.nixos.org/t/cups-cups-filters-and-libppd-security-issues/52780

+ + + + +

view this post on Zulip IFTTT (Oct 03 2024 at 13:46):

+

Devenv 1.3: Instant developer environments with Nix caching

+

October 03, 2024 at 06:38AM

+

https://discourse.nixos.org/t/devenv-1-3-instant-developer-environments-with-nix-caching/53851

+ + + + +

view this post on Zulip IFTTT (Oct 04 2024 at 14:17):

+

Denix: A Library for Creating Scalable NixOS and Home Manager Configurations with Modules, Hosts, and Rices

+

October 04, 2024 at 07:14AM

+

https://discourse.nixos.org/t/denix-a-library-for-creating-scalable-nixos-and-home-manager-configurations-with-modules-hosts-and-rices/53916

+ + + + +

view this post on Zulip IFTTT (Oct 06 2024 at 09:36):

+

Steering Committee candidates on the Full Time Nix podcast

+

October 06, 2024 at 02:30AM

+

https://discourse.nixos.org/t/steering-committee-candidates-on-the-full-time-nix-podcast/53989

+ + + + +

view this post on Zulip IFTTT (Oct 09 2024 at 10:41):

+

Ordenada is a Reproducible Development Environment for Nix

+

October 09, 2024 at 03:38AM

+

https://discourse.nixos.org/t/ordenada-is-a-reproducible-development-environment-for-nix/54131

+ + + + +

view this post on Zulip IFTTT (Oct 09 2024 at 17:21):

+

Introducing Thymis: Web-Based Dashboard and Device Provisioning for NixOS

+

October 09, 2024 at 10:18AM

+

https://discourse.nixos.org/t/introducing-thymis-web-based-dashboard-and-device-provisioning-for-nixos/54147

+ + + + +

view this post on Zulip IFTTT (Oct 11 2024 at 17:07):

+

Formalize creation of the stdenv team

+

October 11, 2024 at 10:04AM

+

https://discourse.nixos.org/t/formalize-creation-of-the-stdenv-team/54232

+ + + + +

view this post on Zulip IFTTT (Oct 15 2024 at 16:36):

+

OceanSprint #5 is happening on March 2025

+

October 15, 2024 at 09:33AM

+

https://discourse.nixos.org/t/oceansprint-5-is-happening-on-march-2025/54399

+ + + + +

view this post on Zulip IFTTT (Oct 18 2024 at 17:21):

+

A Batch of nixbuild.net Updates

+

October 18, 2024 at 10:19AM

+

https://discourse.nixos.org/t/a-batch-of-nixbuild-net-updates/54545

+ + + + +

view this post on Zulip IFTTT (Oct 19 2024 at 10:46):

+

Nix-output-monitor 2.1.4

+

October 19, 2024 at 03:46AM

+

https://discourse.nixos.org/t/nix-output-monitor-2-1-4/54583

+ + + + +

view this post on Zulip IFTTT (Oct 21 2024 at 20:01):

+

Announcing Determinate Nix

+

October 21, 2024 at 12:41PM

+

https://discourse.nixos.org/t/announcing-determinate-nix/54709

+ + + + +

view this post on Zulip IFTTT (Oct 22 2024 at 13:26):

+

Devenv is switching Nix implementation to Tvix

+

October 22, 2024 at 06:25AM

+

https://discourse.nixos.org/t/devenv-is-switching-nix-implementation-to-tvix/54753

+ + + + +

view this post on Zulip IFTTT (Oct 23 2024 at 11:46):

+

Nix-make: Incremental builds for C and C++

+

October 23, 2024 at 04:43AM

+

https://discourse.nixos.org/t/nix-make-incremental-builds-for-c-and-c/54812

+ + + + +

view this post on Zulip IFTTT (Oct 23 2024 at 14:56):

+

Nix-raspi-camera: A Raspberry PI camera module and apps

+

October 23, 2024 at 07:55AM

+

https://discourse.nixos.org/t/nix-raspi-camera-a-raspberry-pi-camera-module-and-apps/54823

+ + + + +

view this post on Zulip IFTTT (Oct 23 2024 at 17:31):

+

Announcing FlakeHub Cache and private flakes

+

October 23, 2024 at 10:26AM

+

https://discourse.nixos.org/t/announcing-flakehub-cache-and-private-flakes/54832

+ + + + +

view this post on Zulip IFTTT (Oct 25 2024 at 08:41):

+

Globset: Source filtering using globs with filesets

+

October 25, 2024 at 01:36AM

+

https://discourse.nixos.org/t/globset-source-filtering-using-globs-with-filesets/54915

+ + + + +

view this post on Zulip IFTTT (Oct 31 2024 at 14:32):

+

The Darwin SDKs have been updated

+

October 31, 2024 at 07:26AM

+

https://discourse.nixos.org/t/the-darwin-sdks-have-been-updated/55295

+ + + + +

view this post on Zulip IFTTT (Oct 31 2024 at 23:36):

+

Nix-mongodb-bin: Flake for almost every MongoDB version there is

+

October 31, 2024 at 04:35PM

+

https://discourse.nixos.org/t/nix-mongodb-bin-flake-for-almost-every-mongodb-version-there-is/55322

+ + + + +

view this post on Zulip IFTTT (Nov 02 2024 at 19:31):

+

Nix Community Survey 2024 Results

+

November 02, 2024 at 12:23PM

+

https://discourse.nixos.org/t/nix-community-survey-2024-results/55403

+ + + + +

view this post on Zulip IFTTT (Nov 03 2024 at 02:01):

+

Unofficial Nix/NixOS Uzbek Community on Telegram

+

November 02, 2024 at 06:57PM

+

https://discourse.nixos.org/t/unofficial-nix-nixos-uzbek-community-on-telegram/55418

+ + + + +

view this post on Zulip IFTTT (Nov 04 2024 at 18:22):

+

Nix Community Survey 2024 Results: Gender

+

November 02, 2024 at 09:46PM

+

https://discourse.nixos.org/t/nix-community-survey-2024-results-gender/55489

+ + + + +

view this post on Zulip IFTTT (Nov 04 2024 at 22:31):

+

Call for T-Shirt Designs: FOSDEM 2025 Nix Merchandise

+

November 02, 2024 at 07:30AM

+

https://discourse.nixos.org/t/call-for-t-shirt-designs-fosdem-2025-nix-merchandise/55391

+ + + + +

view this post on Zulip IFTTT (Nov 05 2024 at 10:26):

+

Results for the Nix Steering Committee Election 2024

+

November 05, 2024 at 02:16AM

+

https://discourse.nixos.org/t/results-for-the-nix-steering-committee-election-2024/55511

+ + + + +

view this post on Zulip IFTTT (Nov 06 2024 at 15:56):

+

Nixos-rebuild-ng: a nixos-rebuild rewrite

+

November 06, 2024 at 07:52AM

+

https://discourse.nixos.org/t/nixos-rebuild-ng-a-nixos-rebuild-rewrite/55606

+ + + + +

view this post on Zulip IFTTT (Nov 10 2024 at 13:11):

+

Nix-Infra Provisions and Orchestrates Your NixOS Private Cloud

+

November 10, 2024 at 05:11AM

+

https://discourse.nixos.org/t/nix-infra-provisions-and-orchestrates-your-nixos-private-cloud/55822

+ + + + +

view this post on Zulip IFTTT (Nov 11 2024 at 19:32):

+

Garnix Blog: Private caches

+

November 11, 2024 at 11:27AM

+

https://discourse.nixos.org/t/garnix-blog-private-caches/55894

+ + + + +

view this post on Zulip IFTTT (Nov 11 2024 at 19:47):

+

Concluding the Nix Constitutional Assembly (NCA)

+

November 11, 2024 at 11:42AM

+

https://discourse.nixos.org/t/concluding-the-nix-constitutional-assembly-nca/55896

+ + + + +

view this post on Zulip IFTTT (Nov 13 2024 at 12:37):

+

Nix 2.25 released

+

November 13, 2024 at 04:36AM

+

https://discourse.nixos.org/t/nix-2-25-released/55988

+ + + + +

view this post on Zulip IFTTT (Nov 13 2024 at 14:26):

+

Nix 2.25 released

+

November 13, 2024 at 06:25AM

+

https://discourse.nixos.org/t/nix-2-25-released/55994

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415266-social-media/topic/Hacker.20News.html b/stream/415266-social-media/topic/Hacker.20News.html new file mode 100644 index 00000000000..1994658f62f --- /dev/null +++ b/stream/415266-social-media/topic/Hacker.20News.html @@ -0,0 +1,257 @@ + +Hacker News · social-media · Zulip Chat Archive +

Stream: social-media

+

Topic: Hacker News

+ +
+ + + + + + +

view this post on Zulip IFTTT (Jan 09 2024 at 22:02):

+

Flakes aren't real and cannot hurt you: using Nix flakes the non-flake way

+

January 09, 2024 at 10:05AM

+

https://jade.fyi/blog/flakes-arent-real/

+ + + + +

view this post on Zulip IFTTT (Jan 15 2024 at 00:11):

+

NixOS: Declarative Builds and Deployments

+

January 14, 2024 at 02:27PM

+

https://nixos.org/

+ + + + +

view this post on Zulip IFTTT (Jan 15 2024 at 20:17):

+

Going declarative on macOS with Nix and Nix-Darwin

+

January 15, 2024 at 11:10AM

+

https://nixcademy.com/2024/01/15/nix-on-macos/

+ + + + +

view this post on Zulip Srid (Jan 16 2024 at 09:33):

+

IFTTT said:

+
+

Going declarative on macOS with Nix and Nix-Darwin

+

January 15, 2024 at 11:10AM

+

https://nixcademy.com/2024/01/15/nix-on-macos/

+
+

https://news.ycombinator.com/item?id=39004785

+ + + + +

view this post on Zulip IFTTT (Jan 17 2024 at 20:32):

+

Cloudflare R2-Backed Nix Binary Cache on Fly.io

+

January 17, 2024 at 08:32AM

+

https://lgug2z.com/articles/deploying-a-cloudflare-r2-backed-nix-binary-cache-attic-on-fly-io/

+ + + + +

view this post on Zulip IFTTT (Feb 24 2024 at 15:11):

+

Geospatial Nix – create, use and deploy today

+

February 24, 2024 at 01:44AM

+

https://geospatial-nix.today/

+ + + + +

view this post on Zulip IFTTT (Mar 10 2024 at 18:31):

+

Kākāpō – A web bundler for Nix strings with context

+

March 10, 2024 at 05:57AM

+

https://github.com/adisbladis/kakapo

+ + + + +

view this post on Zulip IFTTT (Mar 13 2024 at 17:26):

+

Show HN: Flox 1.0 – Open-source dev env as code with Nix

+

March 13, 2024 at 08:44AM

+

https://github.com/flox/flox

+ + + + +

view this post on Zulip IFTTT (Mar 13 2024 at 23:31):

+

Show HN: FlakeHub Cache: Fast, secure, configurable. A new take on Nix caching

+

March 13, 2024 at 07:38AM

+

https://determinate.systems/posts/flakehub-cache-beta/

+ + + + +

view this post on Zulip IFTTT (Mar 15 2024 at 21:41):

+

Nix is a better Docker image builder than Docker's image builder

+

March 15, 2024 at 12:56PM

+

https://xeiaso.net/talks/2024/nix-docker-build/

+ + + + +

view this post on Zulip IFTTT (Mar 26 2024 at 16:51):

+

Nix at Scale

+

March 25, 2024 at 07:52PM

+

https://lwn.net/SubscriberLink/965631/f3db6d3dde3f83cb/

+ + + + +

view this post on Zulip IFTTT (Mar 27 2024 at 09:01):

+

NixOS-generators – Collection of VM and Container disk image builders for NixOS

+

March 26, 2024 at 08:24AM

+

https://github.com/nix-community/nixos-generators

+ + + + +

view this post on Zulip IFTTT (Apr 07 2024 at 09:21):

+

Nix – A One Pager

+

April 06, 2024 at 07:44PM

+

https://github.com/tazjin/nix-1p/blob/master/README.md

+ + + + +

view this post on Zulip IFTTT (Apr 11 2024 at 19:21):

+

Official NixOS Wiki Launched

+

April 11, 2024 at 04:08AM

+

https://wiki.nixos.org/wiki/NixOS_Wiki

+ + + + +

view this post on Zulip IFTTT (Apr 12 2024 at 13:21):

+

Fast, Declarative, Reproduble and Composable Developer Environments Using Nix

+

April 12, 2024 at 03:08AM

+

https://devenv.sh/

+ + + + +

view this post on Zulip IFTTT (Apr 16 2024 at 23:22):

+

Tvix – A New Implementation of Nix

+

April 16, 2024 at 02:51PM

+

https://tvix.dev/

+ + + + +

view this post on Zulip IFTTT (Apr 22 2024 at 17:02):

+

open letter to the NixOS foundation

+

April 21, 2024 at 10:12AM

+

https://save-nix-together.org/

+ + + + +

view this post on Zulip IFTTT (Apr 25 2024 at 16:41):

+

Package management on macOS with Nix-Darwin

+

April 25, 2024 at 08:15AM

+

https://davi.sh/blog/2024/01/nix-darwin/

+ + + + +

view this post on Zulip IFTTT (Apr 26 2024 at 14:51):

+

The dire state of NixOS's moderation culture

+

April 26, 2024 at 01:04AM

+

https://github.com/nrdxp/rfc-evidence/blob/master/rfc_evidences_experiences.md

+ + + + +

view this post on Zulip IFTTT (Apr 28 2024 at 14:36):

+

On Community in Nix

+

April 26, 2024 at 10:34AM

+

https://determinate.systems/posts/on-community-in-nix/

+ + + + +

view this post on Zulip IFTTT (Apr 29 2024 at 15:41):

+

A leadership crisis in the Nix community

+

April 29, 2024 at 07:57AM

+

https://lwn.net/SubscriberLink/970824/0d89c6d83efad1e0/

+ + + + +

view this post on Zulip IFTTT (Jun 01 2024 at 22:07):

+

NixOS 24.05 "Uakari" Released

+

May 31, 2024 at 12:22PM

+

https://nixos.org/blog/announcements/2024/nixos-2405/

+ + + + +

view this post on Zulip IFTTT (Jun 03 2024 at 20:31):

+

Show HN: Brioche – A new Nix-like package manager

+

June 03, 2024 at 09:00AM

+

https://brioche.dev/blog/announcing-brioche/

+ + + + +

view this post on Zulip IFTTT (Jun 14 2024 at 07:41):

+

Brew-Nix: a flake automatically packaging all homebrew casks

+

June 13, 2024 at 07:16PM

+

https://discourse.nixos.org/t/brew-nix-a-flake-automatically-packaging-all-homebrew-casks/44880

+ + + + +

view this post on Zulip IFTTT (Jul 11 2024 at 11:21):

+

The Overengineered Resume with Zola, JSON Resume, Weasyprint, and Nix

+

July 11, 2024 at 01:06AM

+

https://ktema.org/articles/the-overengineered-resume/

+ + + + +

view this post on Zulip IFTTT (Aug 01 2024 at 01:26):

+

SnowflakeOS: Beginner friendly and GUI focused NixOS variant

+

July 31, 2024 at 04:06PM

+

https://snowflakeos.org/

+ + + + +

view this post on Zulip IFTTT (Sep 04 2024 at 09:26):

+

Interactive NixOS Tests

+

September 03, 2024 at 11:10PM

+

https://paperless.blog/interactive-nixos-tests

+ + + + +

view this post on Zulip IFTTT (Sep 10 2024 at 10:56):

+

Nix 2.24 is vulnerable to (remote) privilege escalation

+

September 09, 2024 at 01:05PM

+

https://puckipedia.com/7hkj-98sq/qixt

+ + + + +

view this post on Zulip IFTTT (Oct 02 2024 at 06:31):

+

NixOS is a good server OS, except when it isn't

+

October 01, 2024 at 09:06PM

+

https://sidhion.com/blog/posts/nixos_server_issues/

+ + + + +

view this post on Zulip IFTTT (Oct 26 2024 at 10:51):

+

NixOS Is Not Reproducible

+

October 26, 2024 at 12:19AM

+

https://linderud.dev/blog/nixos-is-not-reproducible/

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415266-social-media/topic/Lobste.2Ers.html b/stream/415266-social-media/topic/Lobste.2Ers.html new file mode 100644 index 00000000000..71e43b7a507 --- /dev/null +++ b/stream/415266-social-media/topic/Lobste.2Ers.html @@ -0,0 +1,1644 @@ + +Lobste.rs · social-media · Zulip Chat Archive +

Stream: social-media

+

Topic: Lobste.rs

+ +
+ + + + + + +

view this post on Zulip Zapier (Nov 30 2023 at 01:46):

+

Source filtering with file sets

+

Date: Tue, 28 Nov 2023 07:52:33 -0600
+Link: https://www.tweag.io/blog/2023-11-28-file-sets/
+Comments: https://lobste.rs/s/3yltn4/source_filtering_with_file_sets

+ + + + +

view this post on Zulip Zapier (Nov 30 2023 at 02:59):

+

nixpkgs 23.11

+

Date: Wed, 29 Nov 2023 20:55:06 -0600
+Link: https://github.com/NixOS/nixpkgs/tree/23.11
+Comments: https://lobste.rs/s/q26ap9/nixpkgs_23_11

+ + + + +

view this post on Zulip Zapier (Dec 01 2023 at 11:22):

+

Release: garn version v0.0.17 and v0.0.18

+

Date: Fri, 01 Dec 2023 05:15:05 -0600
+Link: https://garnix.io/blog/garn-v0_0_18
+Comments: https://lobste.rs/s/wmfyob/release_garn_version_v0_0_17_v0_0_18

+ + + + +

view this post on Zulip Zapier (Dec 02 2023 at 10:11):

+

Unveiling the Power of the NixOS Integration Test Driver (Part 2)

+

Date: Sat, 02 Dec 2023 03:58:55 -0600
+Link: https://nixcademy.com/2023/12/01/nixos-integration-tests-part-2/
+Comments: https://lobste.rs/s/2bayti/unveiling_power_nixos_integration_test

+ + + + +

view this post on Zulip Zapier (Dec 02 2023 at 21:30):

+

Efficient Nix Derivations with File Sets

+

Date: Sat, 02 Dec 2023 15:29:37 -0600
+Link: https://johns.codes/blog/efficient-nix-derivations-with-file-sets
+Comments: https://lobste.rs/s/wvd8hg/efficient_nix_derivations_with_file_sets

+ + + + +

view this post on Zulip Zapier (Dec 03 2023 at 00:00):

+

Nix-snapshotter: Native understanding of Nix packages for containerd

+

Date: Sat, 02 Dec 2023 17:52:31 -0600
+Link: https://discourse.nixos.org/t/nix-snapshotter-native-understanding-of-nix-packages-for-containerd/32696
+Comments: https://lobste.rs/s/nogwtn/nix_snapshotter_native_understanding

+ + + + +

view this post on Zulip Zapier (Dec 03 2023 at 17:36):

+

Announcing - First NixCon North America

+

Date: Sun, 03 Dec 2023 11:21:09 -0600
+Link: https://discourse.nixos.org/t/announcing-first-nixcon-north-america/35874?u=zmitchell
+Comments: https://lobste.rs/s/kmcuf4/announcing_first_nixcon_north_america

+ + + + +

view this post on Zulip Zapier (Dec 05 2023 at 18:25):

+

Nix Super

+

Date: Tue, 05 Dec 2023 12:15:13 -0600
+Link: https://github.com/privatevoid-net/nix-super
+Comments: https://lobste.rs/s/i7k7zv/nix_super

+ + + + +

view this post on Zulip Zapier (Dec 07 2023 at 10:39):

+

nix-ld: Run unpatched dynamic binaries on NixOS

+

Date: Thu, 07 Dec 2023 04:27:01 -0600
+Link: https://github.com/Mic92/nix-ld
+Comments: https://lobste.rs/s/zz9au3/nix_ld_run_unpatched_dynamic_binaries_on

+ + + + +

view this post on Zulip Zapier (Dec 10 2023 at 02:16):

+

Run macOS, Windows and more via a single Nix command

+

Date: Sat, 09 Dec 2023 20:06:07 -0600
+Link: https://github.com/MatthewCroughan/NixThePlanet
+Comments: https://lobste.rs/s/epvubb/run_macos_windows_more_via_single_nix

+ + + + +

view this post on Zulip Zapier (Dec 11 2023 at 15:29):

+

Install NixOS with Flake configuration on Git

+

Date: Mon, 11 Dec 2023 09:23:47 -0600
+Link: https://nixos.asia/en/tutorial/nixos-install
+Comments: https://lobste.rs/s/sd9kqb/install_nixos_with_flake_configuration

+ + + + +

view this post on Zulip Zapier (Dec 13 2023 at 13:49):

+

openwrt - dewclaw.git - the second-worst way to configure openwrt, by some metric

+

Date: Wed, 13 Dec 2023 07:42:19 -0600
+Link: https://git.eno.space/dewclaw.git/tree/openwrt
+Comments: https://lobste.rs/s/7qwq4g/openwrt_dewclaw_git_second_worst_way

+ + + + +

view this post on Zulip Zapier (Dec 13 2023 at 13:49):

+

NixOS-DNS: Manage your dns zones with NixOS

+

Date: Wed, 13 Dec 2023 07:41:01 -0600
+Link: https://github.com/Janik-Haag/nixos-dns/
+Comments: https://lobste.rs/s/q29msm/nixos_dns_manage_your_dns_zones_with_nixos

+ + + + +

view this post on Zulip Zapier (Dec 13 2023 at 14:06):

+

What I Like About Nix

+

Date: Wed, 13 Dec 2023 07:55:03 -0600
+Link: https://davi.sh/blog/2023/12/what-i-like-about-nix/
+Comments: https://lobste.rs/s/k53l1s/what_i_like_about_nix

+ + + + +

view this post on Zulip IFTTT (Jan 01 2024 at 17:10):

+

Some notes on NixOS

+

January 01, 2024 at 09:09AM

+

https://jvns.ca/blog/2024/01/01/some-notes-on-nixos/

+ + + + +

view this post on Zulip IFTTT (Jan 02 2024 at 04:55):

+

Comrak on Akkoma

+

January 01, 2024 at 08:52PM

+

https://lottia.net/notes/0006-comrak-on-akkoma.html

+
        <p><a href="https://lobste.rs/s/qhcjmk/comrak_on_akkoma">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jan 02 2024 at 14:00):

+

Flakes aren't real and cannot hurt you: a guide to using Nix flakes the non-flake way

+

January 02, 2024 at 05:58AM

+

https://jade.fyi/blog/flakes-arent-real/

+
        <p><a href="https://lobste.rs/s/exlaeq/flakes_aren_t_real_cannot_hurt_you_guide">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jan 02 2024 at 17:31):

+

The Nix Thesis

+

January 02, 2024 at 09:25AM

+

https://jonathanlorimer.dev/posts/nix-thesis.html

+
        <p><a href="https://lobste.rs/s/kgvnxd/nix_thesis">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jan 03 2024 at 05:30):

+

Elixir Dev Environment With Nix Flakes

+

January 02, 2024 at 09:28PM

+

https://www.mathiaspolligkeit.com/elixir-dev-environment-with-nix-flakes/

+
        <p><a href="https://lobste.rs/s/4loezq/elixir_dev_environment_with_nix_flakes">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jan 04 2024 at 22:35):

+

I'm speaking at NixCon North America 2024! - Xe Iaso

+

January 04, 2024 at 02:32PM

+

https://xeiaso.net//blog/2024/nixcon-na/

+
        <p><a href="https://lobste.rs/s/wqeu4r/i_m_speaking_at_nixcon_north_america_2024">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jan 05 2024 at 09:40):

+

Typing "nix-env -i" should not try to install every single package [2014]

+

January 05, 2024 at 01:38AM

+

https://github.com/NixOS/nix/issues/308

+
        <p><a href="https://lobste.rs/s/hekyng/typing_nix_env_i_should_not_try_install">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jan 11 2024 at 18:30):

+

Nix Evaluation Performance & Thunks

+

January 11, 2024 at 10:24AM

+

https://nixos.wiki/wiki/Nix_Evaluation_Performance

+
        <p><a href="https://lobste.rs/s/5y768y/nix_evaluation_performance_thunks">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jan 12 2024 at 13:35):

+

Cachix: v1.7

+

January 12, 2024 at 05:32AM

+

https://blog.cachix.org/posts/2024-01-12-cachix-v1-7/

+
        <p><a href="https://lobste.rs/s/otv02n/cachix_v1_7">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jan 15 2024 at 09:45):

+

Using the Nix post-build-hook

+

January 15, 2024 at 01:43AM

+

https://nixos.org/manual/nix/stable/advanced-topics/post-build-hook

+
        <p><a href="https://lobste.rs/s/pphmcp/using_nix_post_build_hook">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jan 15 2024 at 19:10):

+

Setting up Nix on macOS

+

January 15, 2024 at 11:09AM

+

https://nixcademy.com/2024/01/15/nix-on-macos/

+
        <p><a href="https://lobste.rs/s/wv6hs3/setting_up_nix_on_macos">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jan 19 2024 at 09:15):

+

First steps with Nix

+

January 19, 2024 at 01:06AM

+

https://nixos.asia/en/nix-first

+
        <p><a href="https://lobste.rs/s/jgezbz/first_steps_with_nix">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jan 24 2024 at 23:00):

+

The History of Nix at Bellroy

+

January 24, 2024 at 02:54PM

+

https://exploring-better-ways.bellroy.com/the-history-of-nix-at-bellroy.html

+
        <p><a href="https://lobste.rs/s/wmhctu/history_nix_at_bellroy">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jan 25 2024 at 12:00):

+

Nix from the bottom up

+

January 25, 2024 at 03:56AM

+

http://www.chriswarbo.net/projects/nixos/bottom_up.html

+
        <p><a href="https://lobste.rs/s/spdccn/nix_from_bottom_up">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jan 26 2024 at 14:15):

+

Project IDX

+

January 26, 2024 at 06:13AM

+

https://idx.dev/

+
      <p>Here’s where it uses Nix, for the curious: <a href="https://developers.google.com/idx/guides/customize-idx-env" rel="ugc">https://developers.google.com/idx/guides/customize-idx-env</a></p>
+
+ +

<p>Just went Public Access.</p>

+
        <p><a href="https://lobste.rs/s/xpsh0y/project_idx">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jan 29 2024 at 17:05):

+

Enhancing trust for SGX enclaves

+

January 29, 2024 at 09:00AM

+

https://blog.trailofbits.com/2024/01/26/enhancing-trust-for-sgx-enclaves/

+
        <p><a href="https://lobste.rs/s/qkuc4t/enhancing_trust_for_sgx_enclaves">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jan 30 2024 at 23:40):

+

How to Learn Nix, Part 49: nix-direnv is a huge quality of life improvement

+

January 30, 2024 at 03:31PM

+

https://ianthehenry.com/posts/how-to-learn-nix/nix-direnv/

+
        <p><a href="https://lobste.rs/s/wmr4x0/how_learn_nix_part_49_nix_direnv_is_huge">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jan 31 2024 at 09:15):

+

Separation of Concerns in Cross-Compilation

+

January 31, 2024 at 01:10AM

+

https://nixcademy.com/2024/01/30/cross-compilation-with-nix/

+
        <p><a href="https://lobste.rs/s/kh6mxo/separation_concerns_cross_compilation">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Feb 05 2024 at 09:35):

+

Overview of Nix Formatters Ecosystem

+

February 05, 2024 at 01:30AM

+

https://drakerossman.com/blog/overview-of-nix-formatters-ecosystem

+
        <p><a href="https://lobste.rs/s/sri4bn/overview_nix_formatters_ecosystem">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Feb 13 2024 at 07:30):

+

Build and Deploy Linux Systems from macOS

+

February 12, 2024 at 11:29PM

+

https://nixcademy.com/2024/02/12/macos-linux-builder/

+
        <p><a href="https://lobste.rs/s/meyrl2/build_deploy_linux_systems_from_macos">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Feb 13 2024 at 20:30):

+

Integration testing with NixOS in Github Actions

+

February 13, 2024 at 12:26PM

+

https://jnsgr.uk/2024/02/nixos-vms-in-github-actions/

+
        <p><a href="https://lobste.rs/s/xwekng/integration_testing_with_nixos_github">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Feb 15 2024 at 20:06):

+

Tvix Status - February '24

+

February 15, 2024 at 12:03PM

+

https://tvl.fyi/blog/tvix-update-february-24

+
        <p><a href="https://lobste.rs/s/lnf8op/tvix_status_february_24">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Feb 16 2024 at 00:30):

+

Dependency solving in Nix

+

February 15, 2024 at 04:24PM

+

http://www.chriswarbo.net/projects/nixos/nix_dependencies.html

+
        <p><a href="https://lobste.rs/s/3blthf/dependency_solving_nix">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Feb 16 2024 at 16:06):

+

guix on the framework 13 amd

+

February 16, 2024 at 08:02AM

+

https://wingolog.org/archives/2024/02/16/guix-on-the-framework-13-amd

+
        <p><a href="https://lobste.rs/s/mb6xlm/guix_on_framework_13_amd">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Feb 16 2024 at 17:15):

+

Packaging Scrutiny for NixOS

+

February 16, 2024 at 09:06AM

+

https://jnsgr.uk/2024/02/packaging-scrutiny-for-nixos/

+
        <p><a href="https://lobste.rs/s/oumrhu/packaging_scrutiny_for_nixos">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Feb 18 2024 at 13:55):

+

Managing dotfiles on macOS with Nix

+

February 18, 2024 at 05:55AM

+

https://davi.sh/blog/2024/02/nix-home-manager/

+
        <p><a href="https://lobste.rs/s/usq8dk/managing_dotfiles_on_macos_with_nix">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Feb 20 2024 at 15:36):

+

evil-nix: a Nix library to download files from the internet without requiring a hash

+

February 20, 2024 at 07:33AM

+

https://github.com/cdepillabout/evil-nix

+
        <p><a href="https://lobste.rs/s/ghaphp/evil_nix_nix_library_download_files_from">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Feb 24 2024 at 08:45):

+

Contributing Scrutiny to nixpkgs

+

February 24, 2024 at 12:39AM

+

https://jnsgr.uk/2024/02/contributing-scrutiny-to-nixpkgs/

+
        <p><a href="https://lobste.rs/s/qhxh4b/contributing_scrutiny_nixpkgs">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Feb 26 2024 at 16:46):

+

How I use Nix on macOS

+

February 26, 2024 at 08:42AM

+

https://blog.6nok.org/how-i-use-nix-on-macos/

+
        <p><a href="https://lobste.rs/s/jliiye/how_i_use_nix_on_macos">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Feb 27 2024 at 11:30):

+

Explainix: Explain Nix syntax visually

+

February 27, 2024 at 03:23AM

+

https://zaynetro.com/explainix

+
        <p><a href="https://lobste.rs/s/cvqvff/explainix_explain_nix_syntax_visually">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 01 2024 at 12:41):

+

Test Your Apps and Services with GitHub Actions Quickly and for Free

+

March 01, 2024 at 04:35AM

+

https://nixcademy.com/2024/03/01/nixos-integration-test-on-github/

+
        <p><a href="https://lobste.rs/s/qmmdve/test_your_apps_services_with_github">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 02 2024 at 03:45):

+

Saved by NixOS Integration Tests, Surprisingly

+

March 01, 2024 at 07:43PM

+

https://boinkor.net/2024/02/saved-by-nixos-integration-tests-surprisingly/

+
        <p><a href="https://lobste.rs/s/by7kxq/saved_by_nixos_integration_tests">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 03 2024 at 10:20):

+

Pyproject.nix - Nix tooling for Python project metadata

+

March 03, 2024 at 02:19AM

+

https://nix-community.github.io/pyproject.nix/

+
        <p><a href="https://lobste.rs/s/fcvtpi/pyproject_nix_nix_tooling_for_python">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 03 2024 at 20:35):

+

rpypkgs: A Nix flake for RPython interpreters

+

March 03, 2024 at 12:34PM

+

https://osdn.net/users/corbin/pf/rpypkgs/wiki/FrontPage

+
        <p><a href="https://lobste.rs/s/ffhqcr/rpypkgs_nix_flake_for_rpython">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 04 2024 at 12:15):

+

HTMNIX: HTML for Nix to rule them all

+

March 04, 2024 at 04:09AM

+

https://github.com/RGBCube/HTMNIX

+
      <p>Here is the blog post that explains how it works: <a href="https://rgbcu.be/blog/htmnix" rel="ugc">https://rgbcu.be/blog/htmnix</a> :-)</p>
+
+ +

<p>I would also love some feedback on my writing style!</p>

+
        <p><a href="https://lobste.rs/s/isblfq/htmnix_html_for_nix_rule_them_all">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 04 2024 at 12:55):

+

Anatomy of a NixOS Config

+

March 04, 2024 at 04:51AM

+

https://unmovedcentre.com/technology/2024/02/24/anatomy-of-a-nixos-config.html

+
        <p><a href="https://lobste.rs/s/tag7u5/anatomy_nixos_config">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 05 2024 at 07:17):

+

nixbsd: An unofficial NixOS fork with a FreeBSD kernel

+

March 04, 2024 at 11:14PM

+

https://github.com/nixos-bsd/nixbsd

+
        <p><a href="https://lobste.rs/s/lrdkd5/nixbsd_unofficial_nixos_fork_with">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 05 2024 at 20:30):

+

A homelab dashboard for NixOS

+

March 05, 2024 at 12:25PM

+

https://jnsgr.uk/2024/03/a-homelab-dashboard-for-nixos/

+
        <p><a href="https://lobste.rs/s/bi5koy/homelab_dashboard_for_nixos">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 05 2024 at 20:40):

+

Bazel remote execution with rules_nixpkgs

+

March 05, 2024 at 12:35PM

+

https://www.tweag.io/blog/2024-02-29-remote-execution-rules-nixpkgs/

+
        <p><a href="https://lobste.rs/s/joycvk/bazel_remote_execution_with_rules">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 06 2024 at 07:45):

+

nh: Yet another nix cli helper

+

March 05, 2024 at 11:42PM

+

https://github.com/viperML/nh

+
        <p><a href="https://lobste.rs/s/5mo3g7/nh_yet_another_nix_cli_helper">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 08 2024 at 12:00):

+

Run NixOS Integration Tests on macOS

+

March 08, 2024 at 03:57AM

+

https://nixcademy.com/2024/03/08/running-nixos-integration-tests-on-macos/

+
        <p><a href="https://lobste.rs/s/wwwbgc/run_nixos_integration_tests_on_macos">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 10 2024 at 13:00):

+

Kākāpō - A web bundler for Nix strings with context

+

March 10, 2024 at 05:56AM

+

https://github.com/adisbladis/kakapo

+
        <p><a href="https://lobste.rs/s/xo0x0f/kakapo_web_bundler_for_nix_strings_with">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 11 2024 at 04:05):

+

How we replaced Vagrant with devenv

+

March 10, 2024 at 09:02PM

+

https://2li.ch/blog/2024-03-10-how-we-replaced-vagrant-with-devenv

+
        <p><a href="https://lobste.rs/s/mdipuc/how_we_replaced_vagrant_with_devenv">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 12 2024 at 15:01):

+

Identifying software

+

March 12, 2024 at 07:58AM

+

https://guix.gnu.org/en/blog/2024/identifying-software/

+
        <p><a href="https://lobste.rs/s/io0xpg/identifying_software">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 13 2024 at 14:56):

+

Introducing FlakeHub Cache

+

March 13, 2024 at 07:50AM

+

https://determinate.systems/posts/flakehub-cache-beta

+
        <p><a href="https://lobste.rs/s/sqnezh/introducing_flakehub_cache">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 14 2024 at 00:30):

+

Call by hash

+

March 13, 2024 at 05:27PM

+

https://garnix.io/blog/call-by-hash

+
        <p><a href="https://lobste.rs/s/aari0g/call_by_hash">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 14 2024 at 18:25):

+

Today we launched Flox 1.0

+

March 14, 2024 at 11:20AM

+

https://tinkering.xyz/releasing-flox/

+
        <p><a href="https://lobste.rs/s/dlpl1r/today_we_launched_flox_1_0">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 15 2024 at 03:45):

+

Bellroy Technology Team: 2023 in Review

+

March 14, 2024 at 08:41PM

+

https://exploring-better-ways.bellroy.com/bellroy-technology-team-2023-in-review.html

+
        <p><a href="https://lobste.rs/s/hhfs13/bellroy_technology_team_2023_review">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 16 2024 at 02:50):

+

Nix is a better Docker image builder than Docker's image builder

+

March 15, 2024 at 07:45PM

+

https://xeiaso.net/talks/2024/nix-docker-build/

+
        <p><a href="https://lobste.rs/s/j7c4rw/nix_is_better_docker_image_builder_than">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 17 2024 at 22:50):

+

Nix is a better Docker image builder than Docker's image builder - Xe Iaso

+

March 17, 2024 at 03:47PM

+

https://xeiaso.net//talks/2024/nix-docker-build/

+
        <p><a href="https://lobste.rs/s/phw65v/nix_is_better_docker_image_builder_than">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 20 2024 at 13:45):

+

devenv 1.0: Rewrite in Rust

+

March 20, 2024 at 06:41AM

+

https://devenv.sh/blog/2023/03/20/devenv-10-rewrite-in-rust/

+
        <p><a href="https://lobste.rs/s/jdki6m/devenv_1_0_rewrite_rust">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 20 2024 at 22:20):

+

KalmarCTF: Reproducible Pwning writeup

+

March 20, 2024 at 03:17PM

+

https://jade.fyi/blog/reproducible-pwning-writeup/

+
        <p><a href="https://lobste.rs/s/isscpb/kalmarctf_reproducible_pwning_writeup">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 22 2024 at 20:20):

+

Nix The Planet

+

March 22, 2024 at 01:14PM

+

https://m.youtube.com/watch?v=6iviTZfiLGU

+
        <p><a href="https://lobste.rs/s/zwemnj/nix_planet">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Mar 26 2024 at 21:25):

+

Centerpiece – Your trusty omnibox search

+

March 26, 2024 at 02:23PM

+

https://github.com/friedow/centerpiece

+
      <p>Today we are happy to annouce the v1.0.0 release of centerpiece 🎉!</p>
+
+ +

<p>What began as a small personal project with the goal to remove all bars in my desktop environment has transformed into a full featured application launcher with a variety of plugins. A special shoutout to @a-kenji who pushed the development along a great deal. This is the first of my personal projects to reach the 1.0 milestone!</p>
+<p>Now, without further ado, enjoy this release and find us many bugs.
+– @a-kenji & <a href="https://lobste.rs/~friedow" rel="ugc">@friedow</a></p>

+
        <p><a href="https://lobste.rs/s/fb5w7u/centerpiece_your_trusty_omnibox_search">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Apr 01 2024 at 08:30):

+

Switching between code variants using comments

+

April 01, 2024 at 01:27AM

+

https://linus.schreibt.jetzt/posts/toggle-comments.html

+
        <p><a href="https://lobste.rs/s/ugvvay/switching_between_code_variants_using">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Apr 02 2024 at 17:30):

+

NixOS is not reproducible

+

April 02, 2024 at 10:24AM

+

https://linderud.dev/blog/nixos-is-not-reproducible/

+
        <p><a href="https://lobste.rs/s/jpoy4q/nixos_is_not_reproducible">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Apr 03 2024 at 14:06):

+

Searching Nixpkgs in Under 30 Milliseconds

+

April 03, 2024 at 07:01AM

+

https://blog.replit.com/nixpkgs-search

+
        <p><a href="https://lobste.rs/s/4dgdkj/searching_nixpkgs_under_30_milliseconds">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Apr 04 2024 at 21:10):

+

Running Fava on NixOS

+

April 04, 2024 at 02:09PM

+

https://pta2002.com/blog/fava-on-nixos/

+
        <p><a href="https://lobste.rs/s/lr31cl/running_fava_on_nixos">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Apr 09 2024 at 20:45):

+

NixOS/nixpkgs: There isn't a clear canonical way to refer to a specific package version [2020]

+

April 09, 2024 at 01:44PM

+

https://github.com/NixOS/nixpkgs/issues/93327

+
      <p>Ran a channel update on nixOS for the first time to upgrade all my packages. Eclipse broke; this is unsurprising because it broke on Arch too. “No problem!” thinks I, “I am on nixOS, the OS of declarative &amp; repeatable package management! Certainly it must be a simple and routine operation to downgrade a specific package!”</p>
+
+        <p><a href="https://lobste.rs/s/9fmqmz/nixos_nixpkgs_there_isn_t_clear_canonical">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Apr 12 2024 at 10:06):

+

Fast, Declarative, Reproduble and Composable Developer Environments using Nix

+

April 12, 2024 at 03:05AM

+

https://devenv.sh/

+
        <p><a href="https://lobste.rs/s/8xagju/fast_declarative_reproduble_composable">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Apr 13 2024 at 11:40):

+

Minimal Kotlin and Nix flake example (with Gradle 8 support)

+

April 13, 2024 at 04:39AM

+

https://github.com/owickstrom/minimal-kotlin-nix-example

+
        <p><a href="https://lobste.rs/s/ljhoc8/minimal_kotlin_nix_flake_example_with">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Apr 16 2024 at 18:10):

+

Colima k8s nix setup

+

April 16, 2024 at 11:00AM

+

https://dev.to/doriancodes/colima-k8s-nix-setup-mpn

+
        <p><a href="https://lobste.rs/s/ixaerf/colima_k8s_nix_setup">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Apr 17 2024 at 22:10):

+

libnix mingw status

+

April 17, 2024 at 03:04PM

+

https://lastlog.de/blog/libnix_mingw_status.html

+
        <p><a href="https://lobste.rs/s/bhignf/libnix_mingw_status">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Apr 21 2024 at 18:20):

+

Open letter to the NixOS foundation

+

April 21, 2024 at 11:18AM

+

https://save-nix-together.org/

+
        <p><a href="https://lobste.rs/s/0qvtim/open_letter_nixos_foundation">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Apr 22 2024 at 13:30):

+

Secure Boot & TPM-backed Full Disk Encryption on NixOS

+

April 22, 2024 at 06:27AM

+

https://jnsgr.uk/2024/04/nixos-secure-boot-tpm-fde/

+
        <p><a href="https://lobste.rs/s/ebt4ys/secure_boot_tpm_backed_full_disk">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Apr 25 2024 at 15:55):

+

Package management on macOS with nix-darwin

+

April 25, 2024 at 08:51AM

+

https://davi.sh/blog/2024/01/nix-darwin/

+
        <p><a href="https://lobste.rs/s/m8hd8k/package_management_on_macos_with_nix">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Apr 26 2024 at 17:30):

+

On community in Nix

+

April 26, 2024 at 10:26AM

+

https://determinate.systems/posts/on-community-in-nix/

+
        <p><a href="https://lobste.rs/s/pntava/on_community_nix">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Apr 27 2024 at 17:00):

+

nixpkgs.news

+

April 27, 2024 at 10:00AM

+

https://nixpkgs.news/

+
        <p><a href="https://lobste.rs/s/sda151/nixpkgs_news">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Apr 27 2024 at 18:10):

+

What Nix Will Have Been

+

April 27, 2024 at 11:08AM

+

https://boinkor.net/2024/04/what-nix-will-have-been/

+
        <p><a href="https://lobste.rs/s/jrssna/what_nix_will_have_been">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Apr 29 2024 at 08:55):

+

Nix: The Breaking Point

+

April 29, 2024 at 01:47AM

+

https://kilo.bytesize.xyz/nix-the-breaking-point

+
        <p><a href="https://lobste.rs/s/3brztz/nix_breaking_point">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Apr 29 2024 at 19:26):

+

aux.computer: an alternative to the Nix ecosystem

+

April 29, 2024 at 12:20PM

+

https://aux.computer/

+
        <p><a href="https://lobste.rs/s/qnmzre/aux_computer_alternative_nix_ecosystem">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (May 01 2024 at 01:40):

+

NixOS Foundation board: Giving power to the community

+

April 30, 2024 at 06:35PM

+

https://discourse.nixos.org/t/nixos-foundation-board-giving-power-to-the-community/44552

+
        <p><a href="https://lobste.rs/s/lfkjat/nixos_foundation_board_giving_power">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (May 02 2024 at 12:15):

+

Framework & NixOS Communities Join Forces

+

May 02, 2024 at 05:10AM

+

https://discourse.nixos.org/t/exciting-partnership-announcement-framework-community-nixos-communities-join-forces/44640?u=asymmetric

+
        <p><a href="https://lobste.rs/s/iykxwu/framework_nixos_communities_join_forces">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (May 06 2024 at 08:55):

+

Lix

+

May 06, 2024 at 01:50AM

+

https://lix.systems/

+
        <p><a href="https://lobste.rs/s/5vlgf4/lix">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (May 06 2024 at 09:50):

+

Re-implementing the Nix protocol in Rust

+

May 06, 2024 at 02:47AM

+

https://www.tweag.io/blog/2024-04-25-nix-protocol-in-rust/

+
        <p><a href="https://lobste.rs/s/4mdzfa/re_implementing_nix_protocol_rust">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (May 08 2024 at 20:20):

+

Broken Promises: The Nix Governance Discussions

+

May 08, 2024 at 01:14PM

+

https://shealevy.com/blog/2024/05/08/broken-promises-the-nix-governance-discussions/

+
        <p><a href="https://lobste.rs/s/zfo0x9/broken_promises_nix_governance">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (May 08 2024 at 23:25):

+

It's not about “Flakes vs. Channels”

+

May 08, 2024 at 04:20PM

+

https://samuel.dionne-riel.com/blog/2024/05/07/its-not-flakes-vs-channels.html

+
        <p><a href="https://lobste.rs/s/c3hbh6/it_s_not_about_flakes_vs_channels">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (May 09 2024 at 18:06):

+

Distributed system daemons with Shepherd and Goblins funded by NLnet

+

May 09, 2024 at 11:02AM

+

https://spritely.institute/news/spritely-nlnet-grants-december-2023.html

+
        <p><a href="https://lobste.rs/s/kfwcxs/distributed_system_daemons_with">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (May 10 2024 at 15:40):

+

Nix on Windows

+

May 10, 2024 at 08:36AM

+

https://lastlog.de/blog/libnix_volth%27s_work.html

+
      <p>I had to moderate the title, as the fetched one does not reflect the content of the page.</p>
+
+        <p><a href="https://lobste.rs/s/9ijkgu/nix_on_windows">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (May 14 2024 at 07:50):

+

Bye Opam, Hello Nix

+

May 14, 2024 at 12:48AM

+

https://priver.dev/blog/ocaml/bye-opam-hello-nix/

+
        <p><a href="https://lobste.rs/s/05vks5/bye_opam_hello_nix">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (May 15 2024 at 13:25):

+

A Rust + WASM development environment with Nix

+

May 15, 2024 at 06:24AM

+

https://jordankaye.dev/posts/rust-wasm-nix/

+
        <p><a href="https://lobste.rs/s/mgnifo/rust_wasm_development_environment_with">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (May 31 2024 at 19:41):

+

NixOS 24.05 released

+

May 31, 2024 at 12:31PM

+

https://nixos.org/blog/announcements/2024/nixos-2405/

+
        <p><a href="https://lobste.rs/s/vyprdq/nixos_24_05_released">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jun 02 2024 at 15:50):

+

Centerpiece now supports Firefox! Whats Next?

+

June 02, 2024 at 08:46AM

+

https://lobste.rs/s/8ddzid/centerpiece_now_supports_firefox_whats

+
      <p>With the release of version v1.1.0 Centerpiece (<a href="https://github.com/friedow/centerpiece" rel="ugc">https://github.com/friedow/centerpiece</a>) supports searching in your Firefox bookmarks and history.</p>
+
+ +

<p>Now, we would like to know which features you need to switch to Centerpiece! Please leave your feature requests in the comments down below :).</p>

+ + + + +

view this post on Zulip IFTTT (Jun 04 2024 at 02:55):

+

Announcing Brioche

+

June 03, 2024 at 07:49PM

+

https://brioche.dev/blog/announcing-brioche/

+
        <p><a href="https://lobste.rs/s/fbgsoc/announcing_brioche">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jun 13 2024 at 15:30):

+

Development Environments with devenv.sh

+

June 13, 2024 at 08:25AM

+

https://www.youtube.com/watch?v=unW1zk8terk&t=7s

+
        <p><a href="https://lobste.rs/s/q18f4k/development_environments_with_devenv_sh">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jun 13 2024 at 15:35):

+

Nix as a WebAssembly build tool

+

June 13, 2024 at 08:31AM

+

https://determinate.systems/posts/nix-wasm/

+
        <p><a href="https://lobste.rs/s/xnsp3d/nix_as_webassembly_build_tool">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jun 13 2024 at 19:45):

+

libnix fixPath

+

June 13, 2024 at 12:39PM

+

https://lastlog.de/blog/libnix_fixPath.html

+
        <p><a href="https://lobste.rs/s/jtrlcy/libnix_fixpath">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jun 17 2024 at 13:10):

+

Optimizing Python Development: Virtualenv Kernels with Nix and Jupyter

+

June 17, 2024 at 06:07AM

+

https://acalustra.com/optimizing-python-development-virtualenv-kernels-with-nix-and-jupyter.html

+
        <p><a href="https://lobste.rs/s/fuhrcz/optimizing_python_development">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jun 20 2024 at 14:40):

+

Securing our software supply-chain better with reproducible builds for enclaves

+

June 20, 2024 at 07:36AM

+

https://monzo.com/blog/securing-our-software-supply-chain-better-with-reproducible-builds-for

+
        <p><a href="https://lobste.rs/s/clhvj1/securing_our_software_supply_chain">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jun 21 2024 at 10:01):

+

Nickel modules

+

June 21, 2024 at 02:59AM

+

https://www.tweag.io/blog/2024-06-20-nickel-modules/

+
        <p><a href="https://lobste.rs/s/dfy9kq/nickel_modules">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jun 22 2024 at 20:10):

+

Simple text Editor for X

+

June 22, 2024 at 01:05PM

+

https://chronicles.mad-scientist.club/sex/

+
        <p><a href="https://lobste.rs/s/j9jtyq/simple_text_editor_for_x">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jun 24 2024 at 11:30):

+

The Proxmox Hypervisor, on NixOS

+

June 24, 2024 at 04:29AM

+

https://github.com/SaumonNet/proxmox-nixos

+
        <p><a href="https://lobste.rs/s/hp0llm/proxmox_hypervisor_on_nixos">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jun 26 2024 at 13:20):

+

Running DBT in Github using Nix

+

June 26, 2024 at 06:14AM

+

https://github.com/CedricLeong/dbt-action-nix

+
        <p><a href="https://lobste.rs/s/pdxgyb/running_dbt_github_using_nix">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jun 27 2024 at 15:20):

+

Adding parallel evaluation to Nix, by Eelco Dolstra

+

June 27, 2024 at 08:19AM

+

https://determinate.systems/posts/parallel-nix-eval

+
        <p><a href="https://lobste.rs/s/yh1qls/adding_parallel_evaluation_nix_by_eelco">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jul 06 2024 at 05:50):

+

Practical Nix flake anatomy: a guided tour of flake.nix

+

July 05, 2024 at 10:47PM

+

https://vtimofeenko.com/posts/practical-nix-flake-anatomy-a-guided-tour-of-flake.nix/

+
        <p><a href="https://lobste.rs/s/ugdatz/practical_nix_flake_anatomy_guided_tour">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jul 09 2024 at 17:05):

+

Learn Flakes the Fun Way

+

July 09, 2024 at 10:00AM

+

https://lyte.dev/blog/learn-flakes-the-fun-way/

+
        <p><a href="https://lobste.rs/s/uvnjqj/learn_flakes_fun_way">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jul 11 2024 at 01:25):

+

Announcing Lix 2.90 "Vanilla Ice Cream"

+

July 10, 2024 at 06:20PM

+

https://lix.systems/blog/2024-07-10-lix-2.90-release/

+
        <p><a href="https://lobste.rs/s/1hrh4a/announcing_lix_2_90_vanilla_ice_cream">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jul 11 2024 at 10:50):

+

Nix on MacOS - The Good, the Bad and the Ugly

+

July 11, 2024 at 03:46AM

+

https://drakerossman.com/blog/nix-on-macos-the-good-the-bad-and-the-ugly

+
        <p><a href="https://lobste.rs/s/eojt4t/nix_on_macos_good_bad_ugly">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jul 11 2024 at 16:40):

+

Using Nix as a Yocto Alternative

+

July 11, 2024 at 09:38AM

+

https://www.kdab.com/using-nix-as-a-yocto-alternative/

+
        <p><a href="https://lobste.rs/s/yzi2q2/using_nix_as_yocto_alternative">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jul 12 2024 at 14:50):

+

At the Mountains of Madness

+

July 12, 2024 at 07:46AM

+

https://antithesis.com/blog/madness/

+
        <p><a href="https://lobste.rs/s/xkfl2i/at_mountains_madness">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jul 19 2024 at 11:25):

+

vyxos: My laptop and server Nix configuration

+

July 19, 2024 at 04:22AM

+

https://github.com/kivikakk/vyxos

+
        <p><a href="https://lobste.rs/s/u9ugid/vyxos_my_laptop_server_nix_configuration">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jul 22 2024 at 13:25):

+

Nix Camp 2024 is On

+

July 22, 2024 at 06:22AM

+

https://nix.camp/

+
      <p>Bring your friends :)</p>
+
+        <p><a href="https://lobste.rs/s/uqqtiy/nix_camp_2024_is_on">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jul 26 2024 at 01:50):

+

Writing NixOS tests for fun and profit

+

July 25, 2024 at 06:46PM

+

https://kokada.capivaras.dev/blog/writing-nixos-tests-for-fun-and-profit/

+
        <p><a href="https://lobste.rs/s/yqjmul/writing_nixos_tests_for_fun_profit">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jul 27 2024 at 17:50):

+

Quick bits: nix-shell is cursed

+

July 27, 2024 at 10:45AM

+

https://kokada.capivaras.dev/blog/quick-bits-nix-shell-is-cursed/

+
        <p><a href="https://lobste.rs/s/gkcgza/quick_bits_nix_shell_is_cursed">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jul 27 2024 at 18:35):

+

Hashbang hacking for fun and, maybe in the future, profit

+

July 27, 2024 at 11:29AM

+

https://lucasew.capivaras.dev/blog/hashbang-hacking-for-fun-and-maybe-in-the-future-profit/

+
        <p><a href="https://lobste.rs/s/pdutgi/hashbang_hacking_for_fun_maybe_future">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jul 30 2024 at 06:55):

+

NixOS Option Inspection

+

July 29, 2024 at 11:53PM

+

https://fzakaria.com/2024/07/28/nixos-option-inspection.html

+
        <p><a href="https://lobste.rs/s/zgrtbd/nixos_option_inspection">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jul 31 2024 at 12:15):

+

Generating YAML files with Nix

+

July 31, 2024 at 05:12AM

+

https://kokada.capivaras.dev/blog/generating-yaml-files-with-nix/

+
        <p><a href="https://lobste.rs/s/yt1dsb/generating_yaml_files_with_nix">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Jul 31 2024 at 12:30):

+

Nix Community Survey 2024

+

July 31, 2024 at 05:23AM

+

https://survey.nixos.org/2024

+
        <p><a href="https://lobste.rs/s/uj7y4n/nix_community_survey_2024">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Aug 01 2024 at 13:05):

+

Mastering Nixpkgs Overlays: Techniques and Best Practice

+

August 01, 2024 at 06:03AM

+

https://nixcademy.com/posts/mastering-nixpkgs-overlays-techniques-and-best-practice/

+
        <p><a href="https://lobste.rs/s/miquoc/mastering_nixpkgs_overlays_techniques">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Aug 01 2024 at 16:11):

+

Troubleshoting: ZSH lag and solutions with Nix

+

August 01, 2024 at 09:08AM

+

https://kokada.capivaras.dev/blog/troubleshoting-zsh-lag-and-solutions-with-nix/

+
        <p><a href="https://lobste.rs/s/nkbkvl/troubleshoting_zsh_lag_solutions_with">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Aug 01 2024 at 22:35):

+

Quick bits: realise Nix symlinks

+

August 01, 2024 at 03:32PM

+

https://kokada.capivaras.dev/blog/quick-bits-realise-nix-symlinks/

+
        <p><a href="https://lobste.rs/s/ahmi0i/quick_bits_realise_nix_symlinks">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Aug 05 2024 at 21:50):

+

My favorite device is a Chromebook

+

August 05, 2024 at 02:45PM

+

https://kokada.capivaras.dev/blog/my-favorite-device-is-a-chromebook/

+
        <p><a href="https://lobste.rs/s/alojvh/my_favorite_device_is_chromebook">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Aug 09 2024 at 17:20):

+

TVL's blog: Tvix Status - August '24

+

August 09, 2024 at 10:18AM

+

https://tvl.fyi/blog/tvix-update-august-24

+
        <p><a href="https://lobste.rs/s/2o4rwd/tvl_s_blog_tvix_status_august_24">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Aug 11 2024 at 19:40):

+

Building static binaries in Nix

+

August 11, 2024 at 12:35PM

+

https://kokada.capivaras.dev/blog/building-static-binaries-in-nix/

+
        <p><a href="https://lobste.rs/s/snjs8q/building_static_binaries_nix">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Aug 12 2024 at 15:25):

+

A Flexible Minimalist Neovim for 2024

+

August 12, 2024 at 08:18AM

+

https://wickstrom.tech/2024-08-12-a-flexible-minimalist-neovim.html

+
        <p><a href="https://lobste.rs/s/nbtc9i/flexible_minimalist_neovim_for_2024">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Aug 13 2024 at 01:55):

+

Announcing Lix 2.91 "Dragon's Breath"

+

August 12, 2024 at 06:52PM

+

https://lix.systems/blog/2024-08-12-lix-2.91-release/

+
        <p><a href="https://lobste.rs/s/pqgy8b/announcing_lix_2_91_dragon_s_breath">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Aug 21 2024 at 13:10):

+

Libations: Tailscale on the Rocks

+

August 21, 2024 at 06:04AM

+

https://jnsgr.uk/2024/08/tailscale-on-the-rocks/

+
        <p><a href="https://lobste.rs/s/yitsls/libations_tailscale_on_rocks">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Aug 21 2024 at 18:25):

+

An unordered list of hidden gems inside NixOS

+

August 21, 2024 at 11:21AM

+

https://kokada.capivaras.dev/blog/an-unordered-list-of-hidden-gems-inside-nixos/

+
        <p><a href="https://lobste.rs/s/ymmale/unordered_list_hidden_gems_inside_nixos">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Aug 22 2024 at 18:05):

+

Hands-on NixOS servers

+

August 22, 2024 at 11:03AM

+

https://garnix.io/blog/hosting-nixos

+
        <p><a href="https://lobste.rs/s/frgtzy/hands_on_nixos_servers">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Aug 23 2024 at 07:25):

+

vpsAdminOS

+

August 23, 2024 at 12:22AM

+

https://vpsadminos.org/

+
        <p><a href="https://lobste.rs/s/ldc0bw/vpsadminos">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Aug 23 2024 at 13:01):

+

Poor man's Package Manager (only Statically Linked Binaries)

+

August 23, 2024 at 05:57AM

+

https://github.com/xplshn/dbin

+
        <p><a href="https://lobste.rs/s/iqxjee/poor_man_s_package_manager_only">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Aug 27 2024 at 17:50):

+

Function Types in Nix

+

August 27, 2024 at 10:49AM

+

https://garnix.io/blog/typed-function-types

+
        <p><a href="https://lobste.rs/s/bfsatm/function_types_nix">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Aug 29 2024 at 08:50):

+

Immutable Systems: NixOS + systemd-repart + systemd-sysupdate

+

August 29, 2024 at 01:45AM

+

https://x86.lol/generic/2024/08/28/systemd-sysupdate.html

+
        <p><a href="https://lobste.rs/s/qhafyy/immutable_systems_nixos_systemd_repart">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Aug 29 2024 at 15:15):

+

Getting Started with Nix for Haskell

+

August 29, 2024 at 08:11AM

+

https://abhinavsarkar.net/posts/nix-for-haskell/

+
        <p><a href="https://lobste.rs/s/7puewz/getting_started_with_nix_for_haskell">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Sep 04 2024 at 07:35):

+

Interactive NixOS tests

+

September 04, 2024 at 12:32AM

+

https://paperless.blog/interactive-nixos-tests

+
        <p><a href="https://lobste.rs/s/qr5v7q/interactive_nixos_tests">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Sep 09 2024 at 20:06):

+

Nix 2.24+ is vulnerable to (remote) privilege escalation

+

September 09, 2024 at 01:03PM

+

https://puckipedia.com/7hkj-98sq/qixt

+
        <p><a href="https://lobste.rs/s/ixb3v7/nix_2_24_is_vulnerable_remote_privilege">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Sep 09 2024 at 20:10):

+

Adding algebraic data types to Nickel

+

September 09, 2024 at 01:09PM

+

https://tweag.io/blog/2024-09-05-algebraic-data-types-nickel/

+
        <p><a href="https://lobste.rs/s/gsi9zk/adding_algebraic_data_types_nickel">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Sep 09 2024 at 22:16):

+

Bending Zed to render my beautiful fonts with Nix

+

September 09, 2024 at 03:11PM

+

https://nazrin.limited/phame/live/1/post/1/bending_zed_to_render_my_beautiful_fonts_with_nix/

+
        <p><a href="https://lobste.rs/s/4ar6eu/bending_zed_render_my_beautiful_fonts">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Sep 11 2024 at 10:40):

+

devenv 1.1: Nested Nix outputs using the module system

+

September 11, 2024 at 03:38AM

+

https://devenv.sh/blog/2024/09/11/devenv-11-nested-nix-outputs-using-the-module-system/

+
        <p><a href="https://lobste.rs/s/nvx2xb/devenv_1_1_nested_nix_outputs_using_module">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Sep 16 2024 at 18:21):

+

NixOS server up in minutes

+

September 16, 2024 at 11:12AM

+

https://gvolpe.com/blog/nixos-server/

+
        <p><a href="https://lobste.rs/s/txrmqm/nixos_server_up_minutes">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Sep 16 2024 at 18:31):

+

Nix Steering Committee Election 2024

+

September 16, 2024 at 11:27AM

+

https://discourse.nixos.org/t/nix-steering-committee-election-2024/52232

+
        <p><a href="https://lobste.rs/s/j73ada/nix_steering_committee_election_2024">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Sep 20 2024 at 05:25):

+

zb: An Early-Stage Build System

+

September 19, 2024 at 10:24PM

+

https://www.zombiezen.com/blog/2024/09/zb-early-stage-build-system/

+
        <p><a href="https://lobste.rs/s/lnfmcn/zb_early_stage_build_system">Comments</a></p>
+
+ + + + +

view this post on Zulip IFTTT (Sep 24 2024 at 13:15):

+

devenv 1.2: Tasks for convergent configuration with Nix

+

September 24, 2024 at 06:11AM

+

https://devenv.sh/blog/2024/09/24/devenv-12-tasks-for-convergent-configuration-with-nix/

+

<p><a href="https://lobste.rs/s/j0kz8g/devenv_1_2_tasks_for_convergent">Comments</a></p>

+ + + + +

view this post on Zulip IFTTT (Sep 26 2024 at 08:55):

+

Reproducible Data Science Environments with Nix

+

September 26, 2024 at 01:53AM

+

https://cran.r-project.org/web/packages/rix/index.html

+

<p><a href="https://lobste.rs/s/r1vvqf/reproducible_data_science_environments">Comments</a></p>

+ + + + +

view this post on Zulip IFTTT (Oct 02 2024 at 06:45):

+

NixOS is a good server OS, except when it isn't

+

October 01, 2024 at 11:39PM

+

https://sidhion.com/blog/posts/nixos_server_issues/

+

<p><a href="https://lobste.rs/s/qpbnhc/nixos_is_good_server_os_except_when_it_isn_t">Comments</a></p>

+ + + + +

view this post on Zulip IFTTT (Oct 03 2024 at 13:45):

+

devenv 1.3: Instant developer environments with Nix caching

+

October 03, 2024 at 06:44AM

+

https://devenv.sh/blog/2024/10/03/devenv-13-instant-developer-environments-with-nix-caching/

+

<p><a href="https://lobste.rs/s/rdksqy/devenv_1_3_instant_developer">Comments</a></p>

+ + + + +

view this post on Zulip IFTTT (Oct 11 2024 at 10:20):

+

Adapting Plan 9's listen to GNU Guix

+

October 11, 2024 at 03:17AM

+

https://the-dam.org/docs/explanations/Plan9ListenOnLinux.html

+

<p><a href="https://lobste.rs/s/tl0yuh/adapting_plan_9_s_listen_gnu_guix">Comments</a></p>

+ + + + +

view this post on Zulip IFTTT (Oct 11 2024 at 19:55):

+

Packaging an Elixir/Phoenix application with Nix

+

October 11, 2024 at 12:54PM

+

https://curiosum.com/blog/packaging-elixir-application-with-nix

+

<p><a href="https://lobste.rs/s/q1j6ng/packaging_elixir_phoenix_application">Comments</a></p>

+ + + + +

view this post on Zulip IFTTT (Oct 21 2024 at 11:10):

+

Guix Build User Takeover Vulnerability

+

October 21, 2024 at 04:01AM

+

https://guix.gnu.org/blog/2024/build-user-takeover-vulnerability//

+

<p><a href="https://lobste.rs/s/eerewn/guix_build_user_takeover_vulnerability">Comments</a></p>

+ + + + +

view this post on Zulip IFTTT (Oct 21 2024 at 12:16):

+

GNU Guix - Build User Takeover Vulnerability

+

October 21, 2024 at 05:13AM

+

https://guix.gnu.org/blog/2024/build-user-takeover-vulnerability/

+

<p><a href="https://lobste.rs/s/qejgdm/gnu_guix_build_user_takeover">Comments</a></p>

+ + + + +

view this post on Zulip IFTTT (Oct 22 2024 at 13:41):

+

devenv is switching Nix implementation to Tvix

+

October 22, 2024 at 06:35AM

+

https://devenv.sh/blog/2024/10/22/devenv-is-switching-nix-implementation-to-tvix/

+

<p><a href="https://lobste.rs/s/czlbno/devenv_is_switching_nix_implementation">Comments</a></p>

+ + + + +

view this post on Zulip IFTTT (Oct 22 2024 at 14:11):

+

Announcing Determinate Nix

+

October 22, 2024 at 07:08AM

+

https://determinate.systems/posts/announcing-determinate-nix/

+

<p><a href="https://lobste.rs/s/t0ange/announcing_determinate_nix">Comments</a></p>

+ + + + +

view this post on Zulip IFTTT (Oct 23 2024 at 15:00):

+

Using Nix to Fuzz Test a PDF Parser

+

October 23, 2024 at 07:57AM

+

https://mtlynch.io/nix-fuzz-testing-1/

+

<p><a href="https://lobste.rs/s/9rvhdm/using_nix_fuzz_test_pdf_parser">Comments</a></p>

+ + + + +

view this post on Zulip IFTTT (Oct 26 2024 at 00:45):

+

Nix Team member suggests dropping flakes; data suggest otherwise

+

October 25, 2024 at 05:42PM

+

https://discourse.nixos.org/t/announcing-determinate-nix/54709/72

+

<p><a href="https://lobste.rs/s/magfhw/nix_team_member_suggests_dropping_flakes">Comments</a></p>

+ + + + +

view this post on Zulip IFTTT (Nov 01 2024 at 03:06):

+

Building our Astro Starlight page with Nix & flake.parts

+

October 31, 2024 at 08:02PM

+

https://blog.eigenvalue.net/2024-astro-starlight-with-nix/

+

<p><a href="https://lobste.rs/s/ynv3ua/building_our_astro_starlight_page_with">Comments</a></p>

+ + + + +

view this post on Zulip IFTTT (Nov 05 2024 at 11:00):

+

The rise of advanced build systems

+

November 05, 2024 at 02:58AM

+

https://www.scalevp.com/insights/the-rise-of-advanced-build-systems/

+

<p><a href="https://lobste.rs/s/wzmpkd/rise_advanced_build_systems">Comments</a></p>

+ + + + +

view this post on Zulip IFTTT (Nov 05 2024 at 11:00):

+

comin: GitOps For NixOS Machines

+

November 05, 2024 at 02:59AM

+

https://github.com/nlewo/comin

+

<p><a href="https://lobste.rs/s/bfg7ll/comin_gitops_for_nixos_machines">Comments</a></p>

+ + + + +

view this post on Zulip IFTTT (Nov 08 2024 at 19:00):

+

Announcing Planet Nix

+

November 08, 2024 at 11:00AM

+

https://discourse.nixos.org/t/announcing-planet-nix/55350

+

<p>We’re doing another Nix conference in North America this year, and we’re calling it <a href="https://planetnix.com" rel="ugc">Planet Nix</a>!. We’re co-located with <a href="https://www.socallinuxexpo.org/scale/22x" rel="ugc">SCaLE</a> in Pasadena, CA. The conference will take place over March 6-7th, and the CFP deadline is approaching (December 9th). I know we have some Nix-appreciators in here and we’d love to have you!</p>
+<p>I’m one of the organizers (mostly on the program side), so feel free ask questions.</p>
+<p><a href="https://lobste.rs/s/0vipec/announcing_planet_nix">Comments</a></p>

+ + + + +

view this post on Zulip IFTTT (Nov 10 2024 at 10:30):

+

Using Nix to Fuzz Test a PDF Parser (Part Two)

+

November 10, 2024 at 02:27AM

+

https://mtlynch.io/nix-fuzz-testing-2/

+

<p>Follow up to <a href="https://lobste.rs/s/9rvhdm/using_nix_fuzz_test_pdf_parser" rel="ugc">https://lobste.rs/s/9rvhdm/using_nix_fuzz_test_pdf_parser</a></p>
+<p><a href="https://lobste.rs/s/ahshld/using_nix_fuzz_test_pdf_parser_part_two">Comments</a></p>

+ + + + +

view this post on Zulip IFTTT (Nov 13 2024 at 10:35):

+

Zig Reproduced Without Binaries

+

November 12, 2024 at 10:43PM

+

https://jakstys.lt/2024/zig-reproduced-without-binaries/

+

<p><a href="https://lobste.rs/s/xlmejv/zig_reproduced_without_binaries">Comments</a></p>

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415266-social-media/topic/StackOverflow.html b/stream/415266-social-media/topic/StackOverflow.html new file mode 100644 index 00000000000..8b833de33b9 --- /dev/null +++ b/stream/415266-social-media/topic/StackOverflow.html @@ -0,0 +1,285 @@ + +StackOverflow · social-media · Zulip Chat Archive +

Stream: social-media

+

Topic: StackOverflow

+ +
+ + + + + + +

view this post on Zulip Zapier (Nov 30 2023 at 01:55):

+

Loop over a list in NixOS using the value as an identifier?

+

Link: https://stackoverflow.com/questions/77569447/loop-over-a-list-in-nixos-using-the-value-as-an-identifier

+
+

In vhost.nix I want to add the users in a loop like the working example in httpd.virtualHosts.

+

This is the configuration.nix I am using in a virtual machine:

+

vm.nix

+

{ lib, config, ... }:

+

{

+

imports = [

+

./vhosts.nix

+

];

+

services.httpd.enable = true;

+

vhosts = {

+

"test.example.de" = {

+

customer = "web2";

+

phpuser = "web2www1";

+

};

+

"test2.example.de" = {

+

customer = "web3";

+

phpuser = "web3www1";

+

};

+

};

+

}

+

this my module vhost.nix

+

{ config, pkgs, lib, ... }:

+

with lib;

+

let

+

cfg = config.vhosts;

+

in

+

{

+

options.vhosts = lib.mkOption {

+

type = with lib.types; attrsOf (submodule ({domain, ... }: {

+

options = {

+

customer = mkOption {

+

type = str;

+

};

+

phpuser = mkOption {

+

type = str;

+

};

+

};

+

}));

+

};

+

config = {

+

services.httpd.virtualHosts = lib.mapAttrs (domain: cfg: {

+

documentRoot = "/srv/www/${cfg.customer}/${domain}";

+

}) cfg;

+

how do I solve this in a loop like above ?

+

users.users.web2www1.isNormalUser = true;

+

users.users.web3www1.isNormalUser = true;

+

};

+

}

+

how do I solve this in a loop like above ?

+
+

Published Date: 2023-11-29T08:06:37Z

+ + + + +

view this post on Zulip Zapier (Dec 01 2023 at 12:37):

+

How to allow "unfree" packages in Nix, for each situation?: {NixOS, Nix, Nix with Flakes, Nix with Flakes and Home Manager}

+

Link: https://stackoverflow.com/questions/77585228/how-to-allow-unfree-packages-in-nix-for-each-situation-nixos-nix-nix-wit

+
+

I'm trying to enable allow "unfree" packages, either globally or per-package, when using MyNixOS (excellent Flake configuration app for Nix) with Nix Flakes on Mac OS.

+

When trying to install any unfree package after the following Flake update and Darwin rebuild command:

+

cd ~/.nix/mynixos-nix-darwin-loader;

+

nix flake update;

+

darwin-rebuild switch --show-trace --flake .#name_of_my_config'

+

I get the following help message, which isn't very helpful because it doesn't consider the Flake scenario:

+

error: Package ‘ec2-api-tools-1.7.5.1’ in /nix/store/${hash}-source/pkgs/tools/virtualization/e

+

c2-api-tools/default.nix:36 has an unfree license (‘amazonsl’), refusing to evaluate.

+

a) To temporarily allow unfree packages, you can use an environment variable

+

for a single invocation of the nix tools.

+

$ export NIXPKGS_ALLOW_UNFREE=1

+

Note: For nix shell, nix build, nix develop or any other Nix 2.4+

+

(Flake) command, --impure must be passed in order to read this

+

environment variable.

+

b) For nixos-rebuild you can set

+

{ nixpkgs.config.allowUnfree = true; }

+

in configuration.nix to override this.

+

Alternatively you can configure a predicate to allow specific packages:

+

{ nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [

+

"ec2-api-tools"

+

];

+

}

+

c) For nix-env, nix-build, nix-shell or any other Nix command you can add

+

{ allowUnfree = true; }

+

to ~/.config/nixpkgs/config.nix.

+

Using MyNixOS downloads the following Flake file, and

+

/nix/store/${hash}-source/homeConfigurations/my_flake_name.nix :

+

{ inputs, ... }@flakeContext:

+

let

+

homeModule = { config, lib, pkgs, ... }: {

+

config = {

+

home = {

+

packages = [

+

ec2-api-tools

+

... more packages

+

];

+

stateVersion = "23.11";

+

};

+

nixpkgs = {

+

config = {

+

allowUnfree = true;

+

allowUnfreePredicate = (_: true);

+

allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [

+

"ec2-api-tools"

+

];

+

};

+

};

+

Which results in a configuration path for the allowUnfreePredicate setting: homeModule.config.nixpkgs.config.allowUnfreePredicate . Does that seem correct?

+

This configuration seems to make no difference, and installing unfree packages always results in the same error.

+

Exactly what needs to be done to allow unfree packages in each of these distinct scenarios?

+

NixOS

+

Nix

+

Nix with Flakes

+

Nix with Flakes and Home Manager

+

(Please edit the list or let me know if it doesn't make sense)

+

The advice from the following web pages didn't seem to apply, or I couldn't figure out how to apply it:

+

NixOS Discourse: Allow unfree in flakes

+

GitHub: nix-community/home-manager: #2942: bug: Flake config cannot use unfree packages despite nixpkgs.config.allowUnfree = true

+

GitHub: nix-community/home-manager: #2720: modules/default.nix: Add useNixpkgsModule parameter

+

Abandoned merge request

+
+

Published Date: 2023-12-01T12:21:17Z

+ + + + +

view this post on Zulip Zapier (Dec 10 2023 at 17:32):

+

How to override packages in a nix derivation?

+

Link: https://stackoverflow.com/questions/77635748/how-to-override-packages-in-a-nix-derivation

+
+

While developing a nix package, my default.nix looks like this:

+

let

+

pkgs = import <nixpkgs> {

+

config = { ... }

+

}

+

in pkgs.path.to.derivation

+

But when turning that into an actual package, the pkgs comes in as an argument. But adding a config to that doesn't seem to work:

+

{ pkgs, ... }:

+

let

+

pkgs_ = pkgs // { config = { ... } };

+

in pkgs_.path.to.derivation

+

How do I add the same config to an already existing package set?

+
+

Published Date: 2023-12-10T17:30:37Z

+ + + + +

view this post on Zulip Zapier (Dec 11 2023 at 07:11):

+

How to setup zsh-users/antigen with nix-env (non NixOS)?

+

Link: https://stackoverflow.com/questions/77637908/how-to-setup-zsh-users-antigen-with-nix-env-non-nixos

+
+

I installed antigen with nix-env -iA nixpkgs.antigen . After that, I have to source the antigen.zsh file into .zshrc but how do I get this file path from nix? Note that I am using macOS with nix-env . One way that I found is to get it from .nix-profile/shared/antigen/antigen.zsh but is it the best way to do it; if so, does it have any cons? Also, is there a $(brew --prefix) version for nix?

+
+

Published Date: 2023-12-11T06:58:55Z

+ + + + +

view this post on Zulip Zapier (Dec 13 2023 at 22:31):

+

How can I make a shell.nix that runs some code, only using inbuilt derivation function?

+

Link: https://stackoverflow.com/questions/77656854/how-can-i-make-a-shell-nix-that-runs-some-code-only-using-inbuilt-derivation-fu

+
+

I basically want to create my own simple version of mkShell , so now I'm trying to understand how it would even be possible to execute some code before the shell actually pops up. I googled for a bit, and came up with this:

+

let pkgs = import <nixpkgs> {}; in

+

derivation {

+

name = "hello";

+

shellHook = ''

+

echo "hello world!"

+

'';

+

system = builtins.currentSystem;

+

builder = "${pkgs.bash}/bin/bash";

+

args = [ ./setup.sh ];

+

}

+

From nix-shell documentation:

+

If the derivation defines the variable shellHook, it will be run after $stdenv/setup has been sourced. Since this hook is not executed by regular Nix builds, it allows you to perform initialisation specific to nix-shell. For example, the derivation attribute

+

shellHook =

+

''

+

echo "Hello shell"

+

export SOME_API_TOKEN="$(cat ~/.config/some-app/api-token)"

+

'';

+

But that doesn't output anything, although if I replace derivation {} with pkgs.mkShell {} , then it does. How can I make this behaviour work without actually using pkgs.mkShell ?

+
+

Published Date: 2023-12-13T22:25:51Z

+ + + + +

view this post on Zulip Zapier (Dec 14 2023 at 16:11):

+

How can I make home-manager use nixpkgs-23.11 in flake system configuration?

+

Link: https://stackoverflow.com/questions/77661475/how-can-i-make-home-manager-use-nixpkgs-23-11-in-flake-system-configuration

+
+

My flake.nix in /etc/nixos directory:

+

{

+

description = "A very basic flake";

+

inputs = {

+

nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";

+

home-manager = {

+

url = "github:nix-community/home-manager";

+

inputs.nixpkgs.follows = "nixpkgs";

+

};

+

};

+

outputs = { self, nixpkgs, home-manager, ... }@inputs:

+

let

+

system = "x86_64-linux";

+

pkgs = import nixpkgs {

+

inherit system;

+

config.allowUnfree = true;

+

};

+

in {

+

nixosConfigurations = rec {

+

default = nixpkgs.lib.nixosSystem {

+

specialArgs = { inherit inputs system; };

+

modules = [ ./configuration.nix home-manager.nixosModules.home-manager ];

+

};

+

nixos = default;

+

};

+

};

+

}

+

When I run it (installing home-manager for the first time), I get this log:

+

warning: creating lock file '/etc/nixos/flake.lock'

+

building the system configuration...

+

trace: warning: monkpatch profile: You are using

+

Home Manager version 24.05 and

+

Nixpkgs version 23.11.

+

Using mismatched versions is likely to cause errors and unexpected

+

behavior. It is therefore highly recommended to use a release of Home

+

Manager that corresponds with your chosen release of Nixpkgs.

+

If you insist then you can disable this warning by adding

+

home.enableNixpkgsReleaseCheck = false;

+

to your configuration.

+

And if I replace nixos-23.11 with nixos-unstable in nixpkgs.url (line 5), then the error disappears. But what if I want to use nixos-23.11 ? What do I do?

+
+

Published Date: 2023-12-14T15:58:41Z

+ + + + +

view this post on Zulip Zapier (Dec 14 2023 at 19:23):

+

How can I write a shell.nix for a Python environment that uses a custom PyPi location?

+

Link: https://stackoverflow.com/questions/77662568/how-can-i-write-a-shell-nix-for-a-python-environment-that-uses-a-custom-pypi-loc

+
+

I have a project that includes Python packages from a custom PyPi. How can I write a Nix shell.nix to use those packages, alongside others which are in the standard PyPi?

+
+

Published Date: 2023-12-14T19:11:11Z

+ + + + +

view this post on Zulip Zapier (Dec 19 2023 at 14:10):

+

How can I change group of /dev/usb on NixOs?

+

Link: https://stackoverflow.com/questions/77685716/how-can-i-change-group-of-dev-usb-on-nixos

+
+

I can't seem to change the group of /dev/usb on nixos. It remains root no matter what I try. I can change the mode though and that has an effect. Here is my configuration for this.

+

Configuration.nix:

+

services.udev.extraRules = ''

+

SUBSYSTEMS=="usb", MODE="0660", GROUP="plugdev" # Not working

+

SUBSYSTEM=="usb", MODE="0666" # Tested and has an effect

+

'';

+

users.groups.plugdev.members = [ "mcmah309" ];

+

cat /etc/group shows plugdev is created and my user is assigned.

+

ls -l /dev is still showing usb is in the root group.

+

I expect the group of /dev/usb to be plugdev .

+
+

Published Date: 2023-12-19T13:58:03Z

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415266-social-media/topic/r.2Fnixos.html b/stream/415266-social-media/topic/r.2Fnixos.html new file mode 100644 index 00000000000..9724bd49385 --- /dev/null +++ b/stream/415266-social-media/topic/r.2Fnixos.html @@ -0,0 +1,6696 @@ + +r/nixos · social-media · Zulip Chat Archive +

Stream: social-media

+

Topic: r/nixos

+ +
+ + + + + + +

view this post on Zulip Zapier (Nov 30 2023 at 01:49):

+

Announcing nixlang.wiki

+

Date: 2023-11-29T13:26:44+00:00
+Link: https://old.reddit.com/r/NixOS/comments/186pcmx/announcing_nixlangwiki/

+
+

We are happy to announce another unofficial community wiki, nixlang.wiki , as an alternative to the poorly maintained nixos.wiki . If Arch Linux can have such a nice wiki, why shouldn't we be able to?

+

To make the wiki less centralized, we have automatic, world readable backups of all articles to a git repository (https://github.com/nixlang-wiki/nixlang-wiki ), to make it easier to migrate from the wiki in the future if necessary.

+

We also just landed a feature that enables you to browse the wiki in your terminal, by download the entire wiki as man pages https://github.com/nixlang-wiki/nixlang-wiki/pull/2 . It's a bit primitive right now, but we plan to improve it.

+

So far we've been very glad to see the positive response from the community, and hope to see more contributions.

+

EDIT: the reason why we don't try to improve the old one is because that's impossible, the maintainer has gone awol https://github.com/nix-community/wiki/issues/46#issuecomment-1381989599 .

+

Also we have good reasons to think that situation won't be resolved anytime soon, and we couldn't have features like a git backup without going for a different wiki platform than the very outdated mediawiki version https://github.com/nix-community/wiki/issues/50 .

+

In the future, we expect to be able to migrate old nixos.wiki articles over to nixlang.wiki , so there really isn't much lost.

+

+

submitted by /u/cafkafk

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Nov 30 2023 at 03:07):

+

NixOS 23.11 released

+

Date: 2023-11-30T03:01:56+00:00
+Link: https://old.reddit.com/r/NixOS/comments/1878265/nixos_2311_released/

+
+

submitted by /u/mitchiebitchie

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Nov 30 2023 at 05:51):

+

Help Translating default.nix to flake.nix

+

Date: 2023-11-30T05:46:37+00:00
+Link: https://old.reddit.com/r/NixOS/comments/187b6s8/help_translating_defaultnix_to_flakenix/

+
+

There is a file that someone has made, but I am trying to get on the flakes train and translate it into a usable flake.nix file. It comes with the challenege of compiling a file from a repository on github. If someone could help walk me through how to turn this would be great!

+

{ lib, stdenv, fetchurl, zlib, bzip2, lzma, perl, ncurses }: stdenv.mkDerivation rec { version = "1.16.1"; name = "samtools-${version}"; src = fetchurl { url = "https://github.com/samtools/samtools/releases/download/${version}/${name}.tar.bz2"; sha256 = "01qxvygvq6m7m3vhlysdw5g1qkx1c182vly90wyz4k2rg1gs581g"; }; buildInputs = [ zlib bzip2 lzma perl ncurses ]; #patches = [ ./install-lib_1.13.patch ]; doCheck = false; installPhase = '' make prefix=$out install ''; meta = with lib; { description = "Tools for reading/writing/editing/indexing/viewing SAM/BAM/CRAM format"; license = licenses.free; homepage = "http://www.htslib.org"; platforms = platforms.unix; }; } For reference I am running NixOS on a 2020 Mac M1, so:

+

system: "aarch64-darwin"

+

submitted by /u/vanslife4511

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Nov 30 2023 at 14:08):

+

Am I doing this right?

+

Date: 2023-11-30T13:57:20+00:00
+Link: https://old.reddit.com/r/NixOS/comments/187j4bu/am_i_doing_this_right/

+
+

So, I'm trying to set up my own personal nixos config. From what I can tell i'm doing this sort of right... but I can't tell. Here's my general structure for organizing and doing everything:

+

:organize: NixOS | +-:book: README.md | +-:snowflake: flake.nix | +-:locked: flake.lock | +-🗄 .sops.yaml | +-:organize: system | | | +-:organize: global | | | | | +-:snowflake: config.nix | | | | | +-:snowflake: pkgs.nix | | | +-:organize: laptop | | | | | +-:snowflake: config.nix | | | | | +-:snowflake: hardware.nix | | | | | +-:snowflake: pkgs.nix | | | +-:organize: desktop | | | +-:snowflake: config.nix | | | +-:snowflake: hardware.nix | | | +-:snowflake: pkgs.nix | +-:organize: home | | | +-:organize: global | | | | | +-:snowflake: home.nix | | | | | +-:organize: modules | | | | | +-:organize: ags | | | | | | | +-:snowflake: default.nix | | | | | +-:organize: hyprland | | | | | | | +-:snowflake: default.nix | | | | | +-:organize: neovim | | | | | +-:snowflake: default.nix | | | +-:organize: laptop | | | | | +-:snowflake: home.nix | | | | | +-:organize: modules | | | +-:organize: desktop | | | +-:snowflake: home.nix | | | +-:organize: modules | +-:organize: secrets | | | +-:organize: global | | | | | +-🗄 secrets.yaml | | | +-:organize: laptop | | | | | +-🗄 secrets.yaml | | | +-:organize: desktop | | | +-🗄 secrets.yaml | +-:organize: overlays | | | +-:organize: global | | | | | +-:snowflake: overlay.nix | | | | | +-:organize: retroarch | | | | | +-:snowflake: default.nix | | | +-:organize: laptop | | | | | +-:snowflake: overlay.nix | | | +-:organize: desktop | | | +-:snowflake: overlay.nix | +-:organize: assets | +-:organize: images | +-:organize: screenshots | +-:mountain_sunrise: desktop.jpg | +-:mountain_sunrise: neovim.jpg Thanks for your insights

+

submitted by /u/VerySpaghetti

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Nov 30 2023 at 14:08):

+

Am I doing this right?

+

Date: 2023-11-30T13:57:20+00:00
+Link: https://old.reddit.com/r/NixOS/comments/187j4bo/am_i_doing_this_right/

+
+

So, I'm trying to set up my own personal nixos config. From what I can tell i'm doing this sort of right... but I can't tell. Here's my general structure for organizing and doing everything:

+

:organize: NixOS | +-:book: README.md | +-:snowflake: flake.nix | +-:locked: flake.lock | +-🗄 .sops.yaml | +-:organize: system | | | +-:organize: global | | | | | +-:snowflake: config.nix | | | | | +-:snowflake: pkgs.nix | | | +-:organize: laptop | | | | | +-:snowflake: config.nix | | | | | +-:snowflake: hardware.nix | | | | | +-:snowflake: pkgs.nix | | | +-:organize: desktop | | | +-:snowflake: config.nix | | | +-:snowflake: hardware.nix | | | +-:snowflake: pkgs.nix | +-:organize: home | | | +-:organize: global | | | | | +-:snowflake: home.nix | | | | | +-:organize: modules | | | | | +-:organize: ags | | | | | | | +-:snowflake: default.nix | | | | | +-:organize: hyprland | | | | | | | +-:snowflake: default.nix | | | | | +-:organize: neovim | | | | | +-:snowflake: default.nix | | | +-:organize: laptop | | | | | +-:snowflake: home.nix | | | | | +-:organize: modules | | | +-:organize: desktop | | | +-:snowflake: home.nix | | | +-:organize: modules | +-:organize: secrets | | | +-:organize: global | | | | | +-🗄 secrets.yaml | | | +-:organize: laptop | | | | | +-🗄 secrets.yaml | | | +-:organize: desktop | | | +-🗄 secrets.yaml | +-:organize: overlays | | | +-:organize: global | | | | | +-:snowflake: overlay.nix | | | | | +-:organize: retroarch | | | | | +-:snowflake: default.nix | | | +-:organize: laptop | | | | | +-:snowflake: overlay.nix | | | +-:organize: desktop | | | +-:snowflake: overlay.nix | +-:organize: assets | +-:organize: images | +-:organize: screenshots | +-:mountain_sunrise: desktop.jpg | +-:mountain_sunrise: neovim.jpg Thanks for your insights

+

submitted by /u/VerySpaghetti

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Nov 30 2023 at 14:24):

+

Black screen after adding Nvidia drivers

+

Date: 2023-11-30T14:13:08+00:00
+Link: https://old.reddit.com/r/NixOS/comments/187jgr2/black_screen_after_adding_nvidia_drivers/

+
+

Hey /r/nixos ,

+

Posting here in hopes somebody else has ran into this. I have nixos on my desktop which works great, however after enable nvidia drivers with this config:

+

services.xserver.videoDrivers = ["nvidia"]; hardware.nvidia = { modesetting.enable = true; open = false; nvidiaSettings = true; package = config.boot.kernelPackages.nvidiaPackages.beta; }; Lightdm loads fine, however after logging in my screen flashes then goes blank with only my cursor showing. Switching to another tty I can see the card in nvidia-smi, and no errors in xorg or display-manager. This is a desktop setup (i9-12900K and RTX 3070 Ti)

+

The only thing is I can see 'Deleted GPU-0' inside my xorg log, so im currently investigating any of the generated nvidia xorg configs.

+

Any help would be appreciated!

+

submitted by /u/StartupChild

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Nov 30 2023 at 17:28):

+

Improper font(?) rendering in Calibre E-book Viewer

+

Date: 2023-11-30T17:18:23+00:00
+Link: https://old.reddit.com/r/NixOS/comments/187nr6e/improper_font_rendering_in_calibre_ebook_viewer/

+
+

I installed NixOS with flakes using the unstable channel with KDE Plasma. I use the wayland session, and it is scaled to 150% automatically since my display is 1440p. Calibre itself looks fine on my display, so do all the other apps.

+

But when I open the Calibre e-book viewer, the font (and the reader UI too) is rendered in a weird way: https://imgur.com/a/mUjhiCz . It used to render fine on my previous Arch installation.

+

The same document looks crystal clear on my Macbook Pro too. I don't think fonts are the problem since stuff like the :cross_mark: for closing the reader from its menu is also blurred/blocky.

+

Any idea why this is happening?

+

P.S. The books render fine when opening them from the browser using the built-in webserver.

+

submitted by /u/EQuioMaX

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Nov 30 2023 at 20:17):

+

Change hardware config to use labels

+

Date: 2023-11-30T20:01:46+00:00
+Link: https://old.reddit.com/r/NixOS/comments/187rm0i/change_hardware_config_to_use_labels/

+
+

I'm working my way through the NixOS installation guide. I've come to the essential changes in the configuration.nix.

+

It is fairly detailed in the commands and then it says "change hardware config to use labels"

+

Can anyone elaborate on this?

+

submitted by /u/penguinmatt

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Nov 30 2023 at 23:29):

+

Where can I download the man pages for Nix?

+

Date: 2023-11-30T23:24:51+00:00
+Link: https://old.reddit.com/r/NixOS/comments/187wibr/where_can_i_download_the_man_pages_for_nix/

+
+

Title

+

I just installed nix on my gentoo box from this overlay: https://github.com/trofi/nix-guix-gentoo

+

No man pages included, and seems like any --help just references the man pages

+

So I try to build it with the doc use flag, which provides documentation for packages

+

That fails, because the ebuild is unable to download one of the 219(!!!!) rust crates required for a backend that checks links for a tool that I assume creates troff from markdown.

+

That's the most revolting thing I've seen since I saw create-react-app barf over 200 MB onto disk, including 19 copies of the same node package.

+

Where can I just download the troff TUVM?

+

submitted by /u/aktivb

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 01 2023 at 00:02):

+

I really apologize. I accidentaly upgraded to 24.05

+

Date: 2023-11-30T23:49:55+00:00
+Link: https://old.reddit.com/r/NixOS/comments/187x302/i_really_apologize_i_accidentaly_upgraded_to_2405/

+
+

+

https://preview.redd.it/7wzeg4tjok3c1.png?width=1044&format=png&auto=webp&s=7b0e0d9946dae32c1d472bef1d81b8163de8fe80

+

submitted by /u/cfx_4188

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 01 2023 at 00:02):

+

23.11 nvidiaPackages.stable appears to be installing 545, is that correct?

+

Date: 2023-12-01T00:01:10+00:00
+Link: https://old.reddit.com/r/NixOS/comments/187xbws/2311_nvidiapackagesstable_appears_to_be/

+
+

On 23.11 I'm getting the 545.29.02 driver by default. The 545 driver is still a beta driver, as far as I'm aware. Shouldn't config.boot.kernelPackages.nvidiaPackages.stable be the 535.129.03 driver?

+

For anyone with this issue config.boot.kernelPackages.nvidiaPackages.production is still 535 if you want to switch back.

+

Sorry if there is a more appropriate forum for this, I'm new.

+

submitted by /u/Ruck0

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 01 2023 at 03:02):

+

Font missing.

+

Date: 2023-12-01T03:00:21+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18817ak/font_missing/

+
+

I've been trying to solve the problem for 4 days, this symbol (᲼) is missing, I have the following fonts:

+

fonts = { fontDir = { enable = true; }; fontconfig = { enable = true; antialias = true; hinting.enable = true; }; fonts = with pkgs; [ (nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; }) noto-fonts-cjk-serif noto-fonts-cjk-sans noto-fonts-emoji noto-fonts overpass ]; }; ​

+

submitted by /u/Varmisanth

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 01 2023 at 03:47):

+

Custom Oh-My-Zsh Theme Install

+

Date: 2023-12-01T03:38:26+00:00
+Link: https://old.reddit.com/r/NixOS/comments/1881z5w/custom_ohmyzsh_theme_install/

+
+

im trying to figure out how to install a custom theme for oh-my-zsh. its an external theme file, that is not part of the OMZSH "themes" in the wiki. in a normal OS, i would drop the theme file into the .oh-my-zsh/themes directory, and call it out in the appropriate config file.. Not sure how to do it here.

+

submitted by /u/nymobster

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 01 2023 at 06:22):

+

Is nixOS a good desktop distro?

+

Date: 2023-12-01T06:17:21+00:00
+Link: https://old.reddit.com/r/NixOS/comments/1884xbj/is_nixos_a_good_desktop_distro/

+
+

Hi everyone! So I discovered nixOS pretty recently and I love the concept of it but I watched some YouTube videos of it and most people mention it's good for businesses but no really said anything about using as a daily driver. So I wanted to ask here, is nixOS good for a desktop distro? I mainly just do some light gaming and listen to music on my PC.

+

submitted by /u/Deliantomov

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 01 2023 at 08:24):

+

Quick question on getting steamtinkerlaunch working in nixos:

+

Date: 2023-12-01T08:22:19+00:00
+Link: https://old.reddit.com/r/NixOS/comments/1886uxg/quick_question_on_getting_steamtinkerlaunch/

+
+

[root@nixos:~]# echo $STEAM_EXTRA_COMPAT_TOOL_PATHS

+

+

[root@nixos:~]# ls $STEAM_EXTRA_COMPAT_TOOL_PATHS/SteamTinkerLaunch/steamtinkerlaunch

+

/SteamTinkerLaunch/steamtinkerlaunch

+

+

As you can see echo is not returning anything, so how do you set this path environment variable in configuration.nix? I can't remember the exact code.

+

+

submitted by /u/zeta_00

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 01 2023 at 08:41):

+

Switching from Arch Linux

+

Date: 2023-12-01T08:25:20+00:00
+Link: https://old.reddit.com/r/NixOS/comments/1886wgg/switching_from_arch_linux/

+
+

Hi :)

+

I've recently heard of NixOS, and i found its concept of "functional configuration" really cool. I'm currently using Arch linux, with Hyprland and AGS, so i've already dipped my feet in this mindset of configuring the system via config files

+

I just wanted to ask some questions, before switching:

+

Is it simple to use? I don't mean easy , i imagine it'll take some time to learn, i mean if, after learning, updating/upgrading/managing the system is simple to do, and doesn't take a lot of time Is there any prominent missing package? I originally switched to Arch from Fedora because of the seemingly neverending availability of packges via pacman and the AUR. Did you find, in your experience, some important package that was not available on Nix? (I mainly use my pc to code, browse, draw and animate) Does it "like" dual boot? I only have a laptop, and i usually install in dual boot Windows, for gaming. Does NixOs have some peculiar quirk when dual booting, aside form the usual ones? Do you have some general beginner's tips? Those are all my questions, for now. Thanks in advance :)

+

submitted by /u/InKeaton

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 01 2023 at 12:52):

+

Build tauri app for NixOS

+

Date: 2023-12-01T12:47:29+00:00
+Link: https://old.reddit.com/r/NixOS/comments/188b2dk/build_tauri_app_for_nixos/

+
+

Hey!

+

I have access to the source code of an App built with Tauri that I want to package for NixOS.

+

As per Tauri's docs it supports bundling as a .deb or .AppImage.

+

I was wondering if there's a way to compile it into a NixOS compatible binary directly, so that it can be added to nixpkgs. Or if I have to go through the hassle as packaging it as one of the two, then extracting it and cherry pick the necessary dependencies to get it to run on my NixOS machine.

+

Thank you in advance! :)

+

submitted by /u/OakArtz

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 01 2023 at 14:12):

+

How to install a ".run" file.

+

Date: 2023-12-01T14:08:09+00:00
+Link: https://old.reddit.com/r/NixOS/comments/188cqad/how_to_install_a_run_file/

+
+

I need help getting a .run file to run.

+

Specifically these ones: xPilot-Client

+

I tried running the file normally and with steam-run but both result in an error:

+

Normal: fish: Job 1, './xPilot-2.0.0-beta.52-Linux.run' terminated by signal SIGSEGV (Address boundary error) Steam-Run: /nix/store/hzls2l9a86q9v2x0q6g2s4yfla8nwyyl-steam-run: line 19: exec: xPilot-2.0.0-beta.52-Linux.run : not found

+

+

submitted by /u/FinnLiry

+

[link] [comments]

+
+ + + + +

view this post on Zulip Srid (Dec 01 2023 at 14:14):

+

/me changed the RSS feed to use the top weekly page

+ + + + +

view this post on Zulip Zapier (Dec 01 2023 at 16:14):

+

Am I doing this right?

+

Date: 2023-11-30T13:57:20+00:00
+Link: https://old.reddit.com/r/NixOS/comments/187j4bo/am_i_doing_this_right/

+
+

So, I'm trying to set up my own personal nixos config. From what I can tell i'm doing this sort of right... but I can't tell. Here's my general structure for organizing and doing everything:

+

:organize: NixOS | +-:book: README.md | +-:snowflake: flake.nix | +-:locked: flake.lock | +-🗄 .sops.yaml | +-:organize: system | | | +-:organize: global | | | | | +-:snowflake: config.nix | | | | | +-:snowflake: pkgs.nix | | | +-:organize: laptop | | | | | +-:snowflake: config.nix | | | | | +-:snowflake: hardware.nix | | | | | +-:snowflake: pkgs.nix | | | +-:organize: desktop | | | +-:snowflake: config.nix | | | +-:snowflake: hardware.nix | | | +-:snowflake: pkgs.nix | +-:organize: home | | | +-:organize: global | | | | | +-:snowflake: home.nix | | | | | +-:organize: modules | | | | | +-:organize: ags | | | | | | | +-:snowflake: default.nix | | | | | +-:organize: hyprland | | | | | | | +-:snowflake: default.nix | | | | | +-:organize: neovim | | | | | +-:snowflake: default.nix | | | +-:organize: laptop | | | | | +-:snowflake: home.nix | | | | | +-:organize: modules | | | +-:organize: desktop | | | +-:snowflake: home.nix | | | +-:organize: modules | +-:organize: secrets | | | +-:organize: global | | | | | +-🗄 secrets.yaml | | | +-:organize: laptop | | | | | +-🗄 secrets.yaml | | | +-:organize: desktop | | | +-🗄 secrets.yaml | +-:organize: overlays | | | +-:organize: global | | | | | +-:snowflake: overlay.nix | | | | | +-:organize: retroarch | | | | | +-:snowflake: default.nix | | | +-:organize: laptop | | | | | +-:snowflake: overlay.nix | | | +-:organize: desktop | | | +-:snowflake: overlay.nix | +-:organize: assets | +-:organize: images | +-:organize: screenshots | +-:mountain_sunrise: desktop.jpg | +-:mountain_sunrise: neovim.jpg Thanks for your insights

+

submitted by /u/VerySpaghetti

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 01 2023 at 18:19):

+

Switching from Arch Linux

+

Date: 2023-12-01T08:25:20+00:00
+Link: https://old.reddit.com/r/NixOS/comments/1886wgg/switching_from_arch_linux/

+
+

Hi :)

+

I've recently heard of NixOS, and i found its concept of "functional configuration" really cool. I'm currently using Arch linux, with Hyprland and AGS, so i've already dipped my feet in this mindset of configuring the system via config files

+

I just wanted to ask some questions, before switching:

+

Is it simple to use? I don't mean easy , i imagine it'll take some time to learn, i mean if, after learning, updating/upgrading/managing the system is simple to do, and doesn't take a lot of time Is there any prominent missing package? I originally switched to Arch from Fedora because of the seemingly neverending availability of packges via pacman and the AUR. Did you find, in your experience, some important package that was not available on Nix? (I mainly use my pc to code, browse, draw and animate) Does it "like" dual boot? I only have a laptop, and i usually install in dual boot Windows, for gaming. Does NixOs have some peculiar quirk when dual booting, aside form the usual ones? Do you have some general beginner's tips? Those are all my questions, for now. Thanks in advance :)

+

submitted by /u/InKeaton

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 01 2023 at 19:22):

+

How to enable global compiler optimization?

+

Date: 2023-11-25T13:23:48+00:00
+Link: https://old.reddit.com/r/NixOS/comments/183jo9e/how_to_enable_global_compiler_optimization/

+
+

I tried a lot of stdenv , ccWrap , and similar techniques, but none of them worked out well. Eventually, I found this post here , and I took some reference and wrote the following Nix configuration: nix { lib, ... }: { nix.settings.system-features = lib.mkForce [ "gccarch-x86-64-v3" "benchmark" "big-parallel" "kvm" "nixos-test" ]; nixpkgs.hostPlatform.system = "x86_64-linux"; nixpkgs.hostPlatform.gcc.arch = "x86-64-v3"; nix.buildMachines = [{ hostName = "localhost"; systems = [ "x86_64-linux" ]; supportedFeatures = [ "gccarch-x86-64-v3" "benchmark" "big-parallel" "kvm" "nixos-test" ]; maxJobs = 20; }]; nix.distributedBuilds = true; } But every time I run nixos-rebuild switch , the following error is observed, despite I specified the system as having gccarch-x86-64-v3 . error: a 'x86_64-linux' with features {gccarch-x86-64-v3} is required to build '/nix/store/82sfaiz7vijssydjh5rfjazxqv4gb23n-bootstrap-stage0-glibc-bootstrapFiles.drv', but I am a 'x86_64-linux' with features {benchmark, big-parallel, kvm, nixos-test} So how can I potentially enable such feature on the local machine?

+

submitted by /u/XiaoKeAi1

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 01 2023 at 22:21):

+

Should I use Devenv.sh, flakes, Docker or directly NixOS config?

+

Date: 2023-12-01T17:42:14+00:00
+Link: https://old.reddit.com/r/NixOS/comments/188hqwi/should_i_use_devenvsh_flakes_docker_or_directly/

+
+

Hi,

+

I started to use NixOS on my main computer since yesterday and it works great :)

+

Today I would like to start coding, but I would prefer not to hardcode languages in my NixOS config. To be portable/reproducible on a CI or whatever.

+

I saw the devenv project when I was on arch (and try it a bit but that is all)

+

But now that I'm on NixOS, is it a good idea? Is there a better way?

+

Thanks

+

submitted by /u/MyKiwi

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 02 2023 at 04:17):

+

Build tauri app for NixOS

+

Date: 2023-12-01T12:47:29+00:00
+Link: https://old.reddit.com/r/NixOS/comments/188b2dk/build_tauri_app_for_nixos/

+
+

Hey!

+

I have access to the source code of an App built with Tauri that I want to package for NixOS.

+

As per Tauri's docs it supports bundling as a .deb or .AppImage.

+

I was wondering if there's a way to compile it into a NixOS compatible binary directly, so that it can be added to nixpkgs. Or if I have to go through the hassle as packaging it as one of the two, then extracting it and cherry pick the necessary dependencies to get it to run on my NixOS machine.

+

Thank you in advance! :)

+

submitted by /u/OakArtz

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 02 2023 at 09:10):

+

23.11 nvidiaPackages.stable appears to be installing 545, is that correct?

+

Date: 2023-12-01T00:01:10+00:00
+Link: https://old.reddit.com/r/NixOS/comments/187xbws/2311_nvidiapackagesstable_appears_to_be/

+
+

On 23.11 I'm getting the 545.29.02 driver by default. The 545 driver is still a beta driver, as far as I'm aware. Shouldn't config.boot.kernelPackages.nvidiaPackages.stable be the 535.129.03 driver?

+

For anyone with this issue config.boot.kernelPackages.nvidiaPackages.production is still 535 if you want to switch back. (Edit: maybe don’t switch, I’m having trouble now I’ve swapped to production and rebooted)

+

Sorry if there is a more appropriate forum for this, I'm new.

+

submitted by /u/Ruck0

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 02 2023 at 16:14):

+

Home Manager outside of NixOS, just for dotfiles

+

Date: 2023-11-29T12:22:34+00:00
+Link: https://old.reddit.com/r/NixOS/comments/186o61u/home_manager_outside_of_nixos_just_for_dotfiles/

+
+

After a decade on Arch Linux I've decided to try and move to NixOS. I decided to start with Home Manager: a small step which I can later build on. I've wanted to improve my dotfiles configuration for a while anyways.

+

I set up Home Manager and configured a few programs with it, but now that I understand more of how it works I have a problem: it seems that Home Manager requires Nix to be installed and even with a minimal setup Nix takes GBs of storage and it defaults to install all the programs I wish to use even if the host system already provides them.

+

I use a bunch of non-Nix systems on which I have a small filesystem or a small Quota: university machines, friends' VPSs, existings servers and VMs etc. I can't afford to install Nix and GBs of data just to configure a few dotfiles for the already installed shell, editor etc. The Home Manager I just set up has way too much overhead to be used on these systems.

+

Is it possible to limit the overhead of Home Manager?

+

How do you guys deal with it?

+

Do you configure your dotfiles both with Home Manager (for the systems with Nix) and without (for the systems that don't), or did you find a better solution?

+

submitted by /u/IRunArchLinuxBTW

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 02 2023 at 18:16):

+

I've setup autoUpgrades on my NixOS system, but how do I check it's working?

+

Date: 2023-11-27T17:13:58+00:00
+Link: https://old.reddit.com/r/NixOS/comments/185808k/ive_setup_autoupgrades_on_my_nixos_system_but_how/

+
+

I've set up autoUpgrades on my NixOS system, but how do I check it's working and doing updates?

+

system.autoUpgrade = { enable = true; dates = "daily"; persistent = true; operation = "boot"; }; ​

+

+

submitted by /u/untrained9823

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 02 2023 at 20:17):

+

Getting Distrobox to work on Nixos or any other Linux Distro

+

Date: 2023-11-27T16:08:34+00:00
+Link: https://old.reddit.com/r/NixOS/comments/1856g0u/getting_distrobox_to_work_on_nixos_or_any_other/

+
+

submitted by /u/kalosdaemon

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 03 2023 at 08:17):

+

nixCats-nvim update: v2.0 dropped

+

Date: 2023-12-02T23:53:12+00:00
+Link: https://old.reddit.com/r/NixOS/comments/189gjd1/nixcatsnvim_update_v20_dropped/

+
+

https://github.com/BirdeeHub/nixCats-nvim

+

This is a kickstarter style neovim repo, where you put in your lua and the rigging for nixos options and the project specific packages and stuff is done for you just by putting you plugins in arbitrary categories and enabling them or not per package.

+

Then in the lua, you can add an if statement that says, if this package is included, also set up this thing. Simply require('nixCats').categoryname

+

You can do a lot more than that with nixCats but that's the basics. Its actually an entire communication system from nix to lua.The plugin for that is called nixCats and you can access it whenever you want in your neovim config. It has in-editor help that will explain.

+

Now the final outputs of the flake.nix that you interact with are much cleaner.

+

Importing overlays defined in other people's versions of nixCats is now easier.

+

More information is now accessible to categoryDefinitions set.

+

Help has been updated as well to match all changes.

+

No further updates planned, outside of running nix flake update,and monitoring breaking changes of any nvim plugins the flake has

+

By the way, the name stands for nix categories. It is for making categories of plugins/lsps/whatever that then becomes nixOS options and stuff and can be included in different packages for project specific direnv stuff. All while staying simple and mostly in lua.

+

READ THE DOCS :help nixCats.*

+

I have put effort into making sure it has all the capabilities I can possibly think of in terms of nix, without impacting the simplicity of the flake.nix file. Please let me know if there are more options related to either the legacy wrapper or the new wrapper for neovim that I should make into categories, I have a function for doing that and could do it in 2-6 lines if asked, and do so without it being a breaking change. That being said, if its the new wrapper, I'm probably just going to tell you to put it in your wrapper args pass through section in your category definitions because that just directly sends things to the new wrapper but by category.

+

submitted by /u/no_brains101

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 03 2023 at 12:23):

+

What means "reproducible" for NixOS?

+

Date: 2023-12-02T17:58:32+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18996ty/what_means_reproducible_for_nixos/

+
+

Does "reproducible" for NixOS means that all binaries (OS and packages) can be reproduced from sources by anybody else and they will have same hash as binaries that are produced by NixOS team?

+

submitted by /u/Alex_df_300

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 03 2023 at 17:25):

+

I'm loving NixOS

+

Date: 2023-12-03T16:00:41+00:00
+Link: https://old.reddit.com/r/NixOS/comments/189whj1/im_loving_nixos/

+
+

So, until recently I knew nothing about nix or NixOS other than seeing occasional references to it on social media, or a note about using it to install something in some random project's README...

+

Then a few days before Thanksgiving I saw a social media thread where the OP had asked people why they like nix, and I spent a while reading responses and got more and more interested, and... Well, I jumped down that rabbit's hole.

+

So, now, a few weeks later I've reinstalled my laptop, desktop and home server using a shared config in a git repo. I am also working on getting a few macs using nix and home-manager as well, and will be reinstalling my kids' computers shortly as well.

+

Anyway, this morning I ran into an issue. I had previously had the backlight working properly on my laptop, but somehow something I had changed in my configuration had broken that and I hadn't noticed. I'm not sure how long it had been broken though.

+

So, I started digging and found that the /sys/class/backlight/intel_backlight/brightness wasn't owned by the video group as it should be. So, I googled a bit, and poked at settings and then was about to post here and ask for help when I remembered that I can just grep through the nixpkgs repo.

+

Anyway, a quick grep later and I realized my problem. I've been trying to move as much config as I can to home-manager (because I intend to have multiple users on my systems and I want as much as my config as possible to run on mac as well). So, as part of that effort I replaced programs.light.enable = true; with home.packages = [ pkgs.light ];

+

The latter got me the program, but didn't turn on the matching udev rules. So, I added the original line back. I'm fine with that now that I understand why that needs to be in the system config and not a user config.

+

Anyway, this was just me trying to say how much I love this system, because it is all built on the same concepts. Yes, the concepts are complex but they are logical and once you understand them you can understand the entire OS. It is turtles all the way down.

+

tldr; I love NixOS and thought you should know.

+

submitted by /u/_minego

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 03 2023 at 19:22):

+

why is modern nixos better? am i missing something?

+

Date: 2023-12-03T16:24:33+00:00
+Link: https://old.reddit.com/r/NixOS/comments/189wzne/why_is_modern_nixos_better_am_i_missing_something/

+
+

i've been using it for a few weeks now, and it seems as though everyone uses home-manager and flakes. i don't get the benefits of both uses, i mostly use it just like i used my arch and debian systems but every package and system setting i have is declared in configuration.nix for it to be a lot cleaner, easier to fix and comprehensible. is there something im missing?

+

submitted by /u/qwool1337

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 04 2023 at 03:22):

+

Advent of Code, nix style?

+

Date: 2023-12-04T00:37:13+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18a7yz2/advent_of_code_nix_style/

+
+

Anyone doing advent of code and using nix to manage the projects? Well, I am! I think advent can be a great promotional time for nix because a lot of people are solving the exact same problem at the same time, and we get curious to see and run others' solutions.

+

But the problem here is running the other solutions --- it's too much bother to do it, unless you have nix! I mean I'd love to run other people's solutions in different language, but only if the cost is low, like running a flake from someone's git repo.

+

So in that spirit, here's my advent repo, powered by nix. The readme should be sufficient to get going. If anyone else is up for this, I'd love to run your solutions too!

+

https://github.com/idrisr/advent2023

+

submitted by /u/hippoyd

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 04 2023 at 05:10):

+

What are the upsides of using Home Manager?

+

Date: 2023-12-03T16:19:20+00:00
+Link: https://old.reddit.com/r/NixOS/comments/189wvnf/what_are_the_upsides_of_using_home_manager/

+
+

So I've been reading and experimenting on NixOS, and love the ability to define my OS as a config file rather than having to write a setup script to get my system up and running how I want it.

+

Recently I stumbled upon Home Manager, and maybe It's just me but I don't really understand what are the upsides of using it.

+

The main selling point seems to be that it lets you set your configuration files declaratively.

+

But config file are already declarative, so why should I choose to write my config files in a way that only works with Home Manager when I can just write (and re-use) config files like we've always done and have them working anywhere by default?

+

What am I missing?

+

submitted by /u/GloriousParrot75

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 04 2023 at 20:14):

+

(Noob question) Which version of nixpkgs does a command like "nix run nixpkgs#hello" refer to?

+

Date: 2023-12-04T13:30:02+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18ak81y/noob_question_which_version_of_nixpkgs_does_a/

+
+

For a long time, I assumed that when I ran "nix run nixpkgs#...", I was referring to the Nix channel named "nixpkgs" on my system. However, now that I've completely converted my NixOS configs to a flake, I've deleted my Nix channels, and this command still works.

+

This makes me wonder, which version of nixpkgs does this resolve to? Does it just fetch the most recent version from GitHub?

+

submitted by /u/codemonkey1991

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 05 2023 at 00:23):

+

Trouble getting mullvad vpn working on 24.05.20231129.e92039b (Uakari)

+

Date: 2023-12-04T20:21:53+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18atao4/trouble_getting_mullvad_vpn_working_on/

+
+

Hey everyone,

+

I have been having some trouble getting mullvad vpn to work on the latest version of nixos and I need some help.

+

+

systemctl status mullvadvpn-daemon.

+

nixos-version

+

The following is my github repo where the code is hosted: https://github.com/morphykuffour/nix.git

+

This is a link to the actual module for mullvadvpn:

+

https://github.com/morphykuffour/nix/blob/main/modules/mullvad/default.nix

+

+

mullvadvpn config

+

Is there a version of nixos which mullvad works on if so maybe I can switch to that? the service according to systemd starts and stops. I need some help debugging. Any help would greatly be appreciated.

+

submitted by /u/JediMasterMorphy

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 05 2023 at 02:20):

+

How to use/test KDE Plasma 6 - Click the Nix Flake hyperlink

+

Date: 2023-12-03T22:17:36+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18a5063/how_to_usetest_kde_plasma_6_click_the_nix_flake/

+
+

submitted by /u/MySpermIs-Unvaxxd-01

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 05 2023 at 05:18):

+

Efficient Nix Derivations with File Sets

+

Date: 2023-12-05T02:58:26+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18b20rd/efficient_nix_derivations_with_file_sets/

+
+

submitted by /u/arashinoshizukesa

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 05 2023 at 10:22):

+

why is the nixos installation manual instructing to imperatively add a user instead of declaratively adding one in the configuration.nix?

+

Date: 2023-12-05T06:32:28+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18b5v34/why_is_the_nixos_installation_manual_instructing/

+
+

submitted by /u/MySpermIs-Unvaxxd-01

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 06 2023 at 03:10):

+

I need a good point to start

+

Date: 2023-12-03T21:32:06+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18a3yko/i_need_a_good_point_to_start/

+
+

I want to rewrite my dotfiles in nix to use them in conjunction with home-manager outside nixos (other linux/darwin)

+

I made a research and found a couple of resources to start:

+
    +
  • +

    nix pills

    +
  • +
  • +

    nix tutorial on gitlab

    +
  • +
  • +

    zero to nix

    +
  • +
+

What do you recommend as an entry point and so on to understand how to write and manage dotfiles in nix?

+

submitted by /u/xrabbit

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 06 2023 at 04:12):

+

Nix flakes + IDE integration?

+

Date: 2023-12-05T14:47:00+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18bdjse/nix_flakes_ide_integration/

+
+

Hey!

+

I'm curious how nix flakes work together with developer specific tools. I want to use nix to set up common tooling (linting, build, lsp) amongst my team members. However, I would also like people to remain autonomous in their choice of editor and ideally they shouldn't need to touch the nix flake for their IDE setup.

+

Is this something Nix supports? I.E. can I access the lsp server run by nix with my vim editor, and someone else can access it using vscode without touching the nix flake?

+

submitted by /u/XzwordfeudzX

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 06 2023 at 13:19):

+

Announcing our Nix clone of the CNCF landscape, landscape.nixlang.wiki

+

Date: 2023-12-06T10:54:45+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18c1go7/announcing_our_nix_clone_of_the_cncf_landscape/

+
+

I’m happy to announce https://landscape.nixlang.wiki/ , a daughter project of https://nixlang.wiki , aiming to map the various Nix and Nix adjacent projects, and make them easier for beginners to discover.

+

The project is based on landscape2, the upcoming rust version of the CNCF landscape, of which we maintain our own fork with some changes GitHub - nixlang-wiki/landscape2: Landscape2 is a tool that generates interactive landscapes websites .

+

While the project is still early in its development cycle, it’s no longer in its infancy, and we believe that most people should be able to contribute additions to the landscape at this point, and if not, we’ll gladly receive issues with suggestions and see what we can do at GitHub - nixlang-wiki/nixos-landscape: The Landscape of NixOS and associated projects .

+

We hope to see your contributions, and can’t wait to see how the landscape will look once it gets filled out.

+

submitted by /u/cafkafk

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 06 2023 at 14:25):

+

Why is Waybar under programs but Polybar under services in home manager?

+

Date: 2023-12-03T23:39:36+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18a6sgc/why_is_waybar_under_programs_but_polybar_under/

+
+

https://mipmip.github.io/home-manager-option-search/?query=polybar

+

vs

+

https://mipmip.github.io/home-manager-option-search/?query=waybar

+

submitted by /u/SitAndWatchA24

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 06 2023 at 14:25):

+

Operation not permitted during install

+

Date: 2023-12-03T08:08:50+00:00
+Link: https://old.reddit.com/r/NixOS/comments/189oyak/operation_not_permitted_during_install/

+
+

Hi all, brand new to NixOS here. While following the NixOS installation guide: https://nixos.wiki/wiki/NixOS_Installation_Guide , it throws this error when I run nixos-install:

+

copying channel...

+

error: changing ownership of path '/mnt/nix/store': Operation not permitted

+

As you can see from the screenshots below, I've already tried running it directly as root. I performed the steps provided in the instructions except I did not make a swap file or label the partitions.

+

Platform: VirtualBox

+

HW specs (virtual): 2 CPUs w/ 5Gb of RAM

+

Any ideas on how to fix this? Does it have anything to do with the fact /mnt/boot was formatted to VFAT?

+

https://preview.redd.it/l5y0kl4ye14c1.png?width=1440&format=png&auto=webp&s=ebfaf861ef68b4be6aa2ed4d0366bf7d0b0c8653

+

https://preview.redd.it/fmtxn376f14c1.png?width=1440&format=png&auto=webp&s=4829a6e420096178b300c8f636029519611bbe55

+

https://preview.redd.it/3ep60ph8f14c1.png?width=1440&format=png&auto=webp&s=ada7cd5aa17ba63060d2f11a66c3257839e0e2cd

+

submitted by /u/I_hit_my_sister

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 06 2023 at 22:11):

+

Does NixOs have something similar to archinstall for automated installation?

+

Date: 2023-12-06T18:16:05+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18ca9fr/does_nixos_have_something_similar_to_archinstall/

+
+

SOLVED PS: thank for the help, everyone!

+

submitted by /u/xrabbit

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 07 2023 at 05:06):

+

system.autoUpgrade.channel

+

Date: 2023-12-02T17:42:00+00:00
+Link: https://old.reddit.com/r/NixOS/comments/1898uci/systemautoupgradechannel/

+
+

i use this on configuration.nix

+

system.autoUpgrade.channel = " https://github.com/NixOS/nixpkgs/archive/master.tar.gz ";

+

then my channel is

+

nix-channel --list

+

nixos https://nixos.org/channels/nixos-23.11

+

my question:

+

after run nixos-rebuild boot --upgrade, does "nixos" channel automatically change to https://github.com/NixOS/nixpkgs/archive/master.tar.gz ?

+

+

+

submitted by /u/Legitimate_Item_9683

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 07 2023 at 07:12):

+

Sometimes printing is completed without printing

+

Date: 2023-12-06T20:44:20+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18cdpsu/sometimes_printing_is_completed_without_printing/

+
+

I have a Brother laser printer DCP-1612W and when I print some PDFs with images the job is flagged as completed even if nothing was printed (but the printer makes some noise). Printing the same from Ubuntu works fine. In cups log I cannot find anything useful.

+

My print config:

+

{ config, pkgs, users, lib, ... }: let ip = "192.168.1.4"; model = "DCP-1612W"; in { services.printing.enable = true; programs.system-config-printer.enable = true; hardware.sane.enable = true; services.avahi = { enable = true; nssmdns = true; openFirewall = true; }; services.printing.drivers = with pkgs; [ brlaser ]; hardware.printers = { ensureDefaultPrinter = "Brother"; ensurePrinters = [{ name = "Brother"; location = "cjase"; description = "Brother ${model}"; deviceUri = "ipp://${ip}/ipp"; model = "drv:///brlaser.drv/br1600.ppd"; ppdOptions = { PageSize = "A4"; }; }]; }; hardware.sane.brscan4 = { enable = true; netDevices = { cjase = { inherit model ip; }; }; }; } cups logs:

+

journalctl --follow --unit=cups Dec 06 21:24:31 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:31 PereBook cupsd[177160]: [Job 95] Adding start banner page "none". Dec 06 21:24:31 PereBook cupsd[177160]: [Job 95] Queued on "Brother" by "dpd-". Dec 06 21:24:31 PereBook cupsd[177160]: REQUEST localhost - - "POST /printers/Brother HTTP/1.1" 200 567 Create-Job successful-ok Dec 06 21:24:31 PereBook cupsd[177160]: [Job 95] File of type application/postscript queued by "dpd-". Dec 06 21:24:31 PereBook cupsd[177160]: [Job 95] Adding end banner page "none". Dec 06 21:24:31 PereBook cupsd[177160]: [Job 95] Started filter /nix/store/0ynxwkwr0vc021y1v0kljjdzp10vgd67-cups-progs/lib/cups/filter/gstopdf (PID 178823) Dec 06 21:24:31 PereBook cupsd[177160]: [Job 95] Started filter /nix/store/0ynxwkwr0vc021y1v0kljjdzp10vgd67-cups-progs/lib/cups/filter/pdftopdf (PID 178824) Dec 06 21:24:31 PereBook cupsd[177160]: [Job 95] Started filter /nix/store/0ynxwkwr0vc021y1v0kljjdzp10vgd67-cups-progs/lib/cups/filter/gstoraster (PID 178825) Dec 06 21:24:31 PereBook cupsd[177160]: [Job 95] Started filter /nix/store/0ynxwkwr0vc021y1v0kljjdzp10vgd67-cups-progs/lib/cups/filter/rastertobrlaser (PID 178826) Dec 06 21:24:31 PereBook cupsd[177160]: [Job 95] Started backend /nix/store/0ynxwkwr0vc021y1v0kljjdzp10vgd67-cups-progs/lib/cups/backend/ipp (PID 178827) Dec 06 21:24:31 PereBook cupsd[177160]: REQUEST localhost - - "POST /printers/Brother HTTP/1.1" 200 3542310 Send-Document successful-ok Dec 06 21:24:32 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:33 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:34 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:35 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:36 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:37 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:38 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:39 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:40 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:41 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:41 PereBook cupsd[177160]: Brother dpd- 95 [06/Dec/2023:21:24:41 +0100] total 1 1 localhost 2023.pdf A4 one-sided Dec 06 21:24:41 PereBook cupsd[177160]: [Job 95] Job completed. Dec 06 21:24:41 PereBook cupsd[177160]: Expiring subscriptions...

+

submitted by /u/DPD-

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 07 2023 at 14:22):

+

Black screen after adding Nvidia drivers

+

Date: 2023-11-30T14:13:08+00:00
+Link: https://old.reddit.com/r/NixOS/comments/187jgr2/black_screen_after_adding_nvidia_drivers/

+
+

Hey /r/nixos ,

+

Posting here in hopes somebody else has ran into this. I have nixos on my desktop which works great, however after enable nvidia drivers with this config:

+

services.xserver.videoDrivers = ["nvidia"]; hardware.nvidia = { modesetting.enable = true; open = false; nvidiaSettings = true; package = config.boot.kernelPackages.nvidiaPackages.beta; }; Lightdm loads fine, however after logging in my screen flashes then goes blank with only my cursor showing. Switching to another tty I can see the card in nvidia-smi, and no errors in xorg or display-manager. This is a desktop setup (i9-12900K and RTX 3070 Ti)

+

The desktop environment (i3) starts because I can reboot my computer blind after opening a terminal with keyboard commands.

+

The only thing is I can see 'Deleted GPU-0' inside my xorg log, so im currently investigating any of the generated nvidia xorg configs.

+

Any help would be appreciated!

+

submitted by /u/StartupChild

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 07 2023 at 15:23):

+

GNOME - Cannot login after 23.11-Upgrade

+

Date: 2023-12-07T12:05:30+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18cu6jh/gnome_cannot_login_after_2311upgrade/

+
+

Yesterday I upgraded to stable channel 23.11. After that I can no longer login with any of my users. I get thrown back into the login screen.

+

This here is the journalctl-extract from my latest try:

+

Dez 07 12:57:06 flixos systemd[2229]: Starting GNOME Shell on Wayland... Dez 07 12:57:06 flixos systemd[2229]: GNOME Shell on X11 was skipped because of an unmet condition check (ConditionEnvironment=XDG_SESSION_TYPE=x11). Dez 07 12:57:06 flixos systemd[2229]: Started Application launched by gnome-session-binary. Dez 07 12:57:06 flixos dbus-daemon[2240]: [session uid=1000 pid=2240] Activating via systemd: service name='org.gtk.vfs.Daemon' unit='gvfs-daemon.service' requested by '> Dez 07 12:57:06 flixos systemd[2229]: Starting Virtual filesystem service... Dez 07 12:57:06 flixos dbus-daemon[2240]: [session uid=1000 pid=2240] Successfully activated service 'org.gtk.vfs.Daemon' Dez 07 12:57:06 flixos systemd[2229]: Started Virtual filesystem service. Dez 07 12:57:06 flixos .gnome-shell-wr[2372]: Running GNOME Shell (using mutter 45.1) as a Wayland display server Dez 07 12:57:06 flixos rtkit-daemon[1945]: Successfully made thread 2405 of process 2372 owned by '1000' RT at priority 20. Dez 07 12:57:06 flixos .gnome-shell-wr[2372]: Made thread 'KMS thread' realtime scheduled Dez 07 12:57:06 flixos .gnome-shell-wr[2372]: Device '/dev/dri/card0' prefers shadow buffer Dez 07 12:57:06 flixos systemd[2229]: org.gnome.Shell@wayland.service: Main process exited, code=killed, status=9/KILL Dez 07 12:57:06 flixos systemd[2229]: org.gnome.Shell@wayland.service: Failed with result 'signal'. Dez 07 12:57:06 flixos systemd[2229]: Failed to start GNOME Shell on Wayland. Dez 07 12:57:06 flixos systemd[2229]: org.gnome.Shell@wayland.service: Triggering OnFailure= dependencies. Dez 07 12:57:06 flixos systemd[2229]: Stopped target GNOME Wayland Session. Dez 07 12:57:06 flixos systemd[2229]: Stopping Virtual filesystem service... Dez 07 12:57:06 flixos systemd[2229]: Stopped target GNOME Session Manager is ready. Dez 07 12:57:06 flixos systemd[2229]: Stopped target GNOME Shell. Dez 07 12:57:06 flixos systemd[2229]: Stopping GNOME Session Manager (session: gnome)... It basically says nothing. Does someone have an idea? I reloaded my 23.05-system and it works. Currently I switched over to X11 for writing this post and debugging.

+

coredumpctl seems to not show anything regarding this problem. I have entries but they happened almost 2h ago.

+

Thank's in advance.

+

submitted by /u/OriginalJohann

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 07 2023 at 22:15):

+

Can I use a later kernel?

+

Date: 2023-12-07T19:31:59+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18d3ftz/can_i_use_a_later_kernel/

+
+

I have a new Framework laptop and I've read that to run 2x32GB of memory I will need to use a kernel > 6.5. The current stable kernel is well above this but I know that NixOS is behind. (I'm still awaiting the memory so playing in a VM)

+

I know I can change the kernel by changing boot.kernelPackages.

+

Following the instructions at nixos.wiki/wiki/Linux_kernel I tried to use "nix repl" to list available kernels. However when running the "pkgs.linuxPackages" command it just threw a load of errors and I didn't get the answer to my question.

+

So, firstly can someone guide me to get the list of available kernels and then I can see for myself whether it is possible or not?

+

Alternatively, if someone was able to answer my question directly then it might put a stop to my NixOS experiment before it has begun or it might get me past the first hurdle.

+

submitted by /u/penguinmatt

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 08 2023 at 00:20):

+

How to switch channel back to 23.05 from 23.11?

+

Date: 2023-12-07T06:00:34+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18cp0dy/how_to_switch_channel_back_to_2305_from_2311/

+
+

Hey! I've searched for quite a while, and couldn't really figure out what I was really looking for. I'm also quite noob so please be patient with me! Recently, I tried to install a service that was only available for 23.11, so I changed my channel and upgraded, but after upgrading it didn't really interact well with everything and caused a bunch of headaches. I don't really think it's necessary to go into all of those details, it's just not something I'm really interested in spending the time fixing. I went back to a previous build, and am going about it that way for now, but is there anyway to set the channel back to 23.05 and rebuild safely? I'm not using flakes or anything, if that's something that matters.

+

submitted by /u/viewtiful_

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 08 2023 at 02:18):

+

How does the security/trustworthiness of software from nixpkgs unstable compare to the Debian or Fedora official repos?

+

Date: 2023-12-05T11:55:49+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18badxz/how_does_the_securitytrustworthiness_of_software/

+
+

My understanding of the Nix system is very surface-level; to me it's just an easy way to get rolling-release versions of almost anything on my Fedora machine without dependency hell. As I understand it, Nix manages to have so many packages because the design enables partial automation of creating and maintaining packages. So how do the Nix community's protocols for minimizing the risk of malicious packages compare to those of Fedora or Debian? Is installing from nixpkgs unstable more like installing from main repos of traditional distributions, or should a similar level of care be taken as when installing from the AUR? Has there ever been a known case of malware making it into the nix repos?

+

submitted by /u/DaveRubinsLeftNut

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 08 2023 at 06:20):

+

Easy to use speech-to-text software using Nix

+

Date: 2023-12-07T18:53:58+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18d2kmt/easy_to_use_speechtotext_software_using_nix/

+
+

Hi Nix enthusiasts!

+

I just wanted to show you a project I’ve been working on (https://github.com/Quoteme/whisper-input ). Using this project, you are able to write text by using your voice. My main goal for this project was to be simple (as small and clean a codebase as possible), powerful (state-of-the-art speech recognition) and easy to use. I solved the last part using Nix, which I am a great fan of. Now, all you need to do to write text into any text-input using your voice is to run the following command while focusing on said text-input:

+

nix run github:quoteme/whisper-input This command shows you a notification that you should start speaking. Once you have started speaking, just continue speaking as long as you like and then stop when you are finished. After you have stopped speaking, the text you have said will automatically be typed using your keyboard.

+

I just wanted to share this here, because I am pretty amazed by how easy sharing my small little project has become by using nix :)

+

submitted by /u/Lalelul

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 08 2023 at 11:26):

+

Flakes Question (because I'm a noob)

+

Date: 2023-12-07T20:44:36+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18d53s4/flakes_question_because_im_a_noob/

+
+

I've tried to wrap my head around flakes a few times and I just don't get them. I think I need to just start using them to get it to "click" in my head, but I'm not even sure how to start using them.

+

Are there any resources, guides, or walk-throughs that can baby-step me through the process of starting writing my own flakes, using others, or just getting the concepts down?

+

submitted by /u/Senkyou

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 08 2023 at 15:16):

+

I need some tips on setting up a screen saver in NixOS and Gnome using Nix:

+

Date: 2023-12-08T09:51:08+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18djhhr/i_need_some_tips_on_setting_up_a_screen_saver_in/

+
+

I'm using NixOS and Gnome and I'm trying to setup a screen saver that randomly shuffles through dynamic wallpapers. The way I need it to work is to have a timer set so if I don't press any input such as a keyboard, mouse, or game controller, after that set time limit, the screen saver will pop up and render the randomly shuffled dynamic wallpapers, which will again randomly shuffle after a set time limit, but, if I press any input it right away goes back to the screen I was working on that way I don't have to sign in over and over again.

+

+

https://www.omglinux.com/dynamic-wallpapers-for-gnome-desktop/

+

These wallpapers look beautiful, but I'm not sure if these wallpapers can be setup in a screen saver in NixOS as well?

+

+

I'm doing this to help prevent screen burn in on my Samsung G8 QD OLED gaming monitor, I already have other burn in settings setup on this monitor, but I want to setup this screen saver just to be sure that I don't get burn in.

+

Thanks in advance for the help.

+

submitted by /u/zeta_00

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 08 2023 at 16:26):

+

Why is the documentation... nowhere to be found?!

+

Date: 2023-12-08T15:44:23+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18dpl62/why_is_the_documentation_nowhere_to_be_found/

+
+

I'm trying to switch to NixOS from Arch Linux. I encountered a bunch of issues. Not a big deal - I'm used to it. I'm sure I can find the documentation for this. Or so I thought.

+

I'm interested in NixOS because I find the concept of having a reproducible system extremely useful. It's one of the greatest ideas I've encountered as far as operating systems go, but it's plagued by one big issue.

+

People claim NixOS has many problems. Some dislike the language because it's functional, others want binary compatibility with other systems etc. But none of these are as real and as off-putting (in my opinion) as the lack of good documentation.

+

The problems of having bad/nonexistent documentation are (beside the natural anger and frustration of new users):

+

Fixing issues takes a lot longer than it should - the community is very able and willing to help, don't get me wrong, but it's a lot more time-consuming to write forum posts explaining your issue to someone else or to dig through forums for answers than to search the official documentation. It's confusing - when there is no documentation, usually there are two possibilities: the task you are trying to achieve is absolutely trivial and requires no explanation or what you want is not supported. Not on NixOS. GnuPG is a great example for this. The Arch Wiki's documentation page is great and you can find it just by googling it (seriously, try it). The same cannot be said about NixOS (but I can't get it to be fully functional by just adding the package to the config and rebuilding the system). The learning curve is, as a result, much steeper. Not only is it hard to get a system up and running, it's hard to change it and use it proficiently.

+

So, why is the documentation terse or nonexistent? Are there any efforts to change this?

+

EDIT: I, personally don't think the language is a problem. I don't have enough experience with it to say this and I like the fact that it's functional. I must say, though that a general purpose programming language (Haskell, for example, or Lua if you want an easy language and don't care about it being purely declarative and functional) could be better, simply because it is also useful in other contexts.

+

submitted by /u/nicolasdumitru

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 09 2023 at 03:12):

+

NixOS and mergerfs

+

Date: 2023-12-08T21:48:49+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18dxmwi/nixos_and_mergerfs/

+
+

I was just looking into mergerfs and was surprised that there was no module or specific options for it on NixOS.

+

I was wondering how people were configuring mergerfs on their systems. Via a systemd unit maybe?

+

submitted by /u/henry_tennenbaum

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 09 2023 at 06:18):

+

What is the current recommended documentation when starting out with NixOs?

+

Date: 2023-12-08T18:23:15+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18dt2ql/what_is_the_current_recommended_documentation/

+
+

After using Arch for a few years, I would like to dive into NixOs. However, a lot of documentation I find seems to be outdated.

+

What is the currently recommended documentation/guide/whatever when starting out with NixOs?

+

submitted by /u/CerealBit

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 09 2023 at 08:18):

+

flake-parts system config + hm

+

Date: 2023-12-08T07:33:48+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18dhmb5/flakeparts_system_config_hm/

+
+

Is there a step-by-step tutorial on how to use flake-parts for system configuration (ideally with home-manager)? The documentation is too abstract for me.

+

The published repos on github of people using flake-parts all look very different, and I cannot comprehend why they do things different.

+

submitted by /u/zeec123

+

[link] [comments]

+
+ + + + +

view this post on Zulip Shivaraj B H (Dec 09 2023 at 21:48):

+

Zapier said:

+
+

Why is the documentation... nowhere to be found?!

+

Date: 2023-12-08T15:44:23+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18dpl62/why_is_the_documentation_nowhere_to_be_found/

+
+

I'm trying to switch to NixOS from Arch Linux. I encountered a bunch of issues. Not a big deal - I'm used to it. I'm sure I can find the documentation for this. Or so I thought.

+

I'm interested in NixOS because I find the concept of having a reproducible system extremely useful. It's one of the greatest ideas I've encountered as far as operating systems go, but it's plagued by one big issue.

+

People claim NixOS has many problems. Some dislike the language because it's functional, others want binary compatibility with other systems etc. But none of these are as real and as off-putting (in my opinion) as the lack of good documentation.

+

The problems of having bad/nonexistent documentation are (beside the natural anger and frustration of new users):

+

Fixing issues takes a lot longer than it should - the community is very able and willing to help, don't get me wrong, but it's a lot more time-consuming to write forum posts explaining your issue to someone else or to dig through forums for answers than to search the official documentation. It's confusing - when there is no documentation, usually there are two possibilities: the task you are trying to achieve is absolutely trivial and requires no explanation or what you want is not supported. Not on NixOS. GnuPG is a great example for this. The Arch Wiki's documentation page is great and you can find it just by googling it (seriously, try it). The same cannot be said about NixOS (but I can't get it to be fully functional by just adding the package to the config and rebuilding the system). The learning curve is, as a result, much steeper. Not only is it hard to get a system up and running, it's hard to change it and use it proficiently.

+

So, why is the documentation terse or nonexistent? Are there any efforts to change this?

+

EDIT: I, personally don't think the language is a problem. I don't have enough experience with it to say this and I like the fact that it's functional. I must say, though that a general purpose programming language (Haskell, for example, or Lua if you want an easy language and don't care about it being purely declarative and functional) could be better, simply because it is also useful in other contexts.

+

submitted by /u/nicolasdumitru

+

[link] [comments]
+

+
+
+

I have had similar complaints from friends who tried NixOS for the first time. Special emphasis on documentation and “why nix as a language? Why not Haskell?”

+ + + + +

view this post on Zulip Zapier (Dec 10 2023 at 00:17):

+

NixThePlanet - Run macOS, Windows and more via a single Nix command + nixosModules

+

Date: 2023-12-09T21:36:17+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18enprc/nixtheplanet_run_macos_windows_and_more_via_a/

+
+

submitted by /u/matthew-croughan

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 10 2023 at 00:17):

+

Composable configuration bundles?

+

Date: 2023-12-09T12:24:37+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18ecjgz/composable_configuration_bundles/

+
+

New to Nix. I've spent a few hours reading docs and looking at public dotfiles but haven't been able to answer my own question, I was hoping someone could point me in the right direction!

+

I'm using the flake-in-a-dotfiles-repo approach and I know I can define several configurations, say one for work, one for development, one for music, for example. This works nicely. My desire is to have composable configuration bundles that can be mixed and matched on various machines.

+

For example, on my home laptop, I might have music configuration (say a DAW package plus rt audio priority). I'd like to be able to add another configuration (eg rustup and emacs for Rust development) on top of it, and then remove it again when I'm done, leaving me with just the music config. If I take my work laptop on a trip, I could add the gaming config to it for the weekend. Then I need to do my day job on it again, and I can remove the gaming config to save disk space. After some work I need to publish a big PDF, so I would enable my LaTeX setup temporarily. Of course, these "subconfigurations" would have to be compatible, the work config couldn't set say different permissions for a directory to the music one if I wanted to enable both.

+

In case it makes it any clearer, some imaginary syntax that would make sense for this could be like

+

nixos-rebuild switch --flake .#music + .#latex + .#rustdev

+

Since this doesn't exist, is there a way to do this in NixOS? Or would I have to define each desired combination of configuration bundles separately in the flake, like defining "music+rust+gaming" as well as "music+rust", "music+gaming" etc?

+

Apologies if I have missed some obvious documentation somewhere.

+

submitted by /u/NextTimeJim

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 10 2023 at 02:13):

+

Flickering with NVIDIA

+

Date: 2023-12-09T21:35:42+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18enpbf/flickering_with_nvidia/

+
+

Hi. I want to move over to NixOS on my laptop so I created my simple build here: https://github.com/radek-stasta/nixos

+

Everything looks pretty good, everything works as expected, when I use only my laptop screen. But then when I connect external HDMI monitor into my NVIDIA port, Im experiencing annoying flickering on that monitor mainly cursor when writing something or when scrolling pages. I tried several settings in NixOS and Hyprland configs, but nothing worked. Can somebody please point me the right direction how to solve it? This is the only issue I have that prevents me from fully switch to Nix. Thanks a lot for any help.

+

submitted by /u/RaadushS

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 10 2023 at 16:15):

+

GNOME - Cannot login after 23.11-Upgrade

+

Date: 2023-12-07T12:05:30+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18cu6jh/gnome_cannot_login_after_2311upgrade/

+
+

Yesterday I upgraded to stable channel 23.11. After that I can no longer login with any of my users. I get thrown back into the login screen.

+

This here is the journalctl-extract from my latest try:

+

Dez 07 12:57:06 flixos systemd[2229]: Starting GNOME Shell on Wayland... Dez 07 12:57:06 flixos systemd[2229]: GNOME Shell on X11 was skipped because of an unmet condition check (ConditionEnvironment=XDG_SESSION_TYPE=x11). Dez 07 12:57:06 flixos systemd[2229]: Started Application launched by gnome-session-binary. Dez 07 12:57:06 flixos dbus-daemon[2240]: [session uid=1000 pid=2240] Activating via systemd: service name='org.gtk.vfs.Daemon' unit='gvfs-daemon.service' requested by '> Dez 07 12:57:06 flixos systemd[2229]: Starting Virtual filesystem service... Dez 07 12:57:06 flixos dbus-daemon[2240]: [session uid=1000 pid=2240] Successfully activated service 'org.gtk.vfs.Daemon' Dez 07 12:57:06 flixos systemd[2229]: Started Virtual filesystem service. Dez 07 12:57:06 flixos .gnome-shell-wr[2372]: Running GNOME Shell (using mutter 45.1) as a Wayland display server Dez 07 12:57:06 flixos rtkit-daemon[1945]: Successfully made thread 2405 of process 2372 owned by '1000' RT at priority 20. Dez 07 12:57:06 flixos .gnome-shell-wr[2372]: Made thread 'KMS thread' realtime scheduled Dez 07 12:57:06 flixos .gnome-shell-wr[2372]: Device '/dev/dri/card0' prefers shadow buffer Dez 07 12:57:06 flixos systemd[2229]: org.gnome.Shell@wayland.service: Main process exited, code=killed, status=9/KILL Dez 07 12:57:06 flixos systemd[2229]: org.gnome.Shell@wayland.service: Failed with result 'signal'. Dez 07 12:57:06 flixos systemd[2229]: Failed to start GNOME Shell on Wayland. Dez 07 12:57:06 flixos systemd[2229]: org.gnome.Shell@wayland.service: Triggering OnFailure= dependencies. Dez 07 12:57:06 flixos systemd[2229]: Stopped target GNOME Wayland Session. Dez 07 12:57:06 flixos systemd[2229]: Stopping Virtual filesystem service... Dez 07 12:57:06 flixos systemd[2229]: Stopped target GNOME Session Manager is ready. Dez 07 12:57:06 flixos systemd[2229]: Stopped target GNOME Shell. Dez 07 12:57:06 flixos systemd[2229]: Stopping GNOME Session Manager (session: gnome)... It basically says nothing. Does someone have an idea? I reloaded my 23.05-system and it works. Currently I switched over to X11 for writing this post and debugging.

+

coredumpctl seems to not show anything regarding this problem. I have entries but they happened almost 2h ago.

+

Thank's in advance.

+

submitted by /u/OriginalJohann

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 10 2023 at 17:15):

+

(Noob question) Which version of nixpkgs does a command like "nix run nixpkgs#hello" refer to?

+

Date: 2023-12-04T13:30:02+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18ak81y/noob_question_which_version_of_nixpkgs_does_a/

+
+

For a long time, I assumed that when I ran "nix run nixpkgs#...", I was referring to the Nix channel named "nixpkgs" on my system. However, now that I've completely converted my NixOS configs to a flake, I've deleted my Nix channels, and this command still works.

+

This makes me wonder, which version of nixpkgs does this resolve to? Does it just fetch the most recent version from GitHub?

+

submitted by /u/codemonkey1991

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 11 2023 at 01:15):

+

Ultimate NixOS Guide | Flakes | Home-manager

+

Date: 2023-12-10T19:47:48+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18fbmv9/ultimate_nixos_guide_flakes_homemanager/

+
+

submitted by /u/Goxore

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 11 2023 at 14:18):

+

Nix flakes + IDE integration?

+

Date: 2023-12-05T14:47:00+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18bdjse/nix_flakes_ide_integration/

+
+

Hey!

+

I'm curious how nix flakes work together with developer specific tools. I want to use nix to set up common tooling (linting, build, lsp) amongst my team members. However, I would also like people to remain autonomous in their choice of editor and ideally they shouldn't need to touch the nix flake for their IDE setup.

+

Is this something Nix supports? I.E. can I access the lsp server run by nix with my vim editor, and someone else can access it using vscode without touching the nix flake?

+

submitted by /u/XzwordfeudzX

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 11 2023 at 19:16):

+

Install NixOS with Flake configuration on Git

+

Date: 2023-12-11T15:27:23+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18fx2bn/install_nixos_with_flake_configuration_on_git/

+
+

submitted by /u/shivaraj-bh

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 12 2023 at 03:19):

+

nixCats-nvim: v3.0.0 nixOS and homeCats

+

Date: 2023-12-11T15:47:57+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18fxiwm/nixcatsnvim_v300_nixos_and_homecats/

+
+

How do you configure neovim from nix? People talk about project specific packages, do they

+

really make entirely new flakes for every project, or all use nixVim? Well, yeah, they did. But not anymore!! Now you can use your own lua, and still have all that.

+

https://github.com/BirdeeHub/nixCats-nvim

+

now additionally outputs actual home manager and nixos modules generated from your lua and categories rather than just options for other flakes.

+

now exports templates to make the entire process as easy as possible.

+

Its approaching a "build-your-own nixVim without leaving lua" utility.

+

nix flake init -t github:BirdeeHub/nixCats-nvim right in your lua directory,

+

nix shell github:BirdeeHub/nixCats-nvim to access the editor, view the help, and set up your flake!

+

download plugins and put them in categories, require('nixCats') and check if the category is enabled, create settings profiles, enable categories and settings per package. Choose a default package. Everything else is done for you.

+

It has EXTENSIVE in editor help and 3 extra example templates. Please use the info I have provided it will make your life easier.

+

submitted by /u/no_brains101

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 12 2023 at 04:19):

+

I'm not sold on home-manager

+

Date: 2023-12-11T20:53:58+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18g3x2x/im_not_sold_on_homemanager/

+
+

I just finished rewriting most of my dotfiles into home-manager and I don't see why I should use it over plain and simple dotfiles.

+

I manage my dotfiles in a git repository (without any other tooling) and I believe it's far superior than using home-manager. Which benefits does home-manager come with? I still ended up copying 70% of my dotfiles into .extraConfig or .settings because the home-manager doesn't expose the options I actually need. On top of that, sometimes I need to provide multi-line strings (which match the original dotfiles), sometimes it's a map, sometimes it's json etc. so I can't even copy and paste my vanilla dotfiles into home-manager, but have to adapt them just to let home-manager generate me the original dotfile after running it...

+

Instead, I can use the fetchGit function, which pulls my dotfile directory and places it into .config/ while keeping everything vanilla and easy to maintain.

+

What are you using home-manager for? I'm curious about the reasons why somebody would introduce a complete layer of complexity for such tasks and which benefit home-manager brings.

+

+

submitted by /u/CerealBit

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 12 2023 at 09:18):

+

Reflecting on why I use flakes

+

Date: 2023-12-12T00:42:35+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18g96i6/reflecting_on_why_i_use_flakes/

+
+

I've been using NixOS for 1.5 years now, and several recent posts here about "Why flakes?" got me thinking.

+

What flakes bring to the table is reproducibility. But, while that makes a lot of sense for dev shells, on my main system (with some rare exceptions) I just want the latest versions. Channels are perfect for that.

+

So, I realized that the actual reason I use flakes is how the guides are written.

+

The flakes guides generally suggest having a single git repo that contains all your configurations in one place - usually a remote copy online, and a local one in your home folder.

+

By contrast, channel guides generally toll you to place your configuration in /etc/nixos . This means - to a new user - separate configs for each machine, separate config for NixOS and home-manager (if you're using it standalone), multiple git repos, no code reuability, having to use root to edit the files, etc.

+

Now, with more experience, I know that I can have a single repo for all my configs even with channels, place it in my home folder with user permissions, and achieve the same convenience and code reusability as with flakes. I just need to set an environment variable to point to the right file.

+

So, that leaves me with only two minor advantages of flakes - some third party repos are distributed as flakes only, and they automatically manage hashes for inputs. But overall - it came down not to capabilities, but to the way they're typically used in in the tutorials. And perhaps some bias towards the bleeding edge (unstable ftw).

+

submitted by /u/lily_34

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 13 2023 at 11:20):

+

Creating an iso of a flake+home-manager configuration

+

Date: 2023-12-12T11:58:54+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18gkafh/creating_an_iso_of_a_flakehomemanager/

+
+

Hi, fairly new to Nix and NixOS but I’ve made myself a pretty decent flake and home-manager based configuration for both desktop and server use.

+

I understand it’s possible to output the configuration from the flake to an iso, but is it also possible to do that with home manager as a module of the flake config?

+

I want to be able to spin up quick virtual machine environments for whatever I need them for, without having to go through the clone and rebuild process every time.

+

Thanks!

+

submitted by /u/jortsboy

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 13 2023 at 20:20):

+

Accessing NixOS through RealVNC.

+

Date: 2023-12-12T13:54:07+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18gmdno/accessing_nixos_through_realvnc/

+
+

Hello. I am a newbie to NixOS and would like to access my raspberry pi (which is NixOS installed in it) remotely by using RealVNC or any other RDP solution. So far i tried installing TightVNC but somehow i couldnt connect it. Are there any tutorials around so i can follow?

+

Thanks

+

submitted by /u/orucreiss

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 14 2023 at 03:10):

+

Thinking of switching into NixOS

+

Date: 2023-12-13T20:36:55+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18hqier/thinking_of_switching_into_nixos/

+
+

I am using endeavourOS, I have a laptop with amd igpu and nvidia gpu. I use it with external monitor. I want to switch to NixOS, I do a bit of development and do some gaming like sekiro, witcher 3, cs2. I really like the concept of NixOS. Is it wise to switch to Nix or should I stick to my current distro?

+

submitted by /u/arman39

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 14 2023 at 16:19):

+

So I have installed NixOS and setup everything I needed

+

Date: 2023-12-14T11:58:52+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18i73d8/so_i_have_installed_nixos_and_setup_everything_i/

+
+

Yesterday I made a post that should I move to nixos on my main machine or not. Many people suggested me to do and some suggested me to first use it on VM. I directly installed on my main machine. And tbh, I am very happy, Nvidia prime and all the stuff works flawlessly. Nix package manger is very good and huge. Already loving it. And that config file for software and hardware. It's like finally I own my own PC. I have used, arch based distro, debian based distro and rpm, zypper. All of them felt kinda same. But this thing is something different and cool and good. And lastly I think the system cannot break at all. The generation thing makes it solid.

+

submitted by /u/arman39

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 15 2023 at 06:22):

+

Digging on Nix OS! still trying to wrap my head around it, but I really like it.

+

Date: 2023-12-14T23:19:30+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18ilppy/digging_on_nix_os_still_trying_to_wrap_my_head/

+
+

submitted by /u/Arch-penguin

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 15 2023 at 07:25):

+

There was a YouTuber that claimed there is big money to be has as a NixOS engineer, on the order of 200K or higher. But I am not seeing the job postings anywhere. So is it BS?

+

Date: 2023-12-15T01:13:29+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18io2sm/there_was_a_youtuber_that_claimed_there_is_big/

+
+

What I have seen are reqs that might use NixOS as a small part of their infrastructure, but also demanding many other skills, like Haskell. And apparently NixOS is not well known in the US....

+

I guess there is BS to go all around.

+

And please excuse the typo in the title.

+

submitted by /u/el_toro_2022

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 15 2023 at 18:13):

+

korora: A tiny & fast type system for Nix in Nix

+

Date: 2023-12-15T02:33:39+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18ipmpe/korora_a_tiny_fast_type_system_for_nix_in_nix/

+
+

submitted by /u/adisbladis

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 16 2023 at 18:10):

+

I want to adopt NixOS

+

Date: 2023-12-15T17:36:07+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18j5irh/i_want_to_adopt_nixos/

+
+

I am application (domain) developer and i have computer engineering graduate level base.

+

While developing the domain-level application, i noticed that i miss many operating system level stuff like Linux.

+

I also have big tendency toward functional programming paradigm.

+

As for my question, i want to buy a second-hand cheap computer and i want to build my world there. What should be minimum requirements for the computer to install NixOS?

+

submitted by /u/_commitment

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 18 2023 at 02:18):

+

How can I install a specific version of a package?

+

Date: 2023-12-17T11:02:16+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18kf0xe/how_can_i_install_a_specific_version_of_a_package/

+
+

I would like to install this package . The package references v0.3.1, but I would like to pull from master instead, as it includes some new features which I would like to use.

+

How can I achieve that? Can I somehow upgrade the package myself, in order to make master available to other people (looks like the package author won't release a new version soon, given the history )? What is the usual approach (create a new package instead, which always pulls from master)?

+

submitted by /u/CerealBit

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 19 2023 at 01:10):

+

nix-serve behavior questions

+

Date: 2023-12-12T11:04:56+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18gjghs/nixserve_behavior_questions/

+
+

So, yesterday I decided to try and run a binary cache on my local network to understand better how it works.

+

Per my understanding, nix-serve will only serve files already on the nix store of the machine that's running it, is that correct?

+

Is it possible to make it so that, if any machine requests it, it tries to get it from another cache?

+

Or, for things like nixos-rebuild to publish the newly installed packages there automatically?

+

Thank you!

+

PS: I'm fairly new to nix

+

submitted by /u/caarlos0

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 19 2023 at 03:23):

+

Generating an ISO with my entire system configuration inside it

+

Date: 2023-12-18T20:39:58+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18lixd3/generating_an_iso_with_my_entire_system/

+
+

I am creating a NixOS install ISO using nixos-generators . My goal is to have as much configuration as possible inside the ISO at install time, so that I don't have to clone anything manually within the live environment. I want to be able to do the bare minimum of machine-specific stuff (setting up disk partitions, etc.), put a pre-built config in place at /etc/nixos/configuration.nix, and then install NixOS onto the boot drive per usual. After the first reboot, my complete system configuration and home-manager setup should be in place.

+

Making the configuration machine-agnostic I can handle on my own. There are plenty of examples out there to follow. But how do I get it into the ISO in the first place?

+

Basically, I'm looking for the equivalent of Docker's COPY . I don't care where in the ISO filesystem it gets copied to, as long as it's in a consistent (i.e. scriptable) location.

+

Here is my setup:
+

+
+

flake.nix { description = "Builds a NixOS installer ISO with some useful stuff in it.";

+

inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixos-generators = { url = "github:nix-community/nixos-generators"; }; };

+

outputs = { self, nixpkgs, nixos-generators, ... }: let system = "x86_64-linux"; in { packages.${system}.default = nixos-generators.nixosGenerate { system = system; format = "install-iso"; modules = [ ./iso.nix ]; }; }; }

+

iso.nix {config, pkgs, ...}:

+

{ system.stateVersion = "23.11";

+

environment.systemPackages = with pkgs; [ cowsay neovim git ]; } ```

+

Building an ISO is then just a simple nix build , and I can boot into it and have git etc. there, as you'd expect. I just can't figure out how to copy my system config and home-manager stuff into the ISO.

+

I considered adding a line like

+

(writeShellScriptBin "configure" (builtins.readFile ./configure.sh))

+

to the systemPackages in iso.nix, where the contents of configure.sh would just echo (entire system config) > /etc/nixos/configuration.nix , but this seems roundabout and kinda hacky.

+

FWIW, I intend this entire workflow to be built into my dotfiles repo, which itself will be one big flake. So the (machine-agnostic) configuration.nix itself will be inside the same flake/repo.

+

submitted by /u/acobster

+

[link] [comments]

+

+
+ + + + +

view this post on Zulip Zapier (Dec 19 2023 at 12:11):

+

Looking for starter config similar to "Sway Setup for EndeavourOS" or "kickstart.nvim"

+

Date: 2023-12-18T05:02:21+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18l0rsx/looking_for_starter_config_similar_to_sway_setup/

+
+

TL;DR: Any similar nixos config to Sway Setup for EndeavourOS or kickstart.nvim to help new users getting started? I want a decent nixos config for sway with sensible defaults (flakes?).

+

Hello! Hope you're doing well. Thank you for looking this issue of mine.

+

Before fully switching to archlinux, I started off with EndeavourOS with Sway Setup for EndeavourOS . It provides a very good starting config for sway: sensible directory structure and defaults. Similarly, if someone wants to get started with nvim config, kickstart.nvim is a very nice jumping point.

+

I'm looking for something similar like the two above to get started with nixos.

+

Any input is much appreciated. Thank you.

+

submitted by /u/StarshipN0va

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 19 2023 at 14:20):

+

Cleanest way to run git commands on fresh nixos machine?

+

Date: 2023-12-16T19:16:20+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18jyd0r/cleanest_way_to_run_git_commands_on_fresh_nixos/

+
+

so imagine the scenario, we have a fresh install of nixos on a machine and want to pull an existing flake from github. This means that you need git installed.What is the most non intrusive/cleanest way of running git commands without using nix shell or installing via nix-env -i. i have read that you can run an apps commands in nix via a github link, including in this link .Can anyone share an example of how they use git on a brand new nixos machine that doesn't involve installation or shells?

+

Edit: I am still struggling as the nix run github: approach needs to have flakes installed, which needs git to pull. so there is chicken and egg problem here. i guess maybe the cleanest way is to use nix flake init and then some git pull using nix run?

+

Update: this has also been raised previously here . i like the way the author articulates it as 'treating flakes as a first class citizen'. his post seems to have been upvoted a few times too. ultimately it's about giving the users what they want, i understand including it will increase the minimal ISO by about 4% (40MB on ~850MB) but i think given the prominence of flakes now it would be justified.

+

Current Solution It's a bit messy but here is what is currently needed to setup a flake on fresh machine without having to rebuild the system with git or use a temporary shell. Don't forget to update hardware-configuration.nix if overwritten by nix flake clone.

+

export NIX_CONFIG="experimental-features = nix-command flakes" nix shell nixpkgs#git --command nix flake clone github:username/repo --dest ~/.n nix shell nixpkgs#git --command sudo nixos-rebuild switch --flake ~/.n#systemname As mentioned above, would be great if git was pre-installed on the minimal ISO to avoid the prefix of nix shell nixpkgs#git --command. Hopefully this is something that can be considered in future releases.

+

submitted by /u/mars0008

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 19 2023 at 20:13):

+

Too stupid to figure out how to use nixos-hardware with flakes

+

Date: 2023-12-19T16:40:27+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18m67ew/too_stupid_to_figure_out_how_to_use_nixoshardware/

+
+

flake.nix :

+

{ description = "NixOS Flake"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; home-manager = { url = "github:nix-community/home-manager/release-23.11"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, nixos-hardware, ... }@inputs: { nixosConfigurations = { "zephyrus" = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = inputs; modules = [ ./configuration.nix ]; }; }; }; } configuration.nix (partial)

+

{ config, pkgs, inputs, ... }: { nix = { package = pkgs.nixUnstable; extraOptions = '' experimental-features = nix-command flakes ''; }; imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix # Additional hardware specific configuration # inputs.nixos-hardware.nixosModules.common.cpu.amd.pstate inputs.nixos-hardware.nixosModules.common.gpu.amd inputs.nixos-hardware.nixosModules.common.pc.ssd inputs.nixos-hardware.nixosModules.asus.battery ]; # ...https://github.com/NixOS/nixos-hardware And for all this I get

+

error: … while calling the 'seq' builtin at /nix/store/gkrvrwg6k60ykz4asv35bdj1wz70ik2l-source/lib/modules.nix:320:18: 319| options = checked options; 320| config = checked (removeAttrs config [ "_module" ]); | ^ 321| _module = checked (config._module); … while evaluating a branch condition at /nix/store/gkrvrwg6k60ykz4asv35bdj1wz70ik2l-source/lib/modules.nix:261:9: 260| checkUnmatched = 261| if config._module.check && config._module.freeformType == null && merged.unmatchedDefns != [] then | ^ 262| let (stack trace truncated; use '--show-trace' to show the full trace) error: infinite recursion encountered at /nix/store/gkrvrwg6k60ykz4asv35bdj1wz70ik2l-source/lib/modules.nix:506:28: 505| builtins.addErrorContext (context name) 506| (args.${name} or config._module.args.${name}) | ^ 507| ) (lib.functionArgs f); make: *** [Makefile:8: install] Error 1 Is it really that hard to import a module, or I am just stupid?

+

submitted by /u/arvigeus

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 20 2023 at 21:11):

+

Brother printer drivers

+

Date: 2023-12-19T10:02:39+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18lyfrk/brother_printer_drivers/

+
+

Part of my workflow is sending faxes (I'm not kidding) and I usually do it straight from my computer through my Brother printer, MFC-L2710DW to be exact, which is connected to a phone line.

+

Brother provides fax drivers for Linux in deb and rpm formats only. Here's my model: https://support.brother.com/g/b/faqend.aspx?prod=mfcl2710dw_us_eu_as&c=eu_ot&lang=en&faqid=faq00100716_000

+

I also have a pkg.tar.zst file, for installation on Arch-based distros, that someone graciously compiled for me.

+

What can I do for NixOS?

+

submitted by /u/shmuu26

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 21 2023 at 08:15):

+

What is the actual state of NixOS nowadays?

+

Date: 2023-12-21T06:09:01+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18ng3i9/what_is_the_actual_state_of_nixos_nowadays/

+
+

Dear NixOS community, I hope this pretty generic post won't bother the sub. I used NixOS around 4 years ago and it was a great, but steep hill to climb. I am only a hobbyist so my knowledge, while not being close to none, is mostly disparate, scattered, and uncertain. I came accross NixOS after a very enriching distro hopping period, been through some install that are considered "hard", and failed in love with NixOS. Please, let me try to summarize my history with NixOS before asking my question. Sorry for the long post.

+

I just did not just perform a basic installation, I did it, then used ZFS, then LVM, even went with an Erasable Darlings Installation after reading Graham Christensen blog posts (I learned so much doing this), had once an install that would only go through booting with an encrypted usb plugged in, etc., etc. I learned some basis about grub, and the whole architecture of an OS. Very basis, but stil, I wasn't just a user, every use was a new learning.

+

I was there when Flakes were still unstable, and read the Eelco Dostra's blog posts about them ont he Tweag website. When Flakes arrived, I had already spent too much time on it, and as it was so new, my too low level of knowledge kept me from being able to follow the crowd that was at the time in an understandable wave of technical writing and details, which I could not follow.

+

For some reason, I had to switch to a Macbook, and tried to use Nix on it, but I was at saturation, on a time basis and "poorly" accumulated knowledge. I gave up there, and since, using a computer has never been the same. Like a Lion in a cage I got bored, and uninterested in my OS, at the point that I never opened the Terminal on the Macbook. I say poorly , as I would consider myself just a step above what I could call an OS Script Kiddy . Sometimes I go in depth some notion, and on some subject I just follow blogs and tutorial and make my way through trial and error. I'm just a digital postmodern hunter-gatherer.

+

I still have my Macbook, but someone recently gave me an old PC, and the passion suddenly came back, I went through my old spare parts box, upgraded drives and RAM, kicked Windows, and out of convenience installed Ubuntu. Immediatly NixOS came back to my mind, and here we are.

+

How has moved NixOS in 4 years? Is it growing and delivering its promises? Is security on par?

+

The community was great and helpful as we were discovering together, how are people helpful now? Is the forum still active and enthousiastic?

+

How is the documentation now? It wasn' as bad as some people were raging about, but it was dense and dry.

+

What is the state of immutability in the Linux world nowadays, how Guix evolved? Fedora Silverblue? Debian was painfully working on it, how did they go? Any newcomer?

+

I know I could just read some blog posts, check the docs and launch it on a VM, but I wanted to hear from you guys, as I followed, read and learned from yous so much 4 years ago that I can't wait to have your words on it.

+

Thanks again.

+

submitted by /u/oyoumademedoit

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 21 2023 at 12:20):

+

What do you do about docker compose?

+

Date: 2023-12-20T23:24:03+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18n8cq7/what_do_you_do_about_docker_compose/

+
+

My use case: I use a docker-compose file to manage a group of containers. One of those images is Portainer, which makes it easy to inspect individual containers' memory, CPU, and logs.

+

+

The NixOS way would be to containerize each app in a VM. However, I'd lose the ability to introspect the stack. And I suspect running 14 VMs in NixOS would use more resources than docker-compose.

+

+

Do you still use a docker-compose.yml to manage a stack of related (and networked) containers?

+

submitted by /u/xristiano

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 22 2023 at 02:15):

+

How does nix handle package dependencies?

+

Date: 2023-12-20T20:06:15+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18n3uk0/how_does_nix_handle_package_dependencies/

+
+

Apologize for the probably silly question, but I am trying to figure out how does the nix package manager work and I would like some help.

+

I am installing things via substitutes. It seems to me that whenever nix installs packages in the store, it downloads all the dependencies (if I am not mistaken, inputs in nix-language), not just the run-time dependencies but also the build-time dependencies. I would like to know if my understanding is correct and if that were the case, I would like to know why does it do so?

+

Thanks in advance for any answer.

+

submitted by /u/theIneffM

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 22 2023 at 03:12):

+

NixOS vs Debian with Nix

+

Date: 2023-12-19T16:46:00+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18m6c7i/nixos_vs_debian_with_nix/

+
+

I'm currently using NixOS, but I sometimes run into obscure programs unavailable on Nix (without compiling them myself). I think I'm probably fine giving up a completely declarative installation for a mostly declarative one with a more complete ecosystem.

+

However, I would still like to manage services like my IME, proxies, etc. through Nix. Would this work as well on Debian as it does on NixOS?

+

submitted by /u/IJustWantComment

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 22 2023 at 06:19):

+

Is unlock 1Password with gnome-keyring possible?

+

Date: 2023-12-21T18:36:18+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18ntuof/is_unlock_1password_with_gnomekeyring_possible/

+
+

I'm trying to have my 1Password on NixOS (unstable, if that matters ) behave in the same way it does on my Mac, where I have Touch ID set up to unlock it once it locks or goes idle, and I can't remember the last time I had to enter my password, through restarts and what-have-you.

+

On Linux, however, I have to always re-enter my master password after a restart. I have the polkit-gnome-authentication-agent setup, and it does work for unlocking via fingerprint, after I enter my master password the first time, but I am wondering if it is possible to default to fingerprint unlock, even after a restart, if I have gnome-keyring somehow authenticate me on logging in, and letting 1Password know, so it knows it's safe to just use biometrics to open.

+

Is this possible? I'm not really sure which pieces of my config are relevant for this facet, but here are some of the things I am doing:

+
...
+
+user.services = { polkit-gnome-authentication-agent-1 = { description = "polkit-gnome-authentication-agent-1"; wantedBy = ["graphical-session.target"]; wants = ["graphical-session.target"]; after = ["graphical-session.target"]; serviceConfig = { Type = "simple"; ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; Restart = "on-failure"; RestartSec = 1; TimeoutStopSec = 1; }; }; };
+
+...
+
+security = { pam.services = { login.enableGnomeKeyring = true; }; };
+
+...
+
+services = { gnome.gnome-keyring.enable = true; };
+
+

I also have the libsecret package installed, though I'm not really too sure if and what that does in regards to this, nor am I overly versed in gnome-keyring in general, being new to that, and NixOS in general.

+

Is there something else I need to do? Am I not doing enough? Any guidance is much appreciated...!

+

submitted by /u/lushmoney

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 22 2023 at 21:17):

+

Should LSP servers be in the project flake environment or as an extra dependency for Neovim?

+

Date: 2023-12-22T08:51:01+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18oai2a/should_lsp_servers_be_in_the_project_flake/

+
+

When developing projects, should the LSP server e.g. pyright, be added to the packages in a devShell or should it be in the extraPackages for Neovim?

+

submitted by /u/CatRyBou

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 23 2023 at 13:22):

+

Building Docker images with Nix

+

Date: 2023-12-22T19:37:14+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18on1le/building_docker_images_with_nix/

+
+

I'm doing my first steps onto building Docker images using Nix. I could already successfully build a Python Docker image that runs a FastAPI server. I would like that this service interects to a PostgreSQL Docker service, but I can't find a way to build this image properly. There is always a problem. Postgres complains it can't be ran using the root user, so I setup a user through throughAsRoot option from builDockerImage . After that it complains the folder /var/lib/pgsql/data doesn't exist, so I setup the folder myself. And so on... I'm trying to follow what the official Postgres Docker Image from DockerHub does, doing it so, it seems like I'm not relying on unchangeable package versions and that won't be reproducible...

+

Does anybody has done something similar already? Is there a template for that? Any help is welcome, since the documentation is still pretty basic.

+

submitted by /u/rodolfoksveiga

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 24 2023 at 10:14):

+

Identify heavy apps vs light apps in nixos-rebuild process?

+

Date: 2023-12-18T18:45:55+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18lg52e/identify_heavy_apps_vs_light_apps_in_nixosrebuild/

+
+

Is there anyway to find out download and build speeds for different packages on average?

+

Obviously it will depend on bandwidth and processing power respectively, but i am looking for a relative view. For example:

+

it will take ~50x longer to download 'vs-studio' vs 'neofetch' it will take ~10x longer to build 'vs-studio' vs 'neofetch'. is there any aggregator or site that visualises this type of information?

+

submitted by /u/mars0008

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 24 2023 at 10:14):

+

clonehero is segfaulting on NixOS 23.11

+

Date: 2023-12-17T14:50:13+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18kiwut/clonehero_is_segfaulting_on_nixos_2311/

+
+

I am trying to play Clone Hero (package clonehero) on NixOS, but trying to launch it gives segfault.

+

Anyone else is able to play it?

+

submitted by /u/AkaIgor

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 24 2023 at 10:14):

+

suspend then hibernate configuration

+

Date: 2023-12-17T14:57:02+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18kj1ya/suspend_then_hibernate_configuration/

+
+

Could someone share their configuration that enables suspend then hibernate after a set period of time of laptop.

+

Tried the following but did not work for me:

+

boot.kernelParams = [ "mem_sleep_default=deep" ]; systemd.sleep.extraConfig = '' HibernateDelaySec=30m SuspendState=mem ''; ​

+

submitted by /u/Leader-Environmental

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 24 2023 at 16:21):

+

What do y'all think, about my Christmas Tree ?

+

Date: 2023-12-24T13:37:20+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18pvdv8/what_do_yall_think_about_my_christmas_tree/

+
+

submitted by /u/SzymBoss

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 26 2023 at 10:13):

+

NixOS for a flashable custom linux environment

+

Date: 2023-12-23T16:35:17+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18p9e1r/nixos_for_a_flashable_custom_linux_environment/

+
+

Hey NixOS people,

+

I would like to start using NixOS to build customized linux images that can be flashed on a batch of systems for events. Are there any good guides out there for this? I don't seem to find any that discuss how this can be accomplished (e.g. how a git repo can be structured, how to test this, ...)

+

Some background: We currently have a way of doing this by having a bunch of ansible playbooks that modify an Ubuntu image in qemu. That image is then flashed to the systems and it all works. This is obviously not ideal so I would love to replace this with a NixOS system. I would make a git repo where the config lives and then build an iso that can be flashed to systems.

+

I hope someone help me get started :)

+

submitted by /u/maartenweyns

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 26 2023 at 11:12):

+

How is state handled in nix?

+

Date: 2023-12-25T21:45:40+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18qrvm4/how_is_state_handled_in_nix/

+
+

Hi nix gurus. I am the original author of Satty [0], a screenshot annotation tool targeted at Wayland compositors. Think of it as some basic drawing tools (lines, arrows, text..) with some basic settings (colour, size). It's deliberately simple.

+

The community is discussing an option, where the last state of program would be remembered for when it runs next [1]. My first idea was to make Satty edit it's own configuration file to reflect the "last state", but then got second thoughts: what happens to nix users where the system is meant to be immutable?

+

So that's the question to you: how can we handle this in a correct way? Is it okay to edit the config file? should we save it elsewhere? is it at all possible in NixOS?

+

[0] https://github.com/gabm/satty [1] https://github.com/gabm/Satty/issues/34

+

submitted by /u/gabm-sn

+

[link] [comments]

+
+ + + + +

view this post on Zulip Zapier (Dec 26 2023 at 17:13):

+

NixOS on Arm - easy peasy or a time sink?

+

Date: 2023-12-26T04:18:43+00:00
+Link: https://old.reddit.com/r/NixOS/comments/18qzhv7/nixos_on_arm_easy_peasy_or_a_time_sink/

+
+

I have been running NixOS for about 18 months now, feel quite familiar with the basics and like it a lot. I have it running on some different Intel PCs at home. Sometimes I have thought that smaller Arm single board computers would be good hardware for things I want to use if for. But it seems such a time sink to get it running. Experimental, not well documented etc. I don't want to fiddle a lot, I want the advantages of the hardware platform but not for the price of messing about for hours and hours.

+

How is the experience, is there an Arm SBC that works especially well with NixOS so that I can get existing configurations to work with small-ish effort? (EspecialIy I have been eyeing the Orange PI line)

+

submitted by /u/Kasta4711bort

+

[link] [comments]

+
+ + + + +

view this post on Zulip IFTTT (Dec 28 2023 at 19:13):

+

https://old.reddit.com/r/NixOS/comments/18oai2a/should_lsp_servers_be_in_the_project_flake/

+ + + + +

view this post on Zulip IFTTT (Dec 28 2023 at 22:13):

+

Watching DVDs on NixOS

+

URL: https://old.reddit.com/r/NixOS/comments/18suruv/watching_dvds_on_nixos/

+

<!-- SC_OFF --><div class="md"><p>Anyone here happen to know the magic to getting NixOS to not error out on copy protected dvd's? I installed libdvdcss, but still get this in my logs when I insert a disk:</p> <pre><code>Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 Sense Key : Illegal Request [current] Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 Add. Sense: Read of scrambled sector without authentication Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 CDB: Read(10) 28 00 00 37 2b 80 00 00 3c 00 00 00 Dec 27 20:54:18 nixnuc kernel: I/O error, dev sr0, sector 14462464 op 0x0:(READ) flags 0x84700 phys_seg 3 prio class 2 Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 Sense Key : Illegal Request [current] Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 Add. Sense: Read of scrambled sector without authentication Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 CDB: Read(10) 28 00 00 37 2b bc 00 00 04 00 00 00 Dec 27 20:54:18 nixnuc kernel: I/O error, dev sr0, sector 14462704 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2 Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 Sense Key : Illegal Request [current] Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 Add. Sense: Read of scrambled sector without authentication Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 CDB: Read(10) 28 00 00 37 2b 80 00 00 02 00 00 00 Dec 27 20:54:18 nixnuc kernel: I/O error, dev sr0, sector 14462464 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2 Dec 27 20:54:18 nixnuc kernel: Buffer I/O error on dev sr0, logical block 1807808, async page read </code></pre> <p>I want to be able to watch these w/o having to switch to another distro, but seem to be missing something that (I assume) is trivial.</p> </div><!-- SC_ON --> submitted by <a href="https://old.reddit.com/user/tuxbell"> /u/tuxbell </a> <br/> <span><a href="https://old.reddit.com/r/NixOS/comments/18suruv/watching_dvds_on_nixos/">[link]</a></span> <span><a href="https://old.reddit.com/r/NixOS/comments/18suruv/watching_dvds_on_nixos/">[comments]</a></span>

+ + + + +

view this post on Zulip IFTTT (Dec 29 2023 at 03:13):

+

Do you use NixOS for work?

+

December 28, 2023 at 01:27PM

+

https://old.reddit.com/r/NixOS/comments/18t52hb/do_you_use_nixos_for_work/

+ + + + +

view this post on Zulip IFTTT (Dec 30 2023 at 11:13):

+

Virtualization

+

December 29, 2023 at 01:23AM

+

https://old.reddit.com/r/NixOS/comments/18tj618/virtualization/

+ + + + +

view this post on Zulip IFTTT (Dec 30 2023 at 13:13):

+

Migrating system config to flakes?

+

December 29, 2023 at 04:49PM

+

https://old.reddit.com/r/NixOS/comments/18u2ifm/migrating_system_config_to_flakes/

+ + + + +

view this post on Zulip IFTTT (Dec 31 2023 at 20:13):

+

NixOS with flakes and home-manager: how to rebuild-switch only home environment?

+

December 31, 2023 at 04:39AM

+

https://old.reddit.com/r/NixOS/comments/18v6yov/nixos_with_flakes_and_homemanager_how_to/

+ + + + +

view this post on Zulip IFTTT (Jan 02 2024 at 00:13):

+

Can Game Flakes be a thing?

+

January 01, 2024 at 09:31AM

+

https://old.reddit.com/r/NixOS/comments/18w1ncb/can_game_flakes_be_a_thing/

+ + + + +

view this post on Zulip IFTTT (Jan 02 2024 at 01:13):

+

NixOS as production server.

+

December 28, 2023 at 11:12AM

+

https://old.reddit.com/r/NixOS/comments/18t1vu6/nixos_as_production_server/

+ + + + +

view this post on Zulip IFTTT (Jan 02 2024 at 06:09):

+

I finally figured out NixOS!

+

January 01, 2024 at 07:55PM

+

https://old.reddit.com/r/NixOS/comments/18wfvan/i_finally_figured_out_nixos/

+ + + + +

view this post on Zulip IFTTT (Jan 02 2024 at 21:13):

+

I've not yet figured out NixOS

+

January 02, 2024 at 09:16AM

+

https://old.reddit.com/r/NixOS/comments/18wuk9t/ive_not_yet_figured_out_nixos/

+ + + + +

view this post on Zulip IFTTT (Jan 03 2024 at 12:13):

+

Some notes on NixOS

+

January 02, 2024 at 12:32PM

+

https://old.reddit.com/r/NixOS/comments/18wzi7f/some_notes_on_nixos/

+ + + + +

view this post on Zulip IFTTT (Jan 04 2024 at 04:13):

+

Use both local paths and public repo urls in flakes

+

December 31, 2023 at 08:35PM

+

https://old.reddit.com/r/NixOS/comments/18vp1uz/use_both_local_paths_and_public_repo_urls_in/

+ + + + +

view this post on Zulip IFTTT (Jan 04 2024 at 15:13):

+

Nix package manager in a nutshell

+

January 04, 2024 at 05:16AM

+

https://old.reddit.com/r/NixOS/comments/18ycxwa/nix_package_manager_in_a_nutshell/

+ + + + +

view this post on Zulip IFTTT (Jan 04 2024 at 22:09):

+

Which packages are installed with minimal installation?

+

December 30, 2023 at 11:08AM

+

https://old.reddit.com/r/NixOS/comments/18un11e/which_packages_are_installed_with_minimal/

+ + + + +

view this post on Zulip IFTTT (Jan 05 2024 at 10:13):

+

A declarative way for adding environment variables to specific desktop apps?

+

January 04, 2024 at 11:57PM

+

https://old.reddit.com/r/NixOS/comments/18z1k49/a_declarative_way_for_adding_environment/

+ + + + +

view this post on Zulip IFTTT (Jan 06 2024 at 01:13):

+

Why use home manager for configuration instead of copied dotfiles?

+

January 05, 2024 at 11:28AM

+

https://old.reddit.com/r/NixOS/comments/18zf7zd/why_use_home_manager_for_configuration_instead_of/

+ + + + +

view this post on Zulip IFTTT (Jan 06 2024 at 12:13):

+

Agenix & Multi-System Nix Config: Tips for Locating Auth Tokens?

+

January 04, 2024 at 03:18PM

+

https://old.reddit.com/r/NixOS/comments/18yr7w5/agenix_multisystem_nix_config_tips_for_locating/

+ + + + +

view this post on Zulip IFTTT (Jan 06 2024 at 14:13):

+

Equivalent to 'apt purge' to remove all configuration files of a package

+

January 05, 2024 at 06:48AM

+

https://old.reddit.com/r/NixOS/comments/18z8l4q/equivalent_to_apt_purge_to_remove_all/

+ + + + +

view this post on Zulip IFTTT (Jan 06 2024 at 18:13):

+

fr though :rotfl:

+

January 06, 2024 at 08:39AM

+

https://old.reddit.com/r/NixOS/comments/1903xfk/fr_though_rotfl/

+ + + + +

view this post on Zulip IFTTT (Jan 07 2024 at 15:13):

+

How do I configure dotfiles in a declarative manner?

+

January 06, 2024 at 06:23AM

+

https://old.reddit.com/r/NixOS/comments/19011jh/how_do_i_configure_dotfiles_in_a_declarative/

+ + + + +

view this post on Zulip IFTTT (Jan 07 2024 at 21:13):

+

I've been told that Nix isn't FHS compliant. What will this affect compared to a more traditional distro like Arch?

+

January 07, 2024 at 07:48AM

+

https://old.reddit.com/r/NixOS/comments/190v0n7/ive_been_told_that_nix_isnt_fhs_compliant_what/

+ + + + +

view this post on Zulip IFTTT (Jan 08 2024 at 08:13):

+

PSA: Syntax highlighting for multi-line string blocks works with treesitter+neovim

+

January 07, 2024 at 10:49PM

+

https://old.reddit.com/r/NixOS/comments/191ey9j/psa_syntax_highlighting_for_multiline_string/

+ + + + +

view this post on Zulip IFTTT (Jan 09 2024 at 02:13):

+

Suggestions for improving the configuration

+

January 08, 2024 at 07:02AM

+

https://old.reddit.com/r/NixOS/comments/191n5xe/suggestions_for_improving_the_configuration/

+ + + + +

view this post on Zulip IFTTT (Jan 09 2024 at 05:13):

+

Are flakes useful outside of version pinning?

+

January 08, 2024 at 04:05PM

+

https://old.reddit.com/r/NixOS/comments/1920foj/are_flakes_useful_outside_of_version_pinning/

+ + + + +

view this post on Zulip IFTTT (Jan 09 2024 at 21:09):

+

Hello people.

+

January 09, 2024 at 05:45AM

+

https://old.reddit.com/r/NixOS/comments/192f1yh/hello_people/

+ + + + +

view this post on Zulip IFTTT (Jan 09 2024 at 22:13):

+

Can I have multiple configs for a single computer and switch between them?

+

January 09, 2024 at 12:10PM

+

https://old.reddit.com/r/NixOS/comments/192o8cr/can_i_have_multiple_configs_for_a_single_computer/

+ + + + +

view this post on Zulip IFTTT (Jan 10 2024 at 20:14):

+

Next step toward automating my infrastructure with NixOS

+

January 10, 2024 at 06:41AM

+

https://old.reddit.com/r/NixOS/comments/1939srt/next_step_toward_automating_my_infrastructure/

+ + + + +

view this post on Zulip IFTTT (Jan 11 2024 at 12:13):

+

Using configs on multiple hardwares - $variables?

+

January 10, 2024 at 11:21AM

+

https://old.reddit.com/r/NixOS/comments/193gk90/using_configs_on_multiple_hardwares_variables/

+ + + + +

view this post on Zulip IFTTT (Jan 11 2024 at 20:13):

+

Static JSON API written in Nix (check comments)

+

January 11, 2024 at 10:09AM

+

https://old.reddit.com/r/NixOS/comments/19487sk/static_json_api_written_in_nix_check_comments/

+ + + + +

view this post on Zulip IFTTT (Jan 12 2024 at 21:13):

+

Cachix 1.7

+

January 12, 2024 at 05:29AM

+

https://old.reddit.com/r/NixOS/comments/194v2w7/cachix_17/

+ + + + +

view this post on Zulip IFTTT (Jan 13 2024 at 14:13):

+

Looking for a Linux & Unix Discord Community?

+

January 13, 2024 at 04:15AM

+

https://old.reddit.com/r/NixOS/comments/195mqac/looking_for_a_linux_unix_discord_community/

+ + + + +

view this post on Zulip IFTTT (Jan 13 2024 at 21:13):

+

How to keep "source" when doing garbage collection

+

January 12, 2024 at 03:27PM

+

https://old.reddit.com/r/NixOS/comments/19595vc/how_to_keep_source_when_doing_garbage_collection/

+ + + + +

view this post on Zulip IFTTT (Jan 15 2024 at 07:13):

+

Steam games take a long time to launch

+

January 12, 2024 at 01:06AM

+

https://old.reddit.com/r/NixOS/comments/194qro7/steam_games_take_a_long_time_to_launch/

+ + + + +

view this post on Zulip IFTTT (Jan 15 2024 at 10:13):

+

x86_64 VM on aarch64 host?

+

January 14, 2024 at 05:11PM

+

https://old.reddit.com/r/NixOS/comments/196vyql/x86_64_vm_on_aarch64_host/

+ + + + +

view this post on Zulip IFTTT (Jan 15 2024 at 18:14):

+

why use nixpkgs.stdenv.mkDerivation over builtins.derivation?

+

January 10, 2024 at 03:36PM

+

https://old.reddit.com/r/NixOS/comments/193mt89/why_use_nixpkgsstdenvmkderivation_over/

+ + + + +

view this post on Zulip IFTTT (Jan 16 2024 at 01:13):

+

Services, programs, and packages. Oh my!

+

January 09, 2024 at 08:48AM

+

https://old.reddit.com/r/NixOS/comments/192j60w/services_programs_and_packages_oh_my/

+ + + + +

view this post on Zulip IFTTT (Jan 16 2024 at 06:14):

+

The entirety of my time on YouTube last week

+

January 15, 2024 at 08:56PM

+

https://old.reddit.com/r/NixOS/comments/197uhjz/the_entirety_of_my_time_on_youtube_last_week/

+ + + + +

view this post on Zulip IFTTT (Jan 16 2024 at 21:13):

+

How to set system architecture in flakes?

+

January 13, 2024 at 07:50AM

+

https://old.reddit.com/r/NixOS/comments/195qx0g/how_to_set_system_architecture_in_flakes/

+ + + + +

view this post on Zulip IFTTT (Jan 17 2024 at 05:13):

+

How We Sped Up Nix Package Installs in Devbox

+

January 16, 2024 at 11:55AM

+

https://old.reddit.com/r/NixOS/comments/198c65z/how_we_sped_up_nix_package_installs_in_devbox/

+ + + + +

view this post on Zulip IFTTT (Jan 17 2024 at 09:13):

+

Deploying a Cloudflare R2-Backed Nix Binary Cache (Attic!) on Fly.io

+

January 16, 2024 at 06:56PM

+

https://old.reddit.com/r/NixOS/comments/198m2fy/deploying_a_cloudflare_r2backed_nix_binary_cache/

+ + + + +

view this post on Zulip IFTTT (Jan 17 2024 at 19:09):

+

Is it normal to free frustrated or mad while tinkering my computer

+

January 17, 2024 at 05:21AM

+

https://old.reddit.com/r/NixOS/comments/198wf2e/is_it_normal_to_free_frustrated_or_mad_while/

+ + + + +

view this post on Zulip IFTTT (Jan 18 2024 at 15:14):

+

So, how do I REALLY search for packages?

+

January 18, 2024 at 03:47AM

+

https://old.reddit.com/r/NixOS/comments/199ocj8/so_how_do_i_really_search_for_packages/

+ + + + +

view this post on Zulip IFTTT (Jan 18 2024 at 21:13):

+

(OT/Vent): My Team made me use ansible for a CI Job

+

January 18, 2024 at 07:13AM

+

https://old.reddit.com/r/NixOS/comments/199scph/otvent_my_team_made_me_use_ansible_for_a_ci_job/

+ + + + +

view this post on Zulip IFTTT (Jan 19 2024 at 00:13):

+

Encrypted Btrfs Install

+

January 18, 2024 at 12:34PM

+

https://old.reddit.com/r/NixOS/comments/19a02a7/encrypted_btrfs_install/

+ + + + +

view this post on Zulip IFTTT (Jan 19 2024 at 22:18):

+

Espanso Wayland? Anyone doing this?

+

January 15, 2024 at 01:29AM

+

https://old.reddit.com/r/NixOS/comments/1974sfo/espanso_wayland_anyone_doing_this/

+ + + + +

view this post on Zulip IFTTT (Jan 19 2024 at 22:18):

+

Ready made Configs?

+

January 18, 2024 at 05:41PM

+

https://old.reddit.com/r/NixOS/comments/19a774d/ready_made_configs/

+ + + + +

view this post on Zulip IFTTT (Jan 20 2024 at 07:13):

+

NixCon North American Schedule is Live! Come join us in Southern California

+

January 19, 2024 at 07:47PM

+

https://old.reddit.com/r/NixOS/comments/19b2kg3/nixcon_north_american_schedule_is_live_come_join/

+ + + + +

view this post on Zulip IFTTT (Jan 20 2024 at 11:13):

+

What Language Server is currently the best for Nix:

+

January 19, 2024 at 05:44PM

+

https://old.reddit.com/r/NixOS/comments/19b0584/what_language_server_is_currently_the_best_for_nix/

+ + + + +

view this post on Zulip IFTTT (Jan 21 2024 at 06:09):

+

Building and Privately Caching x86 and aarch64 NixOS Systems with Github Actions

+

January 20, 2024 at 10:14AM

+

https://old.reddit.com/r/NixOS/comments/19bhy6c/building_and_privately_caching_x86_and_aarch64/

+ + + + +

view this post on Zulip IFTTT (Jan 21 2024 at 07:13):

+

Thoughts on flakehub.com?

+

January 20, 2024 at 02:22PM

+

https://old.reddit.com/r/NixOS/comments/19bnmu9/thoughts_on_flakehubcom/

+ + + + +

view this post on Zulip IFTTT (Jan 21 2024 at 13:11):

+

Obsidian not using GPU

+

January 20, 2024 at 06:29PM

+

https://old.reddit.com/r/NixOS/comments/19bsui8/obsidian_not_using_gpu/

+ + + + +

view this post on Zulip IFTTT (Jan 21 2024 at 15:13):

+

How NixOS Won Me Over and Made Me Shift Completely to Linux

+

January 21, 2024 at 06:04AM

+

https://old.reddit.com/r/NixOS/comments/19c43p9/how_nixos_won_me_over_and_made_me_shift/

+ + + + +

view this post on Zulip IFTTT (Jan 22 2024 at 20:13):

+

Do we need a home-merger?

+

January 21, 2024 at 09:54PM

+

https://old.reddit.com/r/NixOS/comments/19coqyl/do_we_need_a_homemerger/

+ + + + +

view this post on Zulip IFTTT (Jan 23 2024 at 05:13):

+

Any guides to doing music on NixOS ? (or linux in general)

+

January 22, 2024 at 10:04AM

+

https://old.reddit.com/r/NixOS/comments/19d1xwk/any_guides_to_doing_music_on_nixos_or_linux_in/

+ + + + +

view this post on Zulip IFTTT (Jan 24 2024 at 03:13):

+

Official NixOS wiki

+

January 23, 2024 at 03:38PM

+

https://old.reddit.com/r/NixOS/comments/19e2mtc/official_nixos_wiki/

+ + + + +

view this post on Zulip IFTTT (Jan 24 2024 at 05:13):

+

Should I switch to NIXOS?

+

January 23, 2024 at 03:00PM

+

https://old.reddit.com/r/NixOS/comments/19e1r5j/should_i_switch_to_nixos/

+ + + + +

view this post on Zulip IFTTT (Jan 24 2024 at 06:09):

+

NixOS Errors

+

January 23, 2024 at 03:41AM

+

https://old.reddit.com/r/NixOS/comments/19dmje6/nixos_errors/

+ + + + +

view this post on Zulip IFTTT (Jan 25 2024 at 00:14):

+

Some wallpapers created using stable diffusion and the NixOS logo.

+

January 24, 2024 at 12:11PM

+

https://old.reddit.com/r/NixOS/comments/19epys3/some_wallpapers_created_using_stable_diffusion/

+ + + + +

view this post on Zulip IFTTT (Jan 25 2024 at 14:13):

+

Fedora Silverblue conversion

+

January 24, 2024 at 03:21PM

+

https://old.reddit.com/r/NixOS/comments/19euktr/fedora_silverblue_conversion/

+ + + + +

view this post on Zulip IFTTT (Jan 25 2024 at 17:13):

+

The History of Nix at Bellroy

+

January 23, 2024 at 11:20PM

+

https://old.reddit.com/r/NixOS/comments/19ebggz/the_history_of_nix_at_bellroy/

+ + + + +

view this post on Zulip IFTTT (Jan 27 2024 at 03:13):

+

Federated self hosted blog using NixOs

+

January 26, 2024 at 02:04AM

+

https://old.reddit.com/r/NixOS/comments/1abezn1/federated_self_hosted_blog_using_nixos/

+ + + + +

view this post on Zulip IFTTT (Jan 27 2024 at 19:18):

+

Overview of Nix Formatters Ecosystem

+

January 27, 2024 at 08:28AM

+

https://old.reddit.com/r/NixOS/comments/1acemjr/overview_of_nix_formatters_ecosystem/

+ + + + +

view this post on Zulip IFTTT (Jan 28 2024 at 23:13):

+

NixOS Is A Great Distro For Beginners

+

January 28, 2024 at 12:57PM

+

https://old.reddit.com/r/NixOS/comments/1adcvmj/nixos_is_a_great_distro_for_beginners/

+ + + + +

view this post on Zulip IFTTT (Jan 29 2024 at 19:13):

+

Switching to Hyperland

+

January 27, 2024 at 10:42AM

+

https://old.reddit.com/r/NixOS/comments/1achq7o/switching_to_hyperland/

+ + + + +

view this post on Zulip IFTTT (Jan 29 2024 at 23:13):

+

Latest nixpkgs breaks amdgpu. Beware.

+

January 29, 2024 at 12:55PM

+

https://old.reddit.com/r/NixOS/comments/1ae5y4l/latest_nixpkgs_breaks_amdgpu_beware/

+ + + + +

view this post on Zulip IFTTT (Jan 30 2024 at 18:18):

+

How do you manage your develompent environment?

+

January 29, 2024 at 06:20PM

+

https://old.reddit.com/r/NixOS/comments/1aedb97/how_do_you_manage_your_develompent_environment/

+ + + + +

view this post on Zulip IFTTT (Jan 31 2024 at 00:13):

+

Install NixOS on Raspberry Pi 5

+

January 25, 2024 at 08:48PM

+

https://old.reddit.com/r/NixOS/comments/1aba77l/install_nixos_on_raspberry_pi_5/

+ + + + +

view this post on Zulip IFTTT (Jan 31 2024 at 08:09):

+

Flutter on nixos

+

January 25, 2024 at 06:16PM

+

https://old.reddit.com/r/NixOS/comments/1ab77ht/flutter_on_nixos/

+ + + + +

view this post on Zulip IFTTT (Jan 31 2024 at 13:14):

+

Factorio

+

January 30, 2024 at 05:11PM

+

https://old.reddit.com/r/NixOS/comments/1af55b7/factorio/

+ + + + +

view this post on Zulip IFTTT (Feb 01 2024 at 00:13):

+

Idiot proofing NixOS on systems that don't have easy access to the bootloader (remote or headless systems)

+

January 31, 2024 at 12:23PM

+

https://old.reddit.com/r/NixOS/comments/1afrmnv/idiot_proofing_nixos_on_systems_that_dont_have/

+ + + + +

view this post on Zulip IFTTT (Feb 01 2024 at 19:13):

+

NixOS Revolution?

+

February 01, 2024 at 07:13AM

+

https://old.reddit.com/r/NixOS/comments/1agd8zp/nixos_revolution/

+ + + + +

view this post on Zulip IFTTT (Feb 01 2024 at 23:13):

+

NixOS for work

+

January 31, 2024 at 03:43PM

+

https://old.reddit.com/r/NixOS/comments/1afwinx/nixos_for_work/

+ + + + +

view this post on Zulip IFTTT (Feb 02 2024 at 11:18):

+

Setting Up Python Projects

+

January 31, 2024 at 02:32AM

+

https://old.reddit.com/r/NixOS/comments/1afex3e/setting_up_python_projects/

+ + + + +

view this post on Zulip IFTTT (Feb 02 2024 at 15:13):

+

I'm considering switching to NixOS from Arch

+

February 02, 2024 at 01:36AM

+

https://old.reddit.com/r/NixOS/comments/1agzxce/im_considering_switching_to_nixos_from_arch/

+ + + + +

view this post on Zulip IFTTT (Feb 02 2024 at 19:13):

+

Arch Linux to nixos

+

February 01, 2024 at 08:12PM

+

https://old.reddit.com/r/NixOS/comments/1aguwji/arch_linux_to_nixos/

+ + + + +

view this post on Zulip IFTTT (Feb 03 2024 at 11:13):

+

Who's streaming nixos conference

+

February 02, 2024 at 01:57PM

+

https://old.reddit.com/r/NixOS/comments/1ahfgs6/whos_streaming_nixos_conference/

+ + + + +

view this post on Zulip IFTTT (Feb 04 2024 at 09:18):

+

Cant update NVIDIA driver on stable branch

+

February 03, 2024 at 08:37AM

+

https://old.reddit.com/r/NixOS/comments/1ai04sz/cant_update_nvidia_driver_on_stable_branch/

+ + + + +

view this post on Zulip IFTTT (Feb 05 2024 at 04:13):

+

NixVirt: LibVirt domain management for Nix

+

February 04, 2024 at 03:58PM

+

https://old.reddit.com/r/NixOS/comments/1aj2jv4/nixvirt_libvirt_domain_management_for_nix/

+ + + + +

view this post on Zulip IFTTT (Feb 05 2024 at 21:09):

+

nix-collect-garbage -d not removing everything

+

February 04, 2024 at 11:55PM

+

https://old.reddit.com/r/NixOS/comments/1ajbatg/nixcollectgarbage_d_not_removing_everything/

+ + + + +

view this post on Zulip IFTTT (Feb 07 2024 at 00:14):

+

As a linux noob, NixOS has saved me from distro hopping hell

+

February 06, 2024 at 01:31PM

+

https://old.reddit.com/r/NixOS/comments/1akl9zf/as_a_linux_noob_nixos_has_saved_me_from_distro/

+ + + + +

view this post on Zulip IFTTT (Feb 07 2024 at 09:13):

+

I'm considering moving away from NixOS, should I?

+

February 06, 2024 at 02:16PM

+

https://old.reddit.com/r/NixOS/comments/1akmety/im_considering_moving_away_from_nixos_should_i/

+ + + + +

view this post on Zulip IFTTT (Feb 08 2024 at 00:09):

+

What's the difference between nix develop and nix shell?

+

February 06, 2024 at 04:07PM

+

https://old.reddit.com/r/NixOS/comments/1akp1yl/whats_the_difference_between_nix_develop_and_nix/

+ + + + +

view this post on Zulip IFTTT (Feb 08 2024 at 15:13):

+

NixOS phone?

+

February 07, 2024 at 10:30PM

+

https://old.reddit.com/r/NixOS/comments/1alpcvq/nixos_phone/

+ + + + +

view this post on Zulip IFTTT (Feb 09 2024 at 04:13):

+

How are you 'supposed' to install Python packages?

+

February 08, 2024 at 02:54PM

+

https://old.reddit.com/r/NixOS/comments/1am8spl/how_are_you_supposed_to_install_python_packages/

+ + + + +

view this post on Zulip IFTTT (Feb 09 2024 at 10:14):

+

zephyr-nix: Develop Zephyr projects using Nix

+

February 05, 2024 at 08:03PM

+

https://old.reddit.com/r/NixOS/comments/1ak0ttc/zephyrnix_develop_zephyr_projects_using_nix/

+ + + + +

view this post on Zulip IFTTT (Feb 09 2024 at 22:14):

+

nixos-container vs docker and friends

+

February 05, 2024 at 04:42AM

+

https://old.reddit.com/r/NixOS/comments/1ajfl8c/nixoscontainer_vs_docker_and_friends/

+ + + + +

view this post on Zulip IFTTT (Feb 10 2024 at 00:13):

+

How to set home-manager option for all users at once?

+

February 09, 2024 at 08:25AM

+

https://old.reddit.com/r/NixOS/comments/1ams0g3/how_to_set_homemanager_option_for_all_users_at/

+ + + + +

view this post on Zulip IFTTT (Feb 10 2024 at 18:18):

+

Interview with CTO of ListenField AgTech: Introducing NixOS to Organization

+

February 10, 2024 at 06:19AM

+

https://old.reddit.com/r/NixOS/comments/1anhcl5/interview_with_cto_of_listenfield_agtech/

+ + + + +

view this post on Zulip IFTTT (Feb 11 2024 at 21:14):

+

generations are still there after garbage collection

+

February 11, 2024 at 07:07AM

+

https://old.reddit.com/r/NixOS/comments/1aoa0wf/generations_are_still_there_after_garbage/

+ + + + +

view this post on Zulip IFTTT (Feb 12 2024 at 13:19):

+

If home-manager program.bash.enable=true how are non-nix programs supposed to modify .bashrc or similar?

+

February 11, 2024 at 06:37PM

+

https://old.reddit.com/r/NixOS/comments/1aophc6/if_homemanager_programbashenabletrue_how_are/

+ + + + +

view this post on Zulip IFTTT (Feb 12 2024 at 14:18):

+

Keychron K1 Pro / Bluetooth / NixOS w/KDE install

+

February 11, 2024 at 10:19PM

+

https://old.reddit.com/r/NixOS/comments/1aoteqb/keychron_k1_pro_bluetooth_nixos_wkde_install/

+ + + + +

view this post on Zulip IFTTT (Feb 13 2024 at 08:13):

+

Thoughts and advice

+

February 12, 2024 at 06:09AM

+

https://old.reddit.com/r/NixOS/comments/1ap0ujc/thoughts_and_advice/

+ + + + +

view this post on Zulip IFTTT (Feb 13 2024 at 14:13):

+

me trying to run a random binary

+

February 13, 2024 at 05:00AM

+

https://old.reddit.com/r/NixOS/comments/1apsw9w/me_trying_to_run_a_random_binary/

+ + + + +

view this post on Zulip IFTTT (Feb 13 2024 at 18:13):

+

Is this newb-friendly Nix/NixOS intro blog post any good?

+

February 12, 2024 at 09:52AM

+

https://old.reddit.com/r/NixOS/comments/1ap6321/is_this_newbfriendly_nixnixos_intro_blog_post_any/

+ + + + +

view this post on Zulip IFTTT (Feb 14 2024 at 01:13):

+

Hive

+

February 13, 2024 at 03:32AM

+

https://old.reddit.com/r/NixOS/comments/1aprbw1/hive/

+ + + + +

view this post on Zulip IFTTT (Feb 14 2024 at 06:13):

+

Systemd Hardening: Some preconfigured options :D

+

February 13, 2024 at 07:01PM

+

https://old.reddit.com/r/NixOS/comments/1aqck9l/systemd_hardening_some_preconfigured_options_d/

+ + + + +

view this post on Zulip IFTTT (Feb 14 2024 at 15:13):

+

Bootloader/Kernel hardening for NixOS

+

February 13, 2024 at 09:58PM

+

https://old.reddit.com/r/NixOS/comments/1aqfuxq/bootloaderkernel_hardening_for_nixos/

+ + + + +

view this post on Zulip IFTTT (Feb 15 2024 at 07:13):

+

Making the plunge to NixOS

+

February 14, 2024 at 08:46AM

+

https://old.reddit.com/r/NixOS/comments/1aqrfmd/making_the_plunge_to_nixos/

+ + + + +

view this post on Zulip IFTTT (Feb 16 2024 at 04:13):

+

Rust Development on NixOS, Part 1: Bootstrapping Rust Nightly via Flake

+

February 15, 2024 at 09:46AM

+

https://old.reddit.com/r/NixOS/comments/1arlc04/rust_development_on_nixos_part_1_bootstrapping/

+ + + + +

view this post on Zulip IFTTT (Feb 17 2024 at 23:13):

+

Recreating Valve's "Steam Machine" using NixOS - Build a gaming PC for the Living Room?

+

February 17, 2024 at 08:14AM

+

https://old.reddit.com/r/NixOS/comments/1at5i9a/recreating_valves_steam_machine_using_nixos_build/

+ + + + +

view this post on Zulip IFTTT (Feb 18 2024 at 16:13):

+

Last resort alternative to Nix Packages

+

February 16, 2024 at 10:04AM

+

https://old.reddit.com/r/NixOS/comments/1asf7a7/last_resort_alternative_to_nix_packages/

+ + + + +

view this post on Zulip IFTTT (Feb 19 2024 at 02:13):

+

Why Use Hyprland and/or Home Manager?

+

February 18, 2024 at 12:19PM

+

https://old.reddit.com/r/NixOS/comments/1au3ox5/why_use_hyprland_andor_home_manager/

+ + + + +

view this post on Zulip IFTTT (Feb 19 2024 at 11:13):

+

2 machines running same NixOS but different architectures config.

+

February 18, 2024 at 08:02PM

+

https://old.reddit.com/r/NixOS/comments/1aue12i/2_machines_running_same_nixos_but_different/

+ + + + +

view this post on Zulip IFTTT (Feb 19 2024 at 16:13):

+

Cachix: downtime due to signup spam

+

February 19, 2024 at 03:42AM

+

https://old.reddit.com/r/NixOS/comments/1auld93/cachix_downtime_due_to_signup_spam/

+ + + + +

view this post on Zulip IFTTT (Feb 20 2024 at 13:13):

+

Nix Development Environment question

+

February 16, 2024 at 10:00PM

+

https://old.reddit.com/r/NixOS/comments/1asuvwg/nix_development_environment_question/

+ + + + +

view this post on Zulip IFTTT (Feb 20 2024 at 15:13):

+

Nerding out about Nix and NixOS with Jon Seager, Canonical

+

February 20, 2024 at 02:21AM

+

https://old.reddit.com/r/NixOS/comments/1avefl9/nerding_out_about_nix_and_nixos_with_jon_seager/

+ + + + +

view this post on Zulip IFTTT (Feb 21 2024 at 03:13):

+

Easy neovim with configuration and runnable with nix run

+

February 19, 2024 at 03:39AM

+

https://old.reddit.com/r/NixOS/comments/1aulb75/easy_neovim_with_configuration_and_runnable_with/

+ + + + +

view this post on Zulip IFTTT (Feb 21 2024 at 08:13):

+

Is Nix a Front-Loaded or Constant-Load Time Investment?

+

February 20, 2024 at 08:06PM

+

https://old.reddit.com/r/NixOS/comments/1aw2kp3/is_nix_a_frontloaded_or_constantload_time/

+ + + + +

view this post on Zulip IFTTT (Feb 22 2024 at 17:10):

+

HTTP/HTTPS proxy that serves previously captured requests inside sandboxed Nix builds

+

February 22, 2024 at 06:09AM

+

https://old.reddit.com/r/NixOS/comments/1ax79jw/httphttps_proxy_that_serves_previously_captured/

+ + + + +

view this post on Zulip IFTTT (Feb 23 2024 at 08:13):

+

aarch64 and zfs requires kernel patches for kernels 6.2 and up, and they always have to rebuild. Are these patched kernels just not cached?

+

February 22, 2024 at 04:19PM

+

https://old.reddit.com/r/NixOS/comments/1axmhym/aarch64_and_zfs_requires_kernel_patches_for/

+ + + + +

view this post on Zulip IFTTT (Feb 23 2024 at 19:14):

+

Beginner questions...

+

February 23, 2024 at 05:27AM

+

https://old.reddit.com/r/NixOS/comments/1ay0ft5/beginner_questions/

+ + + + +

view this post on Zulip IFTTT (Feb 24 2024 at 00:13):

+

OS as Code - My Experience of NixOS

+

February 23, 2024 at 08:18AM

+

https://old.reddit.com/r/NixOS/comments/1ay4hjs/os_as_code_my_experience_of_nixos/

+ + + + +

view this post on Zulip IFTTT (Feb 25 2024 at 03:18):

+

Why I'm seriously considering migrating to NixOS next month (As a long time Arch user)

+

February 24, 2024 at 04:04PM

+

https://old.reddit.com/r/NixOS/comments/1az9n3u/why_im_seriously_considering_migrating_to_nixos/

+ + + + +

view this post on Zulip IFTTT (Feb 25 2024 at 18:13):

+

NixOS is about to hit an inflection point, we're going exponential soon!

+

February 25, 2024 at 08:43AM

+

https://old.reddit.com/r/NixOS/comments/1azscni/nixos_is_about_to_hit_an_inflection_point_were/

+ + + + +

view this post on Zulip IFTTT (Feb 26 2024 at 10:13):

+

What's the end-goal for nixpkgs?

+

February 25, 2024 at 06:21PM

+

https://old.reddit.com/r/NixOS/comments/1b069tm/whats_the_endgoal_for_nixpkgs/

+ + + + +

view this post on Zulip IFTTT (Feb 26 2024 at 12:13):

+

Contributing Scrutiny to Nixpkgs

+

February 25, 2024 at 01:43AM

+

https://old.reddit.com/r/NixOS/comments/1azk5v4/contributing_scrutiny_to_nixpkgs/

+ + + + +

view this post on Zulip IFTTT (Feb 26 2024 at 19:09):

+

NixOS: Learning by doing, a step by step guideline request for newbies

+

February 26, 2024 at 04:56AM

+

https://old.reddit.com/r/NixOS/comments/1b0guwd/nixos_learning_by_doing_a_step_by_step_guideline/

+ + + + +

view this post on Zulip IFTTT (Feb 27 2024 at 07:13):

+

So, about KDE Plasma

+

February 26, 2024 at 11:30AM

+

https://old.reddit.com/r/NixOS/comments/1b0qb1u/so_about_kde_plasma/

+ + + + +

view this post on Zulip IFTTT (Feb 27 2024 at 18:14):

+

NixOS: Everything Everywhere All At Once (No Boilerplate)

+

February 27, 2024 at 02:45AM

+

https://old.reddit.com/r/NixOS/comments/1b18ylg/nixos_everything_everywhere_all_at_once_no/

+ + + + +

view this post on Zulip IFTTT (Feb 27 2024 at 22:13):

+

Introduction to module system

+

February 27, 2024 at 06:26AM

+

https://old.reddit.com/r/NixOS/comments/1b1d46d/introduction_to_module_system/

+ + + + +

view this post on Zulip IFTTT (Feb 28 2024 at 16:13):

+

I made a Nix function to easily sandbox apps using bubblewrap - with portals support.

+

February 28, 2024 at 12:49AM

+

https://old.reddit.com/r/NixOS/comments/1b21fbt/i_made_a_nix_function_to_easily_sandbox_apps/

+ + + + +

view this post on Zulip IFTTT (Feb 28 2024 at 23:13):

+

KDE 6 is merged into master!

+

February 28, 2024 at 11:50AM

+

https://old.reddit.com/r/NixOS/comments/1b2fi0b/kde_6_is_merged_into_master/

+ + + + +

view this post on Zulip IFTTT (Feb 29 2024 at 16:09):

+

lovin nixos

+

February 28, 2024 at 11:20AM

+

https://old.reddit.com/r/NixOS/comments/1b2epz3/lovin_nixos/

+ + + + +

view this post on Zulip IFTTT (Mar 01 2024 at 01:18):

+

Good, clear explanation of flakes for normie desktop users like me

+

February 29, 2024 at 11:21AM

+

https://old.reddit.com/r/NixOS/comments/1b38ret/good_clear_explanation_of_flakes_for_normie/

+ + + + +

view this post on Zulip IFTTT (Mar 01 2024 at 12:13):

+

Today I learned of the glory that is NixOS.

+

February 29, 2024 at 11:15PM

+

https://old.reddit.com/r/NixOS/comments/1b3oawg/today_i_learned_of_the_glory_that_is_nixos/

+ + + + +

view this post on Zulip IFTTT (Mar 02 2024 at 00:13):

+

I'd love NixOS but I'm scared about one thing.

+

March 01, 2024 at 10:17AM

+

https://old.reddit.com/r/NixOS/comments/1b41a37/id_love_nixos_but_im_scared_about_one_thing/

+ + + + +

view this post on Zulip IFTTT (Mar 03 2024 at 13:13):

+

I just realized... :sweat_smile:

+

March 02, 2024 at 08:43PM

+

https://old.reddit.com/r/NixOS/comments/1b58kqc/i_just_realized/

+ + + + +

view this post on Zulip IFTTT (Mar 03 2024 at 19:09):

+

back to square one

+

March 03, 2024 at 08:50AM

+

https://old.reddit.com/r/NixOS/comments/1b5lp6v/back_to_square_one/

+ + + + +

view this post on Zulip IFTTT (Mar 04 2024 at 09:13):

+

Nix community is amazing!

+

March 03, 2024 at 08:50PM

+

https://old.reddit.com/r/NixOS/comments/1b62b0j/nix_community_is_amazing/

+ + + + +

view this post on Zulip IFTTT (Mar 04 2024 at 19:13):

+

Nixarr: The Media Server Nixos Module

+

March 04, 2024 at 12:49AM

+

https://old.reddit.com/r/NixOS/comments/1b668aw/nixarr_the_media_server_nixos_module/

+ + + + +

view this post on Zulip IFTTT (Mar 04 2024 at 20:13):

+

I've tried NixOS 3 times now, and I honestly feel like I should just admit defeat and head back home to Arch

+

March 04, 2024 at 07:38AM

+

https://old.reddit.com/r/NixOS/comments/1b6dwux/ive_tried_nixos_3_times_now_and_i_honestly_feel/

+ + + + +

view this post on Zulip IFTTT (Mar 06 2024 at 08:13):

+

Realised sudo nix-collect-garbage doesn't get everything

+

March 05, 2024 at 12:27AM

+

https://old.reddit.com/r/NixOS/comments/1b70daq/realised_sudo_nixcollectgarbage_doesnt_get/

+ + + + +

view this post on Zulip IFTTT (Mar 06 2024 at 12:13):

+

nh - Yet another nix cli helper

+

March 04, 2024 at 05:08PM

+

https://old.reddit.com/r/NixOS/comments/1b6s4in/nh_yet_another_nix_cli_helper/

+ + + + +

view this post on Zulip IFTTT (Mar 06 2024 at 20:14):

+

Is NixOS Good for Intermediate Linux users?

+

March 02, 2024 at 08:26PM

+

https://old.reddit.com/r/NixOS/comments/1b589jf/is_nixos_good_for_intermediate_linux_users/

+ + + + +

view this post on Zulip IFTTT (Mar 07 2024 at 01:18):

+

The Joys of NixOS

+

March 06, 2024 at 04:25AM

+

https://old.reddit.com/r/NixOS/comments/1b7yf3l/the_joys_of_nixos/

+ + + + +

view this post on Zulip IFTTT (Mar 08 2024 at 08:13):

+

NixOS feasibility in enterprise

+

March 04, 2024 at 01:56PM

+

https://old.reddit.com/r/NixOS/comments/1b6nftb/nixos_feasibility_in_enterprise/

+ + + + +

view this post on Zulip IFTTT (Mar 08 2024 at 12:09):

+

Why is the Nix documentation so bad?

+

March 08, 2024 at 01:02AM

+

https://old.reddit.com/r/NixOS/comments/1b9jrzt/why_is_the_nix_documentation_so_bad/

+ + + + +

view this post on Zulip IFTTT (Mar 08 2024 at 19:13):

+

Replacing docker-compose with Nix for development

+

March 06, 2024 at 11:20AM

+

https://old.reddit.com/r/NixOS/comments/1b88ix7/replacing_dockercompose_with_nix_for_development/

+ + + + +

view this post on Zulip IFTTT (Mar 09 2024 at 07:09):

+

Rust programmers: How do you get pkg-config to work?

+

March 07, 2024 at 12:37AM

+

https://old.reddit.com/r/NixOS/comments/1b8pqoq/rust_programmers_how_do_you_get_pkgconfig_to_work/

+ + + + +

view this post on Zulip IFTTT (Mar 09 2024 at 11:13):

+

NixOS is an amazing server OS

+

March 08, 2024 at 11:04PM

+

https://old.reddit.com/r/NixOS/comments/1babsps/nixos_is_an_amazing_server_os/

+ + + + +

view this post on Zulip IFTTT (Mar 10 2024 at 18:13):

+

NixOS and devops?

+

March 09, 2024 at 12:04AM

+

https://old.reddit.com/r/NixOS/comments/1bacom7/nixos_and_devops/

+ + + + +

view this post on Zulip IFTTT (Mar 11 2024 at 16:09):

+

A homelab dashboard for NixOS

+

March 05, 2024 at 01:52PM

+

https://old.reddit.com/r/NixOS/comments/1b7hrwe/a_homelab_dashboard_for_nixos/

+ + + + +

view this post on Zulip IFTTT (Mar 11 2024 at 23:13):

+

Quick Check... is this possible? before I get too deep in research

+

March 09, 2024 at 05:42PM

+

https://old.reddit.com/r/NixOS/comments/1baye9q/quick_check_is_this_possible_before_i_get_too/

+ + + + +

view this post on Zulip IFTTT (Mar 12 2024 at 02:13):

+

is it a bad practice to use normal configs instead of nix files?

+

March 09, 2024 at 03:10AM

+

https://old.reddit.com/r/NixOS/comments/1bafe9e/is_it_a_bad_practice_to_use_normal_configs/

+ + + + +

view this post on Zulip IFTTT (Mar 12 2024 at 09:13):

+

Is it safe to replace the "/etc/nixos" folder with a sym link? (And will this sym link be preserved when I use "sudo nixos-rebuild switch"?

+

March 06, 2024 at 04:56PM

+

https://old.reddit.com/r/NixOS/comments/1b8gult/is_it_safe_to_replace_the_etcnixos_folder_with_a/

+ + + + +

view this post on Zulip IFTTT (Mar 12 2024 at 13:13):

+

Main use of NixOS as an operating system

+

March 11, 2024 at 07:28AM

+

https://old.reddit.com/r/NixOS/comments/1bc4hgo/main_use_of_nixos_as_an_operating_system/

+ + + + +

view this post on Zulip IFTTT (Mar 13 2024 at 13:13):

+

NixOS vs Immutable + Nix

+

March 10, 2024 at 12:42AM

+

https://old.reddit.com/r/NixOS/comments/1bb5o8y/nixos_vs_immutable_nix/

+ + + + +

view this post on Zulip IFTTT (Mar 13 2024 at 20:13):

+

SCaLE and NixCon North America kick off Thursday in Pasadena, CA - March 14-17, 2024

+

March 09, 2024 at 12:21PM

+

https://old.reddit.com/r/NixOS/comments/1bar5pu/scale_and_nixcon_north_america_kick_off_thursday/

+ + + + +

view this post on Zulip IFTTT (Mar 13 2024 at 23:13):

+

Share your Nixos/ Neovim Gotchas

+

March 12, 2024 at 07:35PM

+

https://old.reddit.com/r/NixOS/comments/1bdgc3j/share_your_nixos_neovim_gotchas/

+ + + + +

view this post on Zulip IFTTT (Mar 14 2024 at 09:09):

+

Am I adding modularity the right way?

+

March 07, 2024 at 11:19AM

+

https://old.reddit.com/r/NixOS/comments/1b92uwo/am_i_adding_modularity_the_right_way/

+ + + + +

view this post on Zulip IFTTT (Mar 14 2024 at 10:14):

+

Selectively Using Service Modules from NixOS Unstable

+

March 13, 2024 at 10:36AM

+

https://old.reddit.com/r/NixOS/comments/1bdxhrf/selectively_using_service_modules_from_nixos/

+ + + + +

view this post on Zulip IFTTT (Mar 14 2024 at 12:14):

+

Open Letter | NixOS Users Against MIC Sponsorship

+

March 14, 2024 at 12:35AM

+

https://old.reddit.com/r/NixOS/comments/1befnhr/open_letter_nixos_users_against_mic_sponsorship/

+ + + + +

view this post on Zulip IFTTT (Mar 14 2024 at 17:13):

+

Advice from advanced Nix users

+

March 13, 2024 at 08:19AM

+

https://old.reddit.com/r/NixOS/comments/1bdu27e/advice_from_advanced_nix_users/

+ + + + +

view this post on Zulip IFTTT (Mar 14 2024 at 18:13):

+

Nixos for gaming (bare with me)

+

March 13, 2024 at 11:45AM

+

https://old.reddit.com/r/NixOS/comments/1bdz9lj/nixos_for_gaming_bare_with_me/

+ + + + +

view this post on Zulip IFTTT (Mar 15 2024 at 13:09):

+

meme - NixOS Infection

+

March 15, 2024 at 05:00AM

+

https://old.reddit.com/r/NixOS/comments/1bfc9tm/meme_nixos_infection/

+ + + + +

view this post on Zulip IFTTT (Mar 15 2024 at 14:13):

+

How are you managing nixos hosts in production across fleets for services?

+

March 14, 2024 at 06:19PM

+

https://old.reddit.com/r/NixOS/comments/1bf1vrm/how_are_you_managing_nixos_hosts_in_production/

+ + + + +

view this post on Zulip IFTTT (Mar 15 2024 at 22:13):

+

NixOS gaming vs other distros?

+

March 15, 2024 at 01:45AM

+

https://old.reddit.com/r/NixOS/comments/1bf9c0z/nixos_gaming_vs_other_distros/

+ + + + +

view this post on Zulip IFTTT (Mar 16 2024 at 11:08):

+

Introducing FlakeHub Cache

+

March 15, 2024 at 11:18AM

+

https://old.reddit.com/r/NixOS/comments/1bfklkx/introducing_flakehub_cache/

+ + + + +

view this post on Zulip IFTTT (Mar 17 2024 at 00:13):

+

How do you guys justify the novelty on daily personal machines (non servers)

+

March 15, 2024 at 06:17PM

+

https://old.reddit.com/r/NixOS/comments/1bfu543/how_do_you_guys_justify_the_novelty_on_daily/

+ + + + +

view this post on Zulip IFTTT (Mar 17 2024 at 09:13):

+

NixOS on Orange Pi 5 (Plus) with socle: new features and documentation

+

March 16, 2024 at 05:02PM

+

https://old.reddit.com/r/NixOS/comments/1bgjx2p/nixos_on_orange_pi_5_plus_with_socle_new_features/

+ + + + +

view this post on Zulip IFTTT (Mar 18 2024 at 07:13):

+

Starting NixOS

+

March 16, 2024 at 06:48PM

+

https://old.reddit.com/r/NixOS/comments/1bgm2br/starting_nixos/

+ + + + +

view this post on Zulip IFTTT (Mar 18 2024 at 10:11):

+

how_to_start_nix

+

March 17, 2024 at 05:41AM

+

https://old.reddit.com/r/NixOS/comments/1bgwlv6/how_to_start_nix/

+ + + + +

view this post on Zulip IFTTT (Mar 18 2024 at 23:13):

+

How to Patch A Package Source on NixOS: Case Study - Alejandra4

+

March 16, 2024 at 02:31AM

+

https://old.reddit.com/r/NixOS/comments/1bg29z4/how_to_patch_a_package_source_on_nixos_case_study/

+ + + + +

view this post on Zulip IFTTT (Mar 20 2024 at 16:13):

+

devenv 1.0: Rewrite in Rust

+

March 20, 2024 at 06:41AM

+

https://old.reddit.com/r/NixOS/comments/1bjdpjp/devenv_10_rewrite_in_rust/

+ + + + +

view this post on Zulip IFTTT (Mar 22 2024 at 02:19):

+

bazel running in nix running in guix

+

March 16, 2024 at 09:51AM

+

https://old.reddit.com/r/NixOS/comments/1bgagzl/bazel_running_in_nix_running_in_guix/

+ + + + +

view this post on Zulip IFTTT (Mar 22 2024 at 09:09):

+

Is home manager the only good way of setting your themes?

+

March 18, 2024 at 03:33PM

+

https://old.reddit.com/r/NixOS/comments/1bi45uw/is_home_manager_the_only_good_way_of_setting_your/

+ + + + +

view this post on Zulip IFTTT (Mar 22 2024 at 10:13):

+

Using NixOS for my homelab

+

March 21, 2024 at 11:58PM

+

https://old.reddit.com/r/NixOS/comments/1bkt4rw/using_nixos_for_my_homelab/

+ + + + +

view this post on Zulip IFTTT (Mar 22 2024 at 19:13):

+

Is anyone else having trouble building waybar on the unstable channel?

+

March 20, 2024 at 03:32PM

+

https://old.reddit.com/r/NixOS/comments/1bjqjr5/is_anyone_else_having_trouble_building_waybar_on/

+ + + + +

view this post on Zulip IFTTT (Mar 23 2024 at 02:13):

+

Should we add nix flakes to the godot main repo?

+

March 19, 2024 at 02:37PM

+

https://old.reddit.com/r/NixOS/comments/1biw3iy/should_we_add_nix_flakes_to_the_godot_main_repo/

+ + + + +

view this post on Zulip IFTTT (Mar 23 2024 at 10:08):

+

nix-config-modules: Module system to simplify Nix configs for joint NixOS/home-manager setups

+

March 22, 2024 at 09:24AM

+

https://old.reddit.com/r/NixOS/comments/1bl3b5f/nixconfigmodules_module_system_to_simplify_nix/

+ + + + +

view this post on Zulip IFTTT (Mar 23 2024 at 16:13):

+

Is unstable... unstable?

+

March 23, 2024 at 04:01AM

+

https://old.reddit.com/r/NixOS/comments/1blpk58/is_unstable_unstable/

+ + + + +

view this post on Zulip IFTTT (Mar 24 2024 at 00:13):

+

Advanced NixOS Flake Setup Example

+

March 20, 2024 at 03:05PM

+

https://old.reddit.com/r/NixOS/comments/1bjpwc5/advanced_nixos_flake_setup_example/

+ + + + +

view this post on Zulip IFTTT (Mar 24 2024 at 02:13):

+

How do you structure your modules and Imports

+

March 21, 2024 at 04:13AM

+

https://old.reddit.com/r/NixOS/comments/1bk430s/how_do_you_structure_your_modules_and_imports/

+ + + + +

view this post on Zulip IFTTT (Mar 24 2024 at 12:13):

+

I run NixOS btw

+

March 24, 2024 at 04:12AM

+

https://old.reddit.com/r/NixOS/comments/1bmibb7/i_run_nixos_btw/

+ + + + +

view this post on Zulip IFTTT (Mar 24 2024 at 13:09):

+

NixOS Search - Sort by Popularity?

+

March 23, 2024 at 09:44PM

+

https://old.reddit.com/r/NixOS/comments/1bmcjc0/nixos_search_sort_by_popularity/

+ + + + +

view this post on Zulip IFTTT (Mar 24 2024 at 19:13):

+

Why are flakes not stable yet

+

March 24, 2024 at 09:46AM

+

https://old.reddit.com/r/NixOS/comments/1bmp7os/why_are_flakes_not_stable_yet/

+ + + + +

view this post on Zulip IFTTT (Mar 25 2024 at 14:09):

+

What do you put in configuration.nix and what in home-manager?

+

March 24, 2024 at 12:46PM

+

https://old.reddit.com/r/NixOS/comments/1bmtjjs/what_do_you_put_in_configurationnix_and_what_in/

+ + + + +

view this post on Zulip IFTTT (Mar 25 2024 at 16:09):

+

NixOS-based container and VM provisioning

+

March 24, 2024 at 08:04AM

+

https://old.reddit.com/r/NixOS/comments/1bmmuzz/nixosbased_container_and_vm_provisioning/

+ + + + +

view this post on Zulip IFTTT (Mar 26 2024 at 09:13):

+

How I finally installed NixOS

+

March 24, 2024 at 12:51PM

+

https://old.reddit.com/r/NixOS/comments/1bmtoae/how_i_finally_installed_nixos/

+ + + + +

view this post on Zulip IFTTT (Mar 26 2024 at 18:18):

+

How do I pick between devenv, devshell, devbox and flox?

+

March 26, 2024 at 03:16AM

+

https://old.reddit.com/r/NixOS/comments/1bo4d3v/how_do_i_pick_between_devenv_devshell_devbox_and/

+ + + + +

view this post on Zulip IFTTT (Mar 27 2024 at 16:14):

+

Tailscale and systemd on NixOS

+

March 27, 2024 at 01:56AM

+

https://old.reddit.com/r/NixOS/comments/1box9ij/tailscale_and_systemd_on_nixos/

+ + + + +

view this post on Zulip IFTTT (Mar 27 2024 at 21:13):

+

That one thing you wish you’d have come across sooner?

+

March 27, 2024 at 07:43AM

+

https://old.reddit.com/r/NixOS/comments/1bp3lh6/that_one_thing_you_wish_youd_have_come_across/

+ + + + +

view this post on Zulip IFTTT (Mar 28 2024 at 15:14):

+

How much of a pain is configuring programs?

+

March 27, 2024 at 04:26PM

+

https://old.reddit.com/r/NixOS/comments/1bpggn3/how_much_of_a_pain_is_configuring_programs/

+ + + + +

view this post on Zulip IFTTT (Mar 29 2024 at 02:13):

+

Beginner's guide to sunshine game/desktop streaming on NixOS

+

March 28, 2024 at 11:09AM

+

https://old.reddit.com/r/NixOS/comments/1bq2bx4/beginners_guide_to_sunshine_gamedesktop_streaming/

+ + + + +

view this post on Zulip IFTTT (Mar 29 2024 at 17:13):

+

Best beginner guide?

+

March 28, 2024 at 10:32AM

+

https://old.reddit.com/r/NixOS/comments/1bq1e2z/best_beginner_guide/

+ + + + +

view this post on Zulip IFTTT (Mar 29 2024 at 19:18):

+

Do you use btrfs?

+

March 29, 2024 at 03:45AM

+

https://old.reddit.com/r/NixOS/comments/1bqm7hv/do_you_use_btrfs/

+ + + + +

view this post on Zulip IFTTT (Mar 30 2024 at 03:13):

+

Xpost for Unstable Users: "Backdoor in upstream xz/liblzma leading to SSH server compromise" (supposedly primarily relevant for OpenSSH w/ systemd patches) [CVE-2024-3094]

+

March 29, 2024 at 02:14PM

+

https://old.reddit.com/r/NixOS/comments/1bqzjn6/xpost_for_unstable_users_backdoor_in_upstream/

+ + + + +

view this post on Zulip IFTTT (Mar 31 2024 at 17:13):

+

New to Nix and went in pretty blind, I love that i can run Pantheon! But don't love that I'm having a bit of a time getting Nvidia drivers working, any help would be greatly appreciated!

+

March 30, 2024 at 01:38PM

+

https://old.reddit.com/r/NixOS/comments/1brrp6w/new_to_nix_and_went_in_pretty_blind_i_love_that_i/

+ + + + +

view this post on Zulip IFTTT (Mar 31 2024 at 20:08):

+

How can I deploy/create the entire system with a single command?

+

March 31, 2024 at 02:17AM

+

https://old.reddit.com/r/NixOS/comments/1bs686e/how_can_i_deploycreate_the_entire_system_with_a/

+ + + + +

view this post on Zulip IFTTT (Apr 02 2024 at 03:13):

+

The official NixOS wiki is live(not an april fools joke)

+

April 01, 2024 at 06:25PM

+

https://old.reddit.com/r/NixOS/comments/1btm2pw/the_official_nixos_wiki_is_livenot_an_april_fools/

+ + + + +

view this post on Zulip IFTTT (Apr 02 2024 at 11:13):

+

NixOS - Is it an good Daily Use Distro for Software Developers?

+

April 01, 2024 at 04:41PM

+

https://old.reddit.com/r/NixOS/comments/1btjoys/nixos_is_it_an_good_daily_use_distro_for_software/

+ + + + +

view this post on Zulip IFTTT (Apr 02 2024 at 12:18):

+

NixOS unaffected by TZ vulnerability CVE-2024-3094

+

April 02, 2024 at 12:28AM

+

https://old.reddit.com/r/NixOS/comments/1btsomk/nixos_unaffected_by_tz_vulnerability_cve20243094/

+ + + + +

view this post on Zulip IFTTT (Apr 02 2024 at 21:13):

+

Bootstrappable?

+

April 02, 2024 at 10:48AM

+

https://old.reddit.com/r/NixOS/comments/1bu52m1/bootstrappable/

+ + + + +

view this post on Zulip IFTTT (Apr 03 2024 at 09:13):

+

How the xz backdoor highlights a major flaw in Nix

+

April 02, 2024 at 08:28PM

+

https://old.reddit.com/r/NixOS/comments/1buikof/how_the_xz_backdoor_highlights_a_major_flaw_in_nix/

+ + + + +

view this post on Zulip IFTTT (Apr 03 2024 at 20:09):

+

Sometimes i love nixos other times im losing my sanity on it

+

April 03, 2024 at 05:27AM

+

https://old.reddit.com/r/NixOS/comments/1burc2a/sometimes_i_love_nixos_other_times_im_losing_my/

+ + + + +

view this post on Zulip IFTTT (Apr 04 2024 at 03:08):

+

NixOS Foundation PR to add sponsorship policy

+

April 03, 2024 at 01:46PM

+

https://old.reddit.com/r/NixOS/comments/1bv3s3s/nixos_foundation_pr_to_add_sponsorship_policy/

+ + + + +

view this post on Zulip IFTTT (Apr 04 2024 at 21:13):

+

Recently it seems like everyone is switching to NixOS?

+

April 04, 2024 at 09:53AM

+

https://old.reddit.com/r/NixOS/comments/1bvs93a/recently_it_seems_like_everyone_is_switching_to/

+ + + + +

view this post on Zulip IFTTT (Apr 05 2024 at 11:18):

+

Is nixos a good fit if you install a bunch of random software.

+

April 04, 2024 at 01:49PM

+

https://old.reddit.com/r/NixOS/comments/1bvyfl5/is_nixos_a_good_fit_if_you_install_a_bunch_of/

+ + + + +

view this post on Zulip IFTTT (Apr 06 2024 at 11:13):

+

How steep is the learning curve for NixOS for a newbie?

+

April 05, 2024 at 06:41AM

+

https://old.reddit.com/r/NixOS/comments/1bwic77/how_steep_is_the_learning_curve_for_nixos_for_a/

+ + + + +

view this post on Zulip IFTTT (Apr 06 2024 at 18:13):

+

Selfhosting on NixOS, should i use built in services, or docker?

+

April 06, 2024 at 04:16AM

+

https://old.reddit.com/r/NixOS/comments/1bx938c/selfhosting_on_nixos_should_i_use_built_in/

+ + + + +

view this post on Zulip IFTTT (Apr 07 2024 at 04:13):

+

Introducing Flake-Containers: A simple PoC

+

April 06, 2024 at 02:48PM

+

https://old.reddit.com/r/NixOS/comments/1bxn8l7/introducing_flakecontainers_a_simple_poc/

+ + + + +

view this post on Zulip IFTTT (Apr 07 2024 at 08:13):

+

Nix is incredible

+

April 06, 2024 at 08:23PM

+

https://old.reddit.com/r/NixOS/comments/1bxucst/nix_is_incredible/

+ + + + +

view this post on Zulip IFTTT (Apr 08 2024 at 06:13):

+

catppuccin-nix: the soothing pastel theme, but for nix!

+

April 07, 2024 at 02:14PM

+

https://old.reddit.com/r/NixOS/comments/1byfm71/catppuccinnix_the_soothing_pastel_theme_but_for/

+ + + + +

view this post on Zulip IFTTT (Apr 08 2024 at 19:13):

+

Finished my first config in VM and transferred to hardware. NixOS is awesome and I'm only getting started. Ain't coming back to other distros ever again!

+

April 08, 2024 at 08:10AM

+

https://old.reddit.com/r/NixOS/comments/1bz0bqc/finished_my_first_config_in_vm_and_transferred_to/

+ + + + +

view this post on Zulip IFTTT (Apr 10 2024 at 04:13):

+

Chaos Computer Club : Fully declarative Homelab on NixOS :snowflake: (glt24)

+

April 08, 2024 at 12:28AM

+

https://old.reddit.com/r/NixOS/comments/1byrugu/chaos_computer_club_fully_declarative_homelab_on/

+ + + + +

view this post on Zulip IFTTT (Apr 10 2024 at 16:09):

+

NixOS alternatives

+

April 09, 2024 at 08:40AM

+

https://old.reddit.com/r/NixOS/comments/1bzvaof/nixos_alternatives/

+ + + + +

view this post on Zulip IFTTT (Apr 11 2024 at 13:13):

+

introducing nix-inspect: a TUI for browsing nix configs and other expressions!

+

April 11, 2024 at 04:36AM

+

https://old.reddit.com/r/NixOS/comments/1c1cty8/introducing_nixinspect_a_tui_for_browsing_nix/

+ + + + +

view this post on Zulip IFTTT (Apr 11 2024 at 21:13):

+

is this normal?

+

April 08, 2024 at 03:23PM

+

https://old.reddit.com/r/NixOS/comments/1bzbg3i/is_this_normal/

+ + + + +

view this post on Zulip IFTTT (Apr 12 2024 at 03:13):

+

Loving Nix OS

+

April 11, 2024 at 05:50PM

+

https://old.reddit.com/r/NixOS/comments/1c1vq7t/loving_nix_os/

+ + + + +

view this post on Zulip IFTTT (Apr 12 2024 at 18:14):

+

devenv.sh has been revamped :sparkles:

+

April 12, 2024 at 03:04AM

+

https://old.reddit.com/r/NixOS/comments/1c25d6p/devenvsh_has_been_revamped/

+ + + + +

view this post on Zulip IFTTT (Apr 13 2024 at 22:13):

+

nixos-rebuild switch and home-manager switch building a crazy amount of packages

+

April 09, 2024 at 11:32PM

+

https://old.reddit.com/r/NixOS/comments/1c0ezdr/nixosrebuild_switch_and_homemanager_switch/

+ + + + +

view this post on Zulip IFTTT (Apr 14 2024 at 04:13):

+

Do you recommend me NixOS, what problems may I find?

+

April 07, 2024 at 02:31AM

+

https://old.reddit.com/r/NixOS/comments/1by0ee3/do_you_recommend_me_nixos_what_problems_may_i_find/

+ + + + +

view this post on Zulip IFTTT (Apr 14 2024 at 10:18):

+

Installation on a Framework 16

+

April 08, 2024 at 07:58PM

+

https://old.reddit.com/r/NixOS/comments/1bzhm13/installation_on_a_framework_16/

+ + + + +

view this post on Zulip IFTTT (Apr 14 2024 at 18:13):

+

How well do you think NixOS correlates with infrastructure as code?

+

April 12, 2024 at 02:34PM

+

https://old.reddit.com/r/NixOS/comments/1c2kyo2/how_well_do_you_think_nixos_correlates_with/

+ + + + +

view this post on Zulip IFTTT (Apr 14 2024 at 21:13):

+

Home Manager vs. copied dot files?

+

April 14, 2024 at 06:22AM

+

https://old.reddit.com/r/NixOS/comments/1c3tgs2/home_manager_vs_copied_dot_files/

+ + + + +

view this post on Zulip IFTTT (Apr 15 2024 at 10:09):

+

Getting ready to give up on NixOS

+

April 15, 2024 at 12:31AM

+

https://old.reddit.com/r/NixOS/comments/1c4g9n4/getting_ready_to_give_up_on_nixos/

+ + + + +

view this post on Zulip IFTTT (Apr 15 2024 at 23:09):

+

Homelab refactor after NixOS discovery. Bad idea?

+

April 14, 2024 at 03:40PM

+

https://old.reddit.com/r/NixOS/comments/1c46ghj/homelab_refactor_after_nixos_discovery_bad_idea/

+ + + + +

view this post on Zulip IFTTT (Apr 16 2024 at 03:13):

+

Declarative dotfiles without home-manager?

+

April 14, 2024 at 02:07PM

+

https://old.reddit.com/r/NixOS/comments/1c44b0x/declarative_dotfiles_without_homemanager/

+ + + + +

view this post on Zulip IFTTT (Apr 16 2024 at 16:08):

+

[poll] Nixpkgs Contributors: how difficult do you feel it is to merge a PR? - Development

+

April 11, 2024 at 04:25AM

+

https://old.reddit.com/r/NixOS/comments/1c1cmn2/poll_nixpkgs_contributors_how_difficult_do_you/

+ + + + +

view this post on Zulip IFTTT (Apr 16 2024 at 23:09):

+

I deleted my boot partition while in the middle of a Twitch stream

+

April 16, 2024 at 12:44PM

+

https://old.reddit.com/r/NixOS/comments/1c5pc0y/i_deleted_my_boot_partition_while_in_the_middle/

+ + + + +

view this post on Zulip IFTTT (Apr 17 2024 at 16:09):

+

Git commit --to--> nixos-rebuild

+

April 16, 2024 at 05:36PM

+

https://old.reddit.com/r/NixOS/comments/1c5w9dh/git_commit_to_nixosrebuild/

+ + + + +

view this post on Zulip IFTTT (Apr 18 2024 at 07:09):

+

How to use both stable and unstable nixpkgs in a flake?

+

April 17, 2024 at 02:44PM

+

https://old.reddit.com/r/NixOS/comments/1c6m5j4/how_to_use_both_stable_and_unstable_nixpkgs_in_a/

+ + + + +

view this post on Zulip IFTTT (Apr 19 2024 at 01:08):

+

Best way to manage Python venv?

+

April 16, 2024 at 02:23PM

+

https://old.reddit.com/r/NixOS/comments/1c5rrxl/best_way_to_manage_python_venv/

+ + + + +

view this post on Zulip IFTTT (Apr 19 2024 at 07:09):

+

Gaming on nixos

+

April 18, 2024 at 12:54PM

+

https://old.reddit.com/r/NixOS/comments/1c7csct/gaming_on_nixos/

+ + + + +

view this post on Zulip IFTTT (Apr 19 2024 at 22:13):

+

Best way of implementing NixOS config updates for normies?

+

April 18, 2024 at 05:33PM

+

https://old.reddit.com/r/NixOS/comments/1c7jg5t/best_way_of_implementing_nixos_config_updates_for/

+ + + + +

view this post on Zulip IFTTT (Apr 20 2024 at 05:13):

+

Can I remove ~/.nix-defexpr and ~/nix-profile?

+

April 18, 2024 at 08:25AM

+

https://old.reddit.com/r/NixOS/comments/1c763xn/can_i_remove_nixdefexpr_and_nixprofile/

+ + + + +

view this post on Zulip IFTTT (Apr 20 2024 at 11:13):

+

NixOS Configs!

+

April 20, 2024 at 12:14AM

+

https://old.reddit.com/r/NixOS/comments/1c8jvdl/nixos_configs/

+ + + + +

view this post on Zulip IFTTT (Apr 21 2024 at 14:08):

+

Error while install qtile-extras

+

April 20, 2024 at 08:49AM

+

https://old.reddit.com/r/NixOS/comments/1c8t5xd/error_while_install_qtileextras/

+ + + + +

view this post on Zulip IFTTT (Apr 21 2024 at 23:09):

+

open letter to the NixOS foundation

+

April 21, 2024 at 02:42PM

+

https://old.reddit.com/r/NixOS/comments/1c9tlw3/open_letter_to_the_nixos_foundation/

+ + + + +

view this post on Zulip IFTTT (Apr 22 2024 at 01:13):

+

The declarative configuration of NixOS appears perfect for help from generative AI

+

April 21, 2024 at 02:48AM

+

https://old.reddit.com/r/NixOS/comments/1c9e2kk/the_declarative_configuration_of_nixos_appears/

+ + + + +

view this post on Zulip IFTTT (Apr 22 2024 at 06:13):

+

Compiled half a system for no reason (Gentoo experience)

+

April 21, 2024 at 05:31PM

+

https://old.reddit.com/r/NixOS/comments/1c9xbz2/compiled_half_a_system_for_no_reason_gentoo/

+ + + + +

view this post on Zulip IFTTT (Apr 22 2024 at 13:13):

+

How to actually do the thing NixOS was intended for?

+

April 21, 2024 at 10:13PM

+

https://old.reddit.com/r/NixOS/comments/1ca2kpx/how_to_actually_do_the_thing_nixos_was_intended/

+ + + + +

view this post on Zulip IFTTT (Apr 23 2024 at 20:09):

+

Nixos for android

+

April 22, 2024 at 03:43PM

+

https://old.reddit.com/r/NixOS/comments/1caohq7/nixos_for_android/

+ + + + +

view this post on Zulip IFTTT (Apr 24 2024 at 04:13):

+

NixOS as a learning tool

+

April 23, 2024 at 05:11PM

+

https://old.reddit.com/r/NixOS/comments/1cbkces/nixos_as_a_learning_tool/

+ + + + +

view this post on Zulip IFTTT (Apr 24 2024 at 19:09):

+

nixpkgs: Anticipating breaking changes as they arrive on stable.

+

April 24, 2024 at 07:55AM

+

https://old.reddit.com/r/NixOS/comments/1cc0a4a/nixpkgs_anticipating_breaking_changes_as_they/

+ + + + +

view this post on Zulip IFTTT (Apr 24 2024 at 23:13):

+

Looking for guidance on how to keep NixOS as my daily driver for work.

+

April 23, 2024 at 08:02PM

+

https://old.reddit.com/r/NixOS/comments/1cbnud1/looking_for_guidance_on_how_to_keep_nixos_as_my/

+ + + + +

view this post on Zulip IFTTT (Apr 24 2024 at 23:13):

+

How do you test and debug your nix code?

+

April 24, 2024 at 12:03PM

+

https://old.reddit.com/r/NixOS/comments/1cc6kkt/how_do_you_test_and_debug_your_nix_code/

+ + + + +

view this post on Zulip IFTTT (Apr 25 2024 at 06:18):

+

What is the best method to install packages if I only intend to have a single user on my system?

+

April 24, 2024 at 03:19PM

+

https://old.reddit.com/r/NixOS/comments/1ccbf7a/what_is_the_best_method_to_install_packages_if_i/

+ + + + +

view this post on Zulip IFTTT (Apr 26 2024 at 00:13):

+

In case I'm unable to return, wish you all the best

+

April 25, 2024 at 03:57PM

+

https://old.reddit.com/r/NixOS/comments/1cd5fod/in_case_im_unable_to_return_wish_you_all_the_best/

+ + + + +

view this post on Zulip IFTTT (Apr 26 2024 at 05:13):

+

The dire state of NixOS's moderation culture

+

April 25, 2024 at 07:25PM

+

https://old.reddit.com/r/NixOS/comments/1cda1h4/the_dire_state_of_nixoss_moderation_culture/

+ + + + +

view this post on Zulip IFTTT (Apr 26 2024 at 15:13):

+

What improvements are they talking about? Guix and Nix

+

April 26, 2024 at 01:05AM

+

https://old.reddit.com/r/NixOS/comments/1cdfukg/what_improvements_are_they_talking_about_guix_and/

+ + + + +

view this post on Zulip IFTTT (Apr 26 2024 at 20:13):

+

On community in Nix - Eelco Dolstra

+

April 26, 2024 at 11:57AM

+

https://old.reddit.com/r/NixOS/comments/1cdtgck/on_community_in_nix_eelco_dolstra/

+ + + + +

view this post on Zulip IFTTT (Apr 27 2024 at 09:13):

+

Been using nix for half a year, feeling kind of out of touch with my system?

+

April 26, 2024 at 11:23PM

+

https://old.reddit.com/r/NixOS/comments/1ce7oov/been_using_nix_for_half_a_year_feeling_kind_of/

+ + + + +

view this post on Zulip IFTTT (Apr 27 2024 at 15:13):

+

Transparency about jonringer’s suspension

+

April 27, 2024 at 06:23AM

+

https://old.reddit.com/r/NixOS/comments/1ceeg8h/transparency_about_jonringers_suspension/

+ + + + +

view this post on Zulip IFTTT (Apr 27 2024 at 20:13):

+

Thoughts on Jon Ringer's temporary suspension

+

April 27, 2024 at 09:47AM

+

https://old.reddit.com/r/NixOS/comments/1ceiz36/thoughts_on_jon_ringers_temporary_suspension/

+ + + + +

view this post on Zulip IFTTT (Apr 28 2024 at 01:08):

+

Fifteen contributors have officially removed themselves from maintaining Nixpkgs at the time of this submission, including Marsam, who had almost 18,000 commits over 8 years.

+

April 27, 2024 at 03:23PM

+

https://old.reddit.com/r/NixOS/comments/1ceqprq/fifteen_contributors_have_officially_removed/

+ + + + +

view this post on Zulip IFTTT (Apr 28 2024 at 13:13):

+

I presented about Nix at Conf42 | Using Nix to create reproducible Golang development environments

+

April 27, 2024 at 12:53PM

+

https://old.reddit.com/r/NixOS/comments/1cenaz8/i_presented_about_nix_at_conf42_using_nix_to/

+ + + + +

view this post on Zulip IFTTT (Apr 28 2024 at 21:13):

+

Is starting to contribute worth it?

+

April 28, 2024 at 01:57AM

+

https://old.reddit.com/r/NixOS/comments/1cf1xde/is_starting_to_contribute_worth_it/

+ + + + +

view this post on Zulip IFTTT (Apr 29 2024 at 12:13):

+

Moderation no-go zones

+

April 29, 2024 at 02:57AM

+

https://old.reddit.com/r/NixOS/comments/1cfv8vo/moderation_nogo_zones/

+ + + + +

view this post on Zulip IFTTT (May 01 2024 at 03:13):

+

Eelco steps down

+

April 30, 2024 at 05:44PM

+

https://old.reddit.com/r/NixOS/comments/1ch8vhv/eelco_steps_down/

+ + + + +

view this post on Zulip IFTTT (May 01 2024 at 16:13):

+

What do you think of my new wallpaper?

+

May 01, 2024 at 04:36AM

+

https://old.reddit.com/r/NixOS/comments/1chjyfs/what_do_you_think_of_my_new_wallpaper/

+ + + + +

view this post on Zulip IFTTT (May 02 2024 at 08:13):

+

Framework & NixOS Communities Join Forces

+

May 01, 2024 at 08:33PM

+

https://old.reddit.com/r/NixOS/comments/1ci5r64/framework_nixos_communities_join_forces/

+ + + + +

view this post on Zulip IFTTT (May 02 2024 at 23:13):

+

Is NixOS The Best Gaming Distro | Linux Gaming Setup

+

May 02, 2024 at 10:14AM

+

https://old.reddit.com/r/NixOS/comments/1cil5y4/is_nixos_the_best_gaming_distro_linux_gaming_setup/

+ + + + +

view this post on Zulip IFTTT (May 03 2024 at 13:13):

+

Guys, I did it

+

May 03, 2024 at 12:04AM

+

https://old.reddit.com/r/NixOS/comments/1cj2ess/guys_i_did_it/

+ + + + +

view this post on Zulip IFTTT (May 03 2024 at 19:13):

+

2024 NixOS crisis tldr

+

May 03, 2024 at 08:42AM

+

https://old.reddit.com/r/NixOS/comments/1cjbt6l/2024_nixos_crisis_tldr/

+ + + + +

view this post on Zulip IFTTT (May 04 2024 at 14:13):

+

Nix Board Update 1: Appointing a Constitutional Assembly

+

May 02, 2024 at 06:50PM

+

https://old.reddit.com/r/NixOS/comments/1ciwzag/nix_board_update_1_appointing_a_constitutional/

+ + + + +

view this post on Zulip IFTTT (May 04 2024 at 22:13):

+

Speeding up ELF relocations for store-based systems

+

May 03, 2024 at 02:55PM

+

https://old.reddit.com/r/NixOS/comments/1cjkaqo/speeding_up_elf_relocations_for_storebased_systems/

+ + + + +

view this post on Zulip IFTTT (May 05 2024 at 09:13):

+

REMINDER: Nix Zulip Assembly is open to almost anyone who has been active in the community!

+

May 04, 2024 at 06:00PM

+

https://old.reddit.com/r/NixOS/comments/1ckfeu0/reminder_nix_zulip_assembly_is_open_to_almost/

+ + + + +

view this post on Zulip IFTTT (May 06 2024 at 06:08):

+

new nix community governance right now

+

May 05, 2024 at 01:54PM

+

https://old.reddit.com/r/NixOS/comments/1cl17mu/new_nix_community_governance_right_now/

+ + + + +

view this post on Zulip IFTTT (May 06 2024 at 13:13):

+

I wonder how many "NixOS sux now" people are actually following https://nixpkgs.zulipchat.com/#narrow/stream/435724-governance/topic/Fundamental.20Principles

+

May 06, 2024 at 12:09AM

+

https://old.reddit.com/r/NixOS/comments/1clcwkf/i_wonder_how_many_nixos_sux_now_people_are/

+ + + + +

view this post on Zulip IFTTT (May 06 2024 at 17:13):

+

Separating Nix drama discussions from technical/educational ones?

+

May 06, 2024 at 02:54AM

+

https://old.reddit.com/r/NixOS/comments/1clf7v8/separating_nix_drama_discussions_from/

+ + + + +

view this post on Zulip IFTTT (May 07 2024 at 02:13):

+

There's a reason I don't use Gentoo...

+

May 06, 2024 at 02:01PM

+

https://old.reddit.com/r/NixOS/comments/1clu0do/theres_a_reason_i_dont_use_gentoo/

+ + + + +

view this post on Zulip IFTTT (May 08 2024 at 11:08):

+

Can we get some flairs?

+

May 07, 2024 at 04:38PM

+

https://old.reddit.com/r/NixOS/comments/1cmq9zw/can_we_get_some_flairs/

+ + + + +

view this post on Zulip IFTTT (May 08 2024 at 17:13):

+

Shea Levy has been suspended from the Governance Zulip

+

May 08, 2024 at 07:33AM

+

https://old.reddit.com/r/NixOS/comments/1cn60v1/shea_levy_has_been_suspended_from_the_governance/

+ + + + +

view this post on Zulip IFTTT (May 09 2024 at 00:18):

+

Broken Promises: The Nix Governance Discussions

+

May 08, 2024 at 12:52PM

+

https://old.reddit.com/r/NixOS/comments/1cndnyw/broken_promises_the_nix_governance_discussions/

+ + + + +

view this post on Zulip IFTTT (May 09 2024 at 18:08):

+

Daily driver

+

May 08, 2024 at 03:30PM

+

https://old.reddit.com/r/NixOS/comments/1cnhfse/daily_driver/

+ + + + +

view this post on Zulip IFTTT (May 10 2024 at 19:13):

+

(meme) Me explaining my NixOS config to a random person

+

May 10, 2024 at 09:52AM

+

https://old.reddit.com/r/NixOS/comments/1cou95d/meme_me_explaining_my_nixos_config_to_a_random/

+ + + + +

view this post on Zulip IFTTT (May 11 2024 at 19:13):

+

Looking For A Proper Guide On Learning The Nix Language | Where Is Nix/NixOS 101?

+

May 10, 2024 at 08:18PM

+

https://old.reddit.com/r/NixOS/comments/1cp7w20/looking_for_a_proper_guide_on_learning_the_nix/

+ + + + +

view this post on Zulip IFTTT (May 11 2024 at 22:13):

+

33 generations on my first day. I love this.

+

May 11, 2024 at 11:32AM

+

https://old.reddit.com/r/NixOS/comments/1cpnyeo/33_generations_on_my_first_day_i_love_this/

+ + + + +

view this post on Zulip IFTTT (May 13 2024 at 02:13):

+

How come NixOS is so awesome?

+

May 12, 2024 at 08:42AM

+

https://old.reddit.com/r/NixOS/comments/1cqapfu/how_come_nixos_is_so_awesome/

+ + + + +

view this post on Zulip IFTTT (May 13 2024 at 05:13):

+

Report on NixOS Governance Discussions

+

May 12, 2024 at 02:19PM

+

https://old.reddit.com/r/NixOS/comments/1cqic4w/report_on_nixos_governance_discussions/

+ + + + +

view this post on Zulip IFTTT (May 13 2024 at 21:13):

+

Is it possible to do offline updates of nixpkgs?

+

May 09, 2024 at 03:22PM

+

https://old.reddit.com/r/NixOS/comments/1co9spe/is_it_possible_to_do_offline_updates_of_nixpkgs/

+ + + + +

view this post on Zulip IFTTT (May 15 2024 at 00:13):

+

open question for the community

+

May 14, 2024 at 11:50AM

+

https://old.reddit.com/r/NixOS/comments/1crzw4l/open_question_for_the_community/

+ + + + +

view this post on Zulip IFTTT (May 15 2024 at 06:13):

+

Proposal: Nix Values

+

May 10, 2024 at 05:08PM

+

https://old.reddit.com/r/NixOS/comments/1cp4a3h/proposal_nix_values/

+ + + + +

view this post on Zulip IFTTT (May 15 2024 at 15:13):

+

How does NixOS handle fast applications with rapid release cycles?

+

May 14, 2024 at 03:09AM

+

https://old.reddit.com/r/NixOS/comments/1crok4p/how_does_nixos_handle_fast_applications_with/

+ + + + +

view this post on Zulip IFTTT (May 15 2024 at 20:18):

+

[Solution] Are Your Fonts Not Working? You Might Have Installed Them Wrong | Regular & Console (TTY)

+

May 12, 2024 at 01:56AM

+

https://old.reddit.com/r/NixOS/comments/1cq3jt8/solution_are_your_fonts_not_working_you_might/

+ + + + +

view this post on Zulip IFTTT (May 15 2024 at 23:13):

+

Nix forked, but over politics instead of progress

+

May 14, 2024 at 06:17PM

+

https://old.reddit.com/r/NixOS/comments/1cs8qpj/nix_forked_but_over_politics_instead_of_progress/

+ + + + +

view this post on Zulip IFTTT (May 16 2024 at 11:09):

+

NixOS Foundation Board: Constitutional Assembly Appointment - Announcements

+

May 15, 2024 at 08:37PM

+

https://old.reddit.com/r/NixOS/comments/1ct3tdb/nixos_foundation_board_constitutional_assembly/

+ + + + +

view this post on Zulip IFTTT (May 16 2024 at 23:13):

+

Drama Consequences for a Potential New User

+

May 15, 2024 at 03:01AM

+

https://old.reddit.com/r/NixOS/comments/1csh3ku/drama_consequences_for_a_potential_new_user/

+ + + + +

view this post on Zulip IFTTT (May 17 2024 at 07:13):

+

What is bad about documentation exactly?

+

May 16, 2024 at 10:48AM

+

https://old.reddit.com/r/NixOS/comments/1ctiy3f/what_is_bad_about_documentation_exactly/

+ + + + +

view this post on Zulip IFTTT (May 17 2024 at 08:13):

+

Why a Generic Open Source Project Can't Also Be a Successful Civil Rights Project

+

May 15, 2024 at 08:16PM

+

https://old.reddit.com/r/NixOS/comments/1ct3fut/why_a_generic_open_source_project_cant_also_be_a/

+ + + + +

view this post on Zulip IFTTT (May 18 2024 at 09:13):

+

Friendly reminder: optimize-store is not on by default and you may be using a lot of disk space

+

May 17, 2024 at 08:17PM

+

https://old.reddit.com/r/NixOS/comments/1cunvdw/friendly_reminder_optimizestore_is_not_on_by/

+ + + + +

view this post on Zulip IFTTT (May 18 2024 at 14:18):

+

Acceptance threshold for "any project, event, or forum with Nix/NixOS branding"

+

May 18, 2024 at 12:13AM

+

https://old.reddit.com/r/NixOS/comments/1curmzm/acceptance_threshold_for_any_project_event_or/

+ + + + +

view this post on Zulip IFTTT (May 19 2024 at 03:13):

+

FWIW, THIS is my definition of fascism

+

May 18, 2024 at 09:10AM

+

https://old.reddit.com/r/NixOS/comments/1cv0q6h/fwiw_this_is_my_definition_of_fascism/

+ + + + +

view this post on Zulip IFTTT (May 19 2024 at 16:13):

+

Should I take the nix pill?

+

May 14, 2024 at 11:33AM

+

https://old.reddit.com/r/NixOS/comments/1crzgpl/should_i_take_the_nix_pill/

+ + + + +

view this post on Zulip IFTTT (May 19 2024 at 22:18):

+

Building a Homelab, Part 4 - Nixification, Kubernetes

+

May 18, 2024 at 09:20PM

+

https://old.reddit.com/r/NixOS/comments/1cvftmy/building_a_homelab_part_4_nixification_kubernetes/

+ + + + +

view this post on Zulip IFTTT (May 21 2024 at 02:08):

+

Name one thing you are not able to do because you are on NixOS and not on something more popular like Ubuntu/Debian/Fedora.

+

May 20, 2024 at 10:19AM

+

https://old.reddit.com/r/NixOS/comments/1cwkyjf/name_one_thing_you_are_not_able_to_do_because_you/

+ + + + +

view this post on Zulip IFTTT (May 21 2024 at 14:13):

+

Stylix: Declaratively apply color scheme, font, and wallpaper to desktops and apps

+

May 20, 2024 at 05:43PM

+

https://old.reddit.com/r/NixOS/comments/1cwv7vv/stylix_declaratively_apply_color_scheme_font_and/

+ + + + +

view this post on Zulip IFTTT (May 22 2024 at 02:13):

+

What are your tools for monitoring your NixOS hosts?

+

May 19, 2024 at 04:01AM

+

https://old.reddit.com/r/NixOS/comments/1cvlpul/what_are_your_tools_for_monitoring_your_nixos/

+ + + + +

view this post on Zulip IFTTT (May 22 2024 at 07:13):

+

[Question] Nvidia 555 Beta Released Today

+

May 21, 2024 at 07:58AM

+

https://old.reddit.com/r/NixOS/comments/1cx9wsy/question_nvidia_555_beta_released_today/

+ + + + +

view this post on Zulip IFTTT (May 22 2024 at 17:13):

+

Why brought you to NixOS? More importantly, what keeps you with NixOS?

+

May 22, 2024 at 04:07AM

+

https://old.reddit.com/r/NixOS/comments/1cxxkvd/why_brought_you_to_nixos_more_importantly_what/

+ + + + +

view this post on Zulip IFTTT (May 22 2024 at 22:13):

+

I'm frustrated with my NixOS install

+

May 22, 2024 at 08:17AM

+

https://old.reddit.com/r/NixOS/comments/1cy2r9r/im_frustrated_with_my_nixos_install/

+ + + + +

view this post on Zulip IFTTT (May 23 2024 at 05:09):

+

r/NixOS deleted from the official Wiki

+

May 22, 2024 at 01:15PM

+

https://old.reddit.com/r/NixOS/comments/1cya4k4/rnixos_deleted_from_the_official_wiki/

+ + + + +

view this post on Zulip IFTTT (May 23 2024 at 17:13):

+

Holy crap Wayland just worked

+

May 22, 2024 at 11:08PM

+

https://old.reddit.com/r/NixOS/comments/1cylvdb/holy_crap_wayland_just_worked/

+ + + + +

view this post on Zulip IFTTT (May 25 2024 at 04:13):

+

New to NixOS: Should I Use Flakes for My Setup?

+

May 23, 2024 at 05:15AM

+

https://old.reddit.com/r/NixOS/comments/1cyrc50/new_to_nixos_should_i_use_flakes_for_my_setup/

+ + + + +

view this post on Zulip IFTTT (May 25 2024 at 08:18):

+

Guide : Fix "Steam on Linux now requires the ability to create new user namespaces"

+

May 22, 2024 at 09:29AM

+

https://old.reddit.com/r/NixOS/comments/1cy4j26/guide_fix_steam_on_linux_now_requires_the_ability/

+ + + + +

view this post on Zulip IFTTT (May 26 2024 at 11:13):

+

Can a Yubikey be used to access the secrets.yaml file in sops-nix?

+

May 25, 2024 at 06:44AM

+

https://old.reddit.com/r/NixOS/comments/1d0ccqe/can_a_yubikey_be_used_to_access_the_secretsyaml/

+ + + + +

view this post on Zulip IFTTT (May 27 2024 at 05:13):

+

I have been contemplating the move to NixOS from Arch for a bit.

+

May 26, 2024 at 12:02PM

+

https://old.reddit.com/r/NixOS/comments/1d18ijf/i_have_been_contemplating_the_move_to_nixos_from/

+ + + + +

view this post on Zulip IFTTT (May 27 2024 at 21:13):

+

Walking Through Why Precompiled Hello World Cannot Execute on NixOS

+

May 27, 2024 at 02:07AM

+

https://old.reddit.com/r/NixOS/comments/1d1nd9l/walking_through_why_precompiled_hello_world/

+ + + + +

view this post on Zulip IFTTT (May 28 2024 at 15:18):

+

Potentially Declare Obsidian?

+

May 27, 2024 at 05:57PM

+

https://old.reddit.com/r/NixOS/comments/1d277fo/potentially_declare_obsidian/

+ + + + +

view this post on Zulip IFTTT (May 28 2024 at 17:08):

+

i just noticed this. i think it was just 80,000 before - mind-blowing

+

May 28, 2024 at 08:37AM

+

https://old.reddit.com/r/NixOS/comments/1d2mfkt/i_just_noticed_this_i_think_it_was_just_80000/

+ + + + +

view this post on Zulip IFTTT (May 29 2024 at 06:08):

+

Why NixOS won over Guix ?

+

May 28, 2024 at 12:33PM

+

https://old.reddit.com/r/NixOS/comments/1d2s6r1/why_nixos_won_over_guix/

+ + + + +

view this post on Zulip IFTTT (May 29 2024 at 17:08):

+

Should I switch to NixOS from Ubuntu?

+

May 25, 2024 at 03:00PM

+

https://old.reddit.com/r/NixOS/comments/1d0momz/should_i_switch_to_nixos_from_ubuntu/

+ + + + +

view this post on Zulip IFTTT (May 29 2024 at 21:09):

+

Impermanence and discovering what needs to be persistant

+

May 26, 2024 at 01:43PM

+

https://old.reddit.com/r/NixOS/comments/1d1apm0/impermanence_and_discovering_what_needs_to_be/

+ + + + +

view this post on Zulip IFTTT (May 30 2024 at 06:13):

+

nixos-cli :: A unified NixOS tooling replacement for nixos-* utilities

+

May 29, 2024 at 06:53PM

+

https://old.reddit.com/r/NixOS/comments/1d3ssmo/nixoscli_a_unified_nixos_tooling_replacement_for/

+ + + + +

view this post on Zulip IFTTT (May 30 2024 at 07:13):

+

gradle2nix V2: Call for testers

+

May 29, 2024 at 06:43PM

+

https://old.reddit.com/r/NixOS/comments/1d3slpg/gradle2nix_v2_call_for_testers/

+ + + + +

view this post on Zulip IFTTT (May 30 2024 at 13:13):

+

My first genuine crash (frozen machine) in nixOS for as long as I can remember

+

May 29, 2024 at 12:34PM

+

https://old.reddit.com/r/NixOS/comments/1d3kqck/my_first_genuine_crash_frozen_machine_in_nixos/

+ + + + +

view this post on Zulip IFTTT (May 31 2024 at 04:13):

+

"Nix is just JSON with functions"

+

May 30, 2024 at 03:50PM

+

https://old.reddit.com/r/NixOS/comments/1d4gobt/nix_is_just_json_with_functions/

+ + + + +

view this post on Zulip IFTTT (May 31 2024 at 21:13):

+

NixOS 24.05 released!

+

May 31, 2024 at 12:35PM

+

https://old.reddit.com/r/NixOS/comments/1d544po/nixos_2405_released/

+ + + + +

view this post on Zulip IFTTT (Jun 01 2024 at 22:08):

+

Should I start flaking?

+

May 31, 2024 at 05:02PM

+

https://old.reddit.com/r/NixOS/comments/1d5a015/should_i_start_flaking/

+ + + + +

view this post on Zulip IFTTT (Jun 02 2024 at 19:13):

+

Upgrading To 24.05 Corrupted DNS For All Snapshots

+

June 01, 2024 at 04:20PM

+

https://old.reddit.com/r/NixOS/comments/1d5zo9c/upgrading_to_2405_corrupted_dns_for_all_snapshots/

+ + + + +

view this post on Zulip IFTTT (Jun 02 2024 at 21:08):

+

nix: 2.18 -> 2.22, proposal/suggestion on switching the default nix implementation to lix.

+

May 30, 2024 at 09:26AM

+

https://old.reddit.com/r/NixOS/comments/1d483mk/nix_218_222_proposalsuggestion_on_switching_the/

+ + + + +

view this post on Zulip IFTTT (Jun 04 2024 at 01:13):

+

My little adventure into NixOS

+

June 03, 2024 at 12:42PM

+

https://old.reddit.com/r/NixOS/comments/1d7dheg/my_little_adventure_into_nixos/

+ + + + +

view this post on Zulip IFTTT (Jun 04 2024 at 20:09):

+

Nvidia thinks there are two monitors

+

June 03, 2024 at 09:00PM

+

https://old.reddit.com/r/NixOS/comments/1d7o4hb/nvidia_thinks_there_are_two_monitors/

+ + + + +

view this post on Zulip IFTTT (Jun 04 2024 at 23:13):

+

Just switched from Windows. Amazingly smooth and lovely experience, everything just works. Love it!

+

June 04, 2024 at 02:43PM

+

https://old.reddit.com/r/NixOS/comments/1d8930h/just_switched_from_windows_amazingly_smooth_and/

+ + + + +

view this post on Zulip IFTTT (Jun 05 2024 at 00:13):

+

should i keep these x11 codes or not?

+

June 04, 2024 at 01:42PM

+

https://old.reddit.com/r/NixOS/comments/1d87li4/should_i_keep_these_x11_codes_or_not/

+ + + + +

view this post on Zulip IFTTT (Jun 06 2024 at 02:13):

+

Messages after booting!!!

+

June 04, 2024 at 10:17AM

+

https://old.reddit.com/r/NixOS/comments/1d82lj5/messages_after_booting/

+ + + + +

view this post on Zulip IFTTT (Jun 06 2024 at 04:13):

+

Am I using NixOS correctly?

+

June 05, 2024 at 02:00PM

+

https://old.reddit.com/r/NixOS/comments/1d90qlc/am_i_using_nixos_correctly/

+ + + + +

view this post on Zulip IFTTT (Jun 06 2024 at 17:09):

+

locked out of nixos installer

+

June 06, 2024 at 04:10AM

+

https://old.reddit.com/r/NixOS/comments/1d9fm5k/locked_out_of_nixos_installer/

+ + + + +

view this post on Zulip IFTTT (Jun 06 2024 at 23:13):

+

Curious about how you manage packages.

+

June 05, 2024 at 10:07AM

+

https://old.reddit.com/r/NixOS/comments/1d8v43d/curious_about_how_you_manage_packages/

+ + + + +

view this post on Zulip IFTTT (Jun 07 2024 at 01:13):

+

Mom come pick me up I'm scared

+

June 06, 2024 at 01:37PM

+

https://old.reddit.com/r/NixOS/comments/1d9sfmy/mom_come_pick_me_up_im_scared/

+ + + + +

view this post on Zulip IFTTT (Jun 07 2024 at 04:08):

+

NixOS Meme

+

June 06, 2024 at 07:12PM

+

https://old.reddit.com/r/NixOS/comments/1d9zogg/nixos_meme/

+ + + + +

view this post on Zulip IFTTT (Jun 07 2024 at 14:14):

+

For your consideration.

+

June 07, 2024 at 01:24AM

+

https://old.reddit.com/r/NixOS/comments/1da5o92/for_your_consideration/

+ + + + +

view this post on Zulip IFTTT (Jun 08 2024 at 02:13):

+

SteamOS based on NixOS?

+

June 07, 2024 at 11:18AM

+

https://old.reddit.com/r/NixOS/comments/1dahr3g/steamos_based_on_nixos/

+ + + + +

view this post on Zulip IFTTT (Jun 08 2024 at 04:13):

+

My NixOS rice

+

June 07, 2024 at 06:36PM

+

https://old.reddit.com/r/NixOS/comments/1darina/my_nixos_rice/

+ + + + +

view this post on Zulip IFTTT (Jun 08 2024 at 07:13):

+

Do you think Nix language is confusing?

+

June 07, 2024 at 08:11PM

+

https://old.reddit.com/r/NixOS/comments/1dat919/do_you_think_nix_language_is_confusing/

+ + + + +

view this post on Zulip IFTTT (Jun 09 2024 at 03:13):

+

Yubikey + gpg key + sops-nix

+

June 08, 2024 at 12:23PM

+

https://old.reddit.com/r/NixOS/comments/1dbalru/yubikey_gpg_key_sopsnix/

+ + + + +

view this post on Zulip IFTTT (Jun 09 2024 at 06:18):

+

Thank the lord for NixOS

+

June 08, 2024 at 03:42PM

+

https://old.reddit.com/r/NixOS/comments/1dbev5o/thank_the_lord_for_nixos/

+ + + + +

view this post on Zulip IFTTT (Jun 09 2024 at 19:13):

+

NixOS and Hyprland, perfect match!

+

June 09, 2024 at 09:29AM

+

https://old.reddit.com/r/NixOS/comments/1dbxrsv/nixos_and_hyprland_perfect_match/

+ + + + +

view this post on Zulip IFTTT (Jun 10 2024 at 06:18):

+

NixOS and i3wm, perfect match!

+

June 09, 2024 at 01:56PM

+

https://old.reddit.com/r/NixOS/comments/1dc4190/nixos_and_i3wm_perfect_match/

+ + + + +

view this post on Zulip IFTTT (Jun 10 2024 at 07:13):

+

It's been a helluva ride. When I first moved over from Linux Mint, I'd say I had about 70% of everything working. But a lot of stuff that worked right out the box over there, I had to learn to do on my own over here. I finally have everything working 100% like I did on LM. I Love NixOS

+

June 09, 2024 at 12:45PM

+

https://old.reddit.com/r/NixOS/comments/1dc2c2b/its_been_a_helluva_ride_when_i_first_moved_over/

+ + + + +

view this post on Zulip IFTTT (Jun 13 2024 at 09:13):

+

I have an issue with NixOS

+

June 12, 2024 at 02:05PM

+

https://old.reddit.com/r/NixOS/comments/1dehjla/i_have_an_issue_with_nixos/

+ + + + +

view this post on Zulip IFTTT (Jun 13 2024 at 12:08):

+

nix people

+

June 13, 2024 at 02:58AM

+

https://old.reddit.com/r/NixOS/comments/1deva8d/nix_people/

+ + + + +

view this post on Zulip IFTTT (Jun 14 2024 at 03:13):

+

[ Hyprland + NixOS ] Clean and simple

+

June 09, 2024 at 10:03AM

+

https://old.reddit.com/r/NixOS/comments/1dbyjx7/hyprland_nixos_clean_and_simple/

+ + + + +

view this post on Zulip IFTTT (Jun 14 2024 at 08:08):

+

Could we convince Hetzner to add Nixos as a standard image choice

+

June 12, 2024 at 11:31PM

+

https://old.reddit.com/r/NixOS/comments/1desdbv/could_we_convince_hetzner_to_add_nixos_as_a/

+ + + + +

view this post on Zulip IFTTT (Jun 15 2024 at 04:13):

+

Aside from the declarative nature of nixOS what benefits does it offer?

+

June 13, 2024 at 05:14PM

+

https://old.reddit.com/r/NixOS/comments/1dfdste/aside_from_the_declarative_nature_of_nixos_what/

+ + + + +

view this post on Zulip IFTTT (Jun 15 2024 at 13:13):

+

NixOS in 2100

+

June 15, 2024 at 01:22AM

+

https://old.reddit.com/r/NixOS/comments/1dgdada/nixos_in_2100/

+ + + + +

view this post on Zulip IFTTT (Jun 15 2024 at 23:08):

+

NixOS Beginner

+

June 09, 2024 at 06:46PM

+

https://old.reddit.com/r/NixOS/comments/1dca4se/nixos_beginner/

+ + + + +

view this post on Zulip IFTTT (Jun 16 2024 at 16:13):

+

Please upvote the top comment to get Nixos as standard image on Hetzner!

+

June 16, 2024 at 05:17AM

+

https://old.reddit.com/r/NixOS/comments/1dh6ci9/please_upvote_the_top_comment_to_get_nixos_as/

+ + + + +

view this post on Zulip IFTTT (Jun 16 2024 at 17:08):

+

Password for the user nixos in the NixOS ISO

+

June 11, 2024 at 08:58AM

+

https://old.reddit.com/r/NixOS/comments/1ddhngn/password_for_the_user_nixos_in_the_nixos_iso/

+ + + + +

view this post on Zulip IFTTT (Jun 16 2024 at 20:13):

+

A Flake for Nook Desktop! (Animal Crossing BGM/Rain App)

+

June 10, 2024 at 09:12PM

+

https://old.reddit.com/r/NixOS/comments/1dd5c3s/a_flake_for_nook_desktop_animal_crossing_bgmrain/

+ + + + +

view this post on Zulip IFTTT (Jun 16 2024 at 21:13):

+

I'm just about done with NixOS. How do I get a simple python data science environment up and running?

+

June 13, 2024 at 05:10AM

+

https://old.reddit.com/r/NixOS/comments/1dexghb/im_just_about_done_with_nixos_how_do_i_get_a/

+ + + + +

view this post on Zulip IFTTT (Jun 16 2024 at 22:09):

+

Nixvim is done now i can proccede to NixOs Config....

+

June 16, 2024 at 06:21AM

+

https://old.reddit.com/r/NixOS/comments/1dh7hd3/nixvim_is_done_now_i_can_proccede_to_nixos_config/

+ + + + +

view this post on Zulip IFTTT (Jun 16 2024 at 23:13):

+

My first try.. on Qemu but I like it so far!

+

June 16, 2024 at 10:24AM

+

https://old.reddit.com/r/NixOS/comments/1dhcisu/my_first_try_on_qemu_but_i_like_it_so_far/

+ + + + +

view this post on Zulip IFTTT (Jun 17 2024 at 19:13):

+

How to use Neovim without nixvim

+

June 17, 2024 at 01:54AM

+

https://old.reddit.com/r/NixOS/comments/1dhtj1t/how_to_use_neovim_without_nixvim/

+ + + + +

view this post on Zulip IFTTT (Jun 17 2024 at 19:13):

+

The official NixOS YouTube channel is Live..

+

June 17, 2024 at 07:52AM

+

https://old.reddit.com/r/NixOS/comments/1di002u/the_official_nixos_youtube_channel_is_live/

+ + + + +

view this post on Zulip IFTTT (Jun 18 2024 at 04:13):

+

What is the future of NixOS?

+

June 17, 2024 at 02:17PM

+

https://old.reddit.com/r/NixOS/comments/1di99pf/what_is_the_future_of_nixos/

+ + + + +

view this post on Zulip IFTTT (Jun 18 2024 at 07:13):

+

a true story

+

June 17, 2024 at 08:26PM

+

https://old.reddit.com/r/NixOS/comments/1dih01j/a_true_story/

+ + + + +

view this post on Zulip IFTTT (Jun 19 2024 at 14:13):

+

NixOS ISO on Hetzner as default (please vote for it here!)

+

June 19, 2024 at 01:52AM

+

https://old.reddit.com/r/NixOS/comments/1djeh0v/nixos_iso_on_hetzner_as_default_please_vote_for/

+ + + + +

view this post on Zulip IFTTT (Jun 20 2024 at 03:13):

+

What is this, Gentoo?

+

June 19, 2024 at 11:28AM

+

https://old.reddit.com/r/NixOS/comments/1djqa3p/what_is_this_gentoo/

+ + + + +

view this post on Zulip IFTTT (Jun 21 2024 at 17:13):

+

List of open source games and their status on nixos

+

June 21, 2024 at 07:47AM

+

https://old.reddit.com/r/NixOS/comments/1dl5rxe/list_of_open_source_games_and_their_status_on/

+ + + + +

view this post on Zulip IFTTT (Jun 22 2024 at 09:13):

+

Constitutional Assembly Statement on Jon Ringer

+

June 21, 2024 at 10:22PM

+

https://old.reddit.com/r/NixOS/comments/1dloahg/constitutional_assembly_statement_on_jon_ringer/

+ + + + +

view this post on Zulip IFTTT (Jun 23 2024 at 12:13):

+

What exactly are Flakes?

+

June 22, 2024 at 07:03PM

+

https://old.reddit.com/r/NixOS/comments/1dmbimf/what_exactly_are_flakes/

+ + + + +

view this post on Zulip IFTTT (Jun 23 2024 at 14:13):

+

Best Nix LSP for Neovim

+

June 20, 2024 at 04:59PM

+

https://old.reddit.com/r/NixOS/comments/1dkqcqc/best_nix_lsp_for_neovim/

+ + + + +

view this post on Zulip IFTTT (Jun 23 2024 at 18:13):

+

Is making Nix my first distro/daily driver a terrible idea?

+

June 21, 2024 at 11:57AM

+

https://old.reddit.com/r/NixOS/comments/1dlboqx/is_making_nix_my_first_distrodaily_driver_a/

+ + + + +

view this post on Zulip IFTTT (Jun 23 2024 at 20:13):

+

Leaving NixOS for Arch.

+

June 23, 2024 at 08:33AM

+

https://old.reddit.com/r/NixOS/comments/1dmot2m/leaving_nixos_for_arch/

+ + + + +

view this post on Zulip IFTTT (Jun 24 2024 at 09:08):

+

Nvim managed 100% by nvim

+

June 19, 2024 at 02:23PM

+

https://old.reddit.com/r/NixOS/comments/1djuh62/nvim_managed_100_by_nvim/

+ + + + +

view this post on Zulip IFTTT (Jun 24 2024 at 15:13):

+

GitHub - redcode-labs/RedNixOS: NixOS-based 'distro' for cybersecurity enthusiasts

+

June 17, 2024 at 10:26PM

+

https://old.reddit.com/r/NixOS/comments/1dij1pa/github_redcodelabsrednixos_nixosbased_distro_for/

+ + + + +

view this post on Zulip IFTTT (Jun 24 2024 at 22:13):

+

The Proxmox Hypervisor, on NixOS

+

June 24, 2024 at 12:55PM

+

https://old.reddit.com/r/NixOS/comments/1dnmqb2/the_proxmox_hypervisor_on_nixos/

+ + + + +

view this post on Zulip IFTTT (Jun 25 2024 at 06:13):

+

46%

+

June 24, 2024 at 10:37AM

+

https://old.reddit.com/r/NixOS/comments/1dnje2z/46/

+ + + + +

view this post on Zulip IFTTT (Jun 26 2024 at 09:13):

+

Catppuccin GTK

+

June 22, 2024 at 01:04AM

+

https://old.reddit.com/r/NixOS/comments/1dlqoem/catppuccin_gtk/

+ + + + +

view this post on Zulip IFTTT (Jun 26 2024 at 19:13):

+

Someone please explain home.nix flakes.nix combo to me like I am 5

+

June 23, 2024 at 02:25PM

+

https://old.reddit.com/r/NixOS/comments/1dmwpej/someone_please_explain_homenix_flakesnix_combo_to/

+ + + + +

view this post on Zulip IFTTT (Jun 26 2024 at 22:13):

+

Will i have problems with university projects using NixOS

+

June 24, 2024 at 02:05AM

+

https://old.reddit.com/r/NixOS/comments/1dn92v3/will_i_have_problems_with_university_projects/

+ + + + +

view this post on Zulip IFTTT (Jun 27 2024 at 00:18):

+

title

+

June 26, 2024 at 03:51PM

+

https://old.reddit.com/r/NixOS/comments/1dpc0ea/title/

+ + + + +

view this post on Zulip IFTTT (Jun 27 2024 at 07:13):

+

NixOS makes me feel powerful!

+

June 26, 2024 at 08:14PM

+

https://old.reddit.com/r/NixOS/comments/1dphcnj/nixos_makes_me_feel_powerful/

+ + + + +

view this post on Zulip IFTTT (Jun 27 2024 at 10:13):

+

Holy moly

+

June 27, 2024 at 02:08AM

+

https://old.reddit.com/r/NixOS/comments/1dpmuh7/holy_moly/

+ + + + +

view this post on Zulip IFTTT (Jun 27 2024 at 23:13):

+

Adding parallel evaluation to Nix, by Eelco Dolstra

+

June 27, 2024 at 08:45AM

+

https://old.reddit.com/r/NixOS/comments/1dpugf4/adding_parallel_evaluation_to_nix_by_eelco_dolstra/

+ + + + +

view this post on Zulip IFTTT (Jun 28 2024 at 10:13):

+

Where are my SDKs are stored in NixOS?

+

June 27, 2024 at 06:59PM

+

https://old.reddit.com/r/NixOS/comments/1dq8c2j/where_are_my_sdks_are_stored_in_nixos/

+ + + + +

view this post on Zulip IFTTT (Jun 28 2024 at 18:13):

+

4 out of 5 NixOS board members have quit

+

June 28, 2024 at 09:06AM

+

https://old.reddit.com/r/NixOS/comments/1dqn9os/4_out_of_5_nixos_board_members_have_quit/

+ + + + +

view this post on Zulip IFTTT (Jun 29 2024 at 07:13):

+

Do we know who (person or people) is causing NixOS founding board members to leave?

+

June 28, 2024 at 04:33PM

+

https://old.reddit.com/r/NixOS/comments/1dqxhvk/do_we_know_who_person_or_people_is_causing_nixos/

+ + + + +

view this post on Zulip IFTTT (Jun 30 2024 at 00:13):

+

aight

+

June 29, 2024 at 03:02PM

+

https://old.reddit.com/r/NixOS/comments/1drm8lx/aight/

+ + + + +

view this post on Zulip IFTTT (Jun 30 2024 at 14:13):

+

Python is a NIGHTMARE on nixOS

+

June 29, 2024 at 02:01PM

+

https://old.reddit.com/r/NixOS/comments/1drkymj/python_is_a_nightmare_on_nixos/

+ + + + +

view this post on Zulip IFTTT (Jul 01 2024 at 11:13):

+

My daily routine

+

July 01, 2024 at 02:28AM

+

https://old.reddit.com/r/NixOS/comments/1dsos3x/my_daily_routine/

+ + + + +

view this post on Zulip IFTTT (Jul 01 2024 at 18:13):

+

Moving forward together

+

July 01, 2024 at 09:21AM

+

https://old.reddit.com/r/NixOS/comments/1dsx4du/moving_forward_together/

+ + + + +

view this post on Zulip IFTTT (Jul 02 2024 at 20:09):

+

What on earth did jonringer even do?

+

July 02, 2024 at 07:54AM

+

https://old.reddit.com/r/NixOS/comments/1dtnsk5/what_on_earth_did_jonringer_even_do/

+ + + + +

view this post on Zulip IFTTT (Jul 04 2024 at 04:13):

+

Security advisory: OpenSSH CVE-2024-6387 “regreSSHion” – update your servers ASAP - Security

+

July 02, 2024 at 04:26AM

+

https://old.reddit.com/r/NixOS/comments/1dtjhtp/security_advisory_openssh_cve20246387_regresshion/

+ + + + +

view this post on Zulip IFTTT (Jul 04 2024 at 10:13):

+

Modern resources to learn Nix and NixOS?

+

June 30, 2024 at 01:01PM

+

https://old.reddit.com/r/NixOS/comments/1dsa4wz/modern_resources_to_learn_nix_and_nixos/

+ + + + +

view this post on Zulip IFTTT (Jul 04 2024 at 12:13):

+

Maintainers exodus over recent events

+

July 02, 2024 at 09:50AM

+

https://old.reddit.com/r/NixOS/comments/1dtqlga/maintainers_exodus_over_recent_events/

+ + + + +

view this post on Zulip IFTTT (Jul 05 2024 at 02:13):

+

Hyprland this, hyprland that!

+

July 02, 2024 at 03:20AM

+

https://old.reddit.com/r/NixOS/comments/1dtif2m/hyprland_this_hyprland_that/

+ + + + +

view this post on Zulip IFTTT (Jul 05 2024 at 11:13):

+

Run local AI chatbot using Nix

+

July 03, 2024 at 10:22AM

+

https://old.reddit.com/r/NixOS/comments/1dujxu4/run_local_ai_chatbot_using_nix/

+ + + + +

view this post on Zulip IFTTT (Jul 05 2024 at 16:13):

+

Automatic unattended installer thingy

+

July 05, 2024 at 12:50AM

+

https://old.reddit.com/r/NixOS/comments/1dvsk9o/automatic_unattended_installer_thingy/

+ + + + +

view this post on Zulip IFTTT (Jul 06 2024 at 21:18):

+

Is NixOS good for putting it on family member's machines?

+

July 04, 2024 at 06:25AM

+

https://old.reddit.com/r/NixOS/comments/1dv6vil/is_nixos_good_for_putting_it_on_family_members/

+ + + + +

view this post on Zulip IFTTT (Jul 06 2024 at 23:13):

+

Learn Nix the Fun Way

+

July 06, 2024 at 02:28PM

+

https://old.reddit.com/r/NixOS/comments/1dx04a0/learn_nix_the_fun_way/

+ + + + +

view this post on Zulip IFTTT (Jul 07 2024 at 09:13):

+

search.nixos.org now gives you the nixpkgs commit!

+

July 06, 2024 at 11:01PM

+

https://old.reddit.com/r/NixOS/comments/1dx9llm/searchnixosorg_now_gives_you_the_nixpkgs_commit/

+ + + + +

view this post on Zulip IFTTT (Jul 07 2024 at 16:13):

+

DuckDuckGo is amazing

+

July 07, 2024 at 01:46AM

+

https://old.reddit.com/r/NixOS/comments/1dxbzcm/duckduckgo_is_amazing/

+ + + + +

view this post on Zulip IFTTT (Jul 08 2024 at 20:13):

+

[Hyprland] NixOS - Catppuccin + Ags + Emacs setup - ZZZ inspiration (Zenless Zone Zero) - optional light mode - my main beast: Ryzen 9 7900X3D + Radeon RX 6800 XT

+

July 08, 2024 at 04:35AM

+

https://old.reddit.com/r/NixOS/comments/1dy6ndt/hyprland_nixos_catppuccin_ags_emacs_setup_zzz/

+ + + + +

view this post on Zulip IFTTT (Jul 09 2024 at 11:13):

+

Things to know before switching to NixOs

+

July 08, 2024 at 09:45AM

+

https://old.reddit.com/r/NixOS/comments/1dydm3p/things_to_know_before_switching_to_nixos/

+ + + + +

view this post on Zulip IFTTT (Jul 09 2024 at 14:18):

+

System freezes after shutting down

+

July 08, 2024 at 03:25PM

+

https://old.reddit.com/r/NixOS/comments/1dym2y1/system_freezes_after_shutting_down/

+ + + + +

view this post on Zulip IFTTT (Jul 09 2024 at 17:09):

+

Im once again asking for your help

+

July 07, 2024 at 09:10AM

+

https://old.reddit.com/r/NixOS/comments/1dxk3b8/im_once_again_asking_for_your_help/

+ + + + +

view this post on Zulip IFTTT (Jul 10 2024 at 00:13):

+

Evict Your Darlings: Banish dotfiles from your home directory

+

July 09, 2024 at 01:12PM

+

https://old.reddit.com/r/NixOS/comments/1dzc92k/evict_your_darlings_banish_dotfiles_from_your/

+ + + + +

view this post on Zulip IFTTT (Jul 10 2024 at 17:18):

+

At the Mountains of Madness

+

July 10, 2024 at 07:33AM

+

https://old.reddit.com/r/NixOS/comments/1dzx9ro/at_the_mountains_of_madness/

+ + + + +

view this post on Zulip IFTTT (Jul 11 2024 at 03:13):

+

Growth in nixpkgs maintainers (Jul 2020 to present)

+

July 10, 2024 at 06:14PM

+

https://old.reddit.com/r/NixOS/comments/1e0clk6/growth_in_nixpkgs_maintainers_jul_2020_to_present/

+ + + + +

view this post on Zulip IFTTT (Jul 11 2024 at 19:13):

+

Lix 2.90 "Vanilla Ice Cream"

+

July 10, 2024 at 11:23PM

+

https://old.reddit.com/r/NixOS/comments/1e0i3y8/lix_290_vanilla_ice_cream/

+ + + + +

view this post on Zulip IFTTT (Jul 13 2024 at 04:18):

+

Nix secrets for dummies

+

July 12, 2024 at 11:21AM

+

https://old.reddit.com/r/NixOS/comments/1e1ooqo/nix_secrets_for_dummies/

+ + + + +

view this post on Zulip IFTTT (Jul 14 2024 at 00:13):

+

NixOS = Modules + Flakes + ... ???

+

July 13, 2024 at 05:29AM

+

https://old.reddit.com/r/NixOS/comments/1e299op/nixos_modules_flakes/

+ + + + +

view this post on Zulip IFTTT (Jul 14 2024 at 17:13):

+

Configure Radarr,Sonarr, ... with NixOS

+

July 10, 2024 at 07:21AM

+

https://old.reddit.com/r/NixOS/comments/1dzx0b1/configure_radarrsonarr_with_nixos/

+ + + + +

view this post on Zulip IFTTT (Jul 14 2024 at 19:13):

+

My ergonomic workspace

+

July 14, 2024 at 10:15AM

+

https://old.reddit.com/r/NixOS/comments/1e37lbs/my_ergonomic_workspace/

+ + + + +

view this post on Zulip IFTTT (Jul 15 2024 at 12:13):

+

Trying to advocate for nix-direnv and Nix shells at work: do people need to install Nix system-wide?

+

July 13, 2024 at 01:02PM

+

https://old.reddit.com/r/NixOS/comments/1e2jds5/trying_to_advocate_for_nixdirenv_and_nix_shells/

+ + + + +

view this post on Zulip IFTTT (Jul 15 2024 at 21:14):

+

how deep did you go?

+

July 15, 2024 at 01:05PM

+

https://old.reddit.com/r/NixOS/comments/1e44p0p/how_deep_did_you_go/

+ + + + +

view this post on Zulip IFTTT (Jul 15 2024 at 23:13):

+

Best Repos for Inspiration?

+

July 14, 2024 at 01:36PM

+

https://old.reddit.com/r/NixOS/comments/1e3c4nr/best_repos_for_inspiration/

+ + + + +

view this post on Zulip IFTTT (Jul 17 2024 at 12:13):

+

[Announcement] Polytest: For running tests on heterogeneous VMs

+

July 16, 2024 at 06:41PM

+

https://old.reddit.com/r/NixOS/comments/1e561vi/announcement_polytest_for_running_tests_on/

+ + + + +

view this post on Zulip IFTTT (Jul 17 2024 at 15:09):

+

Automated NixOS Installers for bulk deployments?

+

July 11, 2024 at 05:59PM

+

https://old.reddit.com/r/NixOS/comments/1e14qpa/automated_nixos_installers_for_bulk_deployments/

+ + + + +

view this post on Zulip IFTTT (Jul 18 2024 at 02:13):

+

Using Mason / Lazy in NixOS

+

July 13, 2024 at 06:01AM

+

https://old.reddit.com/r/NixOS/comments/1e29wld/using_mason_lazy_in_nixos/

+ + + + +

view this post on Zulip IFTTT (Jul 18 2024 at 03:18):

+

NixOS is so beautiful and amazing.

+

July 17, 2024 at 05:45PM

+

https://old.reddit.com/r/NixOS/comments/1e5yemh/nixos_is_so_beautiful_and_amazing/

+ + + + +

view this post on Zulip IFTTT (Jul 18 2024 at 09:13):

+

I noticed there weren't any console dice rollers in nixpkgs, so I made one

+

July 17, 2024 at 03:03PM

+

https://old.reddit.com/r/NixOS/comments/1e5urpr/i_noticed_there_werent_any_console_dice_rollers/

+ + + + +

view this post on Zulip IFTTT (Jul 18 2024 at 17:14):

+

Which do you prefer in your Nix code?

+

July 17, 2024 at 05:12PM

+

https://old.reddit.com/r/NixOS/comments/1e5xq0t/which_do_you_prefer_in_your_nix_code/

+ + + + +

view this post on Zulip IFTTT (Jul 19 2024 at 10:13):

+

I love nix but holy shit

+

July 18, 2024 at 09:19AM

+

https://old.reddit.com/r/NixOS/comments/1e6fd7h/i_love_nix_but_holy_shit/

+ + + + +

view this post on Zulip IFTTT (Jul 19 2024 at 21:13):

+

NixOS vs Arch Linux

+

July 19, 2024 at 08:39AM

+

https://old.reddit.com/r/NixOS/comments/1e76r2j/nixos_vs_arch_linux/

+ + + + +

view this post on Zulip IFTTT (Jul 20 2024 at 03:18):

+

Nix.Camp 2023 Blog Post

+

July 19, 2024 at 07:06AM

+

https://old.reddit.com/r/NixOS/comments/1e74loi/nixcamp_2023_blog_post/

+ + + + +

view this post on Zulip IFTTT (Jul 20 2024 at 20:18):

+

Why is cron "depreciated"?

+

July 19, 2024 at 01:04AM

+

https://old.reddit.com/r/NixOS/comments/1e6yg2w/why_is_cron_depreciated/

+ + + + +

view this post on Zulip IFTTT (Jul 20 2024 at 22:13):

+

new wallpaper just dropped

+

July 20, 2024 at 12:33PM

+

https://old.reddit.com/r/NixOS/comments/1e83myg/new_wallpaper_just_dropped/

+ + + + +

view this post on Zulip IFTTT (Jul 21 2024 at 02:13):

+

An Argument against the use of watchdog chatbot in this subreddit

+

July 20, 2024 at 04:06PM

+

https://old.reddit.com/r/NixOS/comments/1e885up/an_argument_against_the_use_of_watchdog_chatbot/

+ + + + +

view this post on Zulip IFTTT (Jul 22 2024 at 11:13):

+

How do you guys organize your .nix config files? I have a few of them spread out

+

July 21, 2024 at 09:16PM

+

https://old.reddit.com/r/NixOS/comments/1e95b69/how_do_you_guys_organize_your_nix_config_files_i/

+ + + + +

view this post on Zulip IFTTT (Jul 23 2024 at 05:09):

+

How did I miss NixOS?

+

July 22, 2024 at 06:43PM

+

https://old.reddit.com/r/NixOS/comments/1e9vqz5/how_did_i_miss_nixos/

+ + + + +

view this post on Zulip IFTTT (Jul 24 2024 at 11:13):

+

Full Time Nix | Domen Kožar

+

July 23, 2024 at 08:16AM

+

https://old.reddit.com/r/NixOS/comments/1eaae70/full_time_nix_domen_kožar/

+ + + + +

view this post on Zulip IFTTT (Jul 24 2024 at 17:13):

+

It takes 68 steps to deploy Odoo with NixOS

+

July 24, 2024 at 03:10AM

+

https://old.reddit.com/r/NixOS/comments/1eaxsa7/it_takes_68_steps_to_deploy_odoo_with_nixos/

+ + + + +

view this post on Zulip IFTTT (Jul 24 2024 at 22:09):

+

i want to try nixos

+

July 23, 2024 at 04:05PM

+

https://old.reddit.com/r/NixOS/comments/1ealygz/i_want_to_try_nixos/

+ + + + +

view this post on Zulip IFTTT (Jul 25 2024 at 09:13):

+

Nixos-tidy - A module to clean this mess!

+

July 24, 2024 at 10:00AM

+

https://old.reddit.com/r/NixOS/comments/1eb6k8n/nixostidy_a_module_to_clean_this_mess/

+ + + + +

view this post on Zulip IFTTT (Jul 25 2024 at 16:09):

+

Don’t use NixOS

+

July 24, 2024 at 10:10AM

+

https://old.reddit.com/r/NixOS/comments/1eb6tcf/dont_use_nixos/

+ + + + +

view this post on Zulip IFTTT (Jul 25 2024 at 22:09):

+

Arch is a gateway drug to NixOS

+

July 25, 2024 at 10:48AM

+

https://old.reddit.com/r/NixOS/comments/1ec15tp/arch_is_a_gateway_drug_to_nixos/

+ + + + +

view this post on Zulip IFTTT (Jul 26 2024 at 07:13):

+

Specialisations are pretty dope!

+

July 25, 2024 at 04:57PM

+

https://old.reddit.com/r/NixOS/comments/1ec9xwm/specialisations_are_pretty_dope/

+ + + + +

view this post on Zulip IFTTT (Jul 26 2024 at 20:13):

+

Is NixOS the best OS for servers?

+

July 26, 2024 at 08:11AM

+

https://old.reddit.com/r/NixOS/comments/1ecqiq7/is_nixos_the_best_os_for_servers/

+ + + + +

view this post on Zulip IFTTT (Jul 27 2024 at 13:13):

+

The NixOS Conflict in Under 5 Minutes

+

July 26, 2024 at 07:13PM

+

https://old.reddit.com/r/NixOS/comments/1ed5gbc/the_nixos_conflict_in_under_5_minutes/

+ + + + +

view this post on Zulip IFTTT (Jul 29 2024 at 05:13):

+

NixCon 2024 Berlin Oct 25-27

+

July 28, 2024 at 07:07AM

+

https://old.reddit.com/r/NixOS/comments/1ee88kz/nixcon_2024_berlin_oct_2527/

+ + + + +

view this post on Zulip IFTTT (Jul 29 2024 at 19:18):

+

A modular distro on top of nixos.

+

July 28, 2024 at 05:06PM

+

https://old.reddit.com/r/NixOS/comments/1eelq7h/a_modular_distro_on_top_of_nixos/

+ + + + +

view this post on Zulip IFTTT (Jul 29 2024 at 21:09):

+

Nix Survey 2024

+

July 29, 2024 at 09:20AM

+

https://old.reddit.com/r/NixOS/comments/1ef3pgq/nix_survey_2024/

+ + + + +

view this post on Zulip IFTTT (Jul 30 2024 at 19:13):

+

Dev workstation: yes or no

+

July 29, 2024 at 08:00AM

+

https://old.reddit.com/r/NixOS/comments/1ef1pd3/dev_workstation_yes_or_no/

+ + + + +

view this post on Zulip IFTTT (Jul 31 2024 at 05:13):

+

What do flakes actually allow you to do?

+

July 29, 2024 at 05:26PM

+

https://old.reddit.com/r/NixOS/comments/1effly1/what_do_flakes_actually_allow_you_to_do/

+ + + + +

view this post on Zulip IFTTT (Jul 31 2024 at 17:13):

+

What do these numbers mean while rebuilding a flake?

+

July 29, 2024 at 04:48AM

+

https://old.reddit.com/r/NixOS/comments/1eexhh0/what_do_these_numbers_mean_while_rebuilding_a/

+ + + + +

view this post on Zulip IFTTT (Jul 31 2024 at 23:13):

+

NisOS-WSL is awesome

+

July 31, 2024 at 11:28AM

+

https://old.reddit.com/r/NixOS/comments/1eguj7b/nisoswsl_is_awesome/

+ + + + +

view this post on Zulip IFTTT (Aug 02 2024 at 00:13):

+

Import but don’t import your NixOS modules

+

July 29, 2024 at 08:17PM

+

https://old.reddit.com/r/NixOS/comments/1efj5ls/import_but_dont_import_your_nixos_modules/

+ + + + +

view this post on Zulip IFTTT (Aug 02 2024 at 07:18):

+

Homelab focused Nix community

+

August 01, 2024 at 04:01PM

+

https://old.reddit.com/r/NixOS/comments/1ehuiwa/homelab_focused_nix_community/

+ + + + +

view this post on Zulip IFTTT (Aug 02 2024 at 11:13):

+

nixd has gotten fantastic

+

August 01, 2024 at 09:37PM

+

https://old.reddit.com/r/NixOS/comments/1ei1ank/nixd_has_gotten_fantastic/

+ + + + +

view this post on Zulip IFTTT (Aug 02 2024 at 20:13):

+

nix btw

+

August 02, 2024 at 11:14AM

+

https://old.reddit.com/r/NixOS/comments/1eih2rm/nix_btw/

+ + + + +

view this post on Zulip IFTTT (Aug 03 2024 at 17:13):

+

New one every week

+

August 03, 2024 at 07:57AM

+

https://old.reddit.com/r/NixOS/comments/1ej5ao5/new_one_every_week/

+ + + + +

view this post on Zulip IFTTT (Aug 03 2024 at 21:18):

+

Steam-run is magic, I swear

+

August 03, 2024 at 10:16AM

+

https://old.reddit.com/r/NixOS/comments/1ej8n4x/steamrun_is_magic_i_swear/

+ + + + +

view this post on Zulip IFTTT (Aug 04 2024 at 10:13):

+

Flakes dev experience

+

August 04, 2024 at 01:44AM

+

https://old.reddit.com/r/NixOS/comments/1ejqodn/flakes_dev_experience/

+ + + + +

view this post on Zulip IFTTT (Aug 05 2024 at 07:13):

+

NixOS from Arch User, the ULTIMATE RABBIT HOLE

+

August 04, 2024 at 06:50PM

+

https://old.reddit.com/r/NixOS/comments/1ekbzsj/nixos_from_arch_user_the_ultimate_rabbit_hole/

+ + + + +

view this post on Zulip IFTTT (Aug 05 2024 at 17:13):

+

Frustrations with NixOS: Community Support and Package Quality Issues

+

August 03, 2024 at 10:09AM

+

https://old.reddit.com/r/NixOS/comments/1ej8gwn/frustrations_with_nixos_community_support_and/

+ + + + +

view this post on Zulip IFTTT (Aug 06 2024 at 04:13):

+

Just got started with nix, made minimal changes to my configuration.nix file (added like 2 or 3 packages) and tried to rebuild, got this... I made no change to any of the files mentioned

+

July 30, 2024 at 05:57PM

+

https://old.reddit.com/r/NixOS/comments/1ega433/just_got_started_with_nix_made_minimal_changes_to/

+ + + + +

view this post on Zulip IFTTT (Aug 06 2024 at 10:13):

+

Amount of packages on fresh install

+

August 05, 2024 at 09:07PM

+

https://old.reddit.com/r/NixOS/comments/1el8d1b/amount_of_packages_on_fresh_install/

+ + + + +

view this post on Zulip IFTTT (Aug 07 2024 at 14:13):

+

I made a Nix flake to automate AMD microcode updates

+

August 06, 2024 at 09:45AM

+

https://old.reddit.com/r/NixOS/comments/1elmo7k/i_made_a_nix_flake_to_automate_amd_microcode/

+ + + + +

view this post on Zulip IFTTT (Aug 07 2024 at 21:48):

+

Everyone is talking about flakes

+

August 07, 2024 at 12:21AM

+

https://old.reddit.com/r/NixOS/comments/1em5jxz/everyone_is_talking_about_flakes/

+ + + + +

view this post on Zulip IFTTT (Aug 08 2024 at 05:18):

+

NixOS is awesome (and a little guide on using amd-pstate on NixOS)

+

August 07, 2024 at 11:58AM

+

https://old.reddit.com/r/NixOS/comments/1emk6sr/nixos_is_awesome_and_a_little_guide_on_using/

+ + + + +

view this post on Zulip IFTTT (Aug 08 2024 at 23:13):

+

nix site design improvement attempt/idea. What do you think?

+

August 08, 2024 at 10:26AM

+

https://old.reddit.com/r/NixOS/comments/1enbwgm/nix_site_design_improvement_attemptidea_what_do/

+ + + + +

view this post on Zulip IFTTT (Aug 09 2024 at 16:13):

+

NixPackages Search

+

August 08, 2024 at 10:58PM

+

https://old.reddit.com/r/NixOS/comments/1ens8zm/nixpackages_search/

+ + + + +

view this post on Zulip IFTTT (Aug 09 2024 at 21:13):

+

If Arch were to have as bad doc/wiki as NixOS, it would have been way worse compared to NixOS.

+

August 09, 2024 at 09:15AM

+

https://old.reddit.com/r/NixOS/comments/1eo3vbw/if_arch_were_to_have_as_bad_docwiki_as_nixos_it/

+ + + + +

view this post on Zulip IFTTT (Aug 10 2024 at 14:13):

+

Principal Skinner on Immutable Distros

+

August 10, 2024 at 12:47AM

+

https://old.reddit.com/r/NixOS/comments/1eonj1e/principal_skinner_on_immutable_distros/

+ + + + +

view this post on Zulip IFTTT (Aug 10 2024 at 18:18):

+

Challenged myself to use the same distro for the next year. NixOS was my choice.

+

August 08, 2024 at 11:53PM

+

https://old.reddit.com/r/NixOS/comments/1ent3us/challenged_myself_to_use_the_same_distro_for_the/

+ + + + +

view this post on Zulip IFTTT (Aug 10 2024 at 20:18):

+

It's been a while since I've done nix collect garbage...

+

August 10, 2024 at 10:28AM

+

https://old.reddit.com/r/NixOS/comments/1eoyisn/its_been_a_while_since_ive_done_nix_collect/

+ + + + +

view this post on Zulip IFTTT (Aug 11 2024 at 20:18):

+

Tvix Status - August '24

+

August 11, 2024 at 01:19AM

+

https://old.reddit.com/r/NixOS/comments/1epfski/tvix_status_august_24/

+ + + + +

view this post on Zulip IFTTT (Aug 12 2024 at 08:13):

+

Is it only me, or nixOS infrastructure that bad?

+

August 11, 2024 at 02:19PM

+

https://old.reddit.com/r/NixOS/comments/1epvsp8/is_it_only_me_or_nixos_infrastructure_that_bad/

+ + + + +

view this post on Zulip IFTTT (Aug 13 2024 at 05:13):

+

Note to self: Do NOT collect garbage and optimise the nix store at the same time

+

August 08, 2024 at 03:15PM

+

https://old.reddit.com/r/NixOS/comments/1enj0ab/note_to_self_do_not_collect_garbage_and_optimise/

+ + + + +

view this post on Zulip IFTTT (Aug 13 2024 at 17:13):

+

Disk space

+

August 11, 2024 at 04:58AM

+

https://old.reddit.com/r/NixOS/comments/1epj390/disk_space/

+ + + + +

view this post on Zulip IFTTT (Aug 14 2024 at 08:18):

+

What can be done about nixpkgs package quality?

+

August 09, 2024 at 07:31PM

+

https://old.reddit.com/r/NixOS/comments/1eoi509/what_can_be_done_about_nixpkgs_package_quality/

+ + + + +

view this post on Zulip IFTTT (Aug 14 2024 at 09:13):

+

Lix got me with those juicy multiline logs :hushed:

+

August 13, 2024 at 11:09PM

+

https://old.reddit.com/r/NixOS/comments/1eru9kv/lix_got_me_with_those_juicy_multiline_logs/

+ + + + +

view this post on Zulip IFTTT (Aug 15 2024 at 07:13):

+

NixOS will fail to rebuild right now, github is down.

+

August 14, 2024 at 04:38PM

+

https://old.reddit.com/r/NixOS/comments/1esgav3/nixos_will_fail_to_rebuild_right_now_github_is/

+ + + + +

view this post on Zulip IFTTT (Aug 15 2024 at 15:08):

+

A Nod to NixOS

+

August 14, 2024 at 10:08AM

+

https://old.reddit.com/r/NixOS/comments/1es73qx/a_nod_to_nixos/

+ + + + +

view this post on Zulip IFTTT (Aug 16 2024 at 05:18):

+

Finally

+

August 15, 2024 at 02:04PM

+

https://old.reddit.com/r/NixOS/comments/1et6gpp/finally/

+ + + + +

view this post on Zulip IFTTT (Aug 16 2024 at 06:13):

+

NixOS, Raspberry Pi & Me

+

August 13, 2024 at 10:17PM

+

https://old.reddit.com/r/NixOS/comments/1ertfbs/nixos_raspberry_pi_me/

+ + + + +

view this post on Zulip IFTTT (Aug 17 2024 at 03:08):

+

The COSMIC desktop Flake finally convinced me to learn Flakes.

+

August 16, 2024 at 04:58PM

+

https://old.reddit.com/r/NixOS/comments/1eu3xeg/the_cosmic_desktop_flake_finally_convinced_me_to/

+ + + + +

view this post on Zulip IFTTT (Aug 17 2024 at 18:13):

+

Lix working on a NixOS/nixpkgs fork?

+

August 14, 2024 at 05:25PM

+

https://old.reddit.com/r/NixOS/comments/1eshclo/lix_working_on_a_nixosnixpkgs_fork/

+ + + + +

view this post on Zulip IFTTT (Aug 18 2024 at 09:13):

+

Why does Home Manager have more package options than "normal" packages?

+

August 16, 2024 at 08:26AM

+

https://old.reddit.com/r/NixOS/comments/1etrpxu/why_does_home_manager_have_more_package_options/

+ + + + +

view this post on Zulip IFTTT (Aug 18 2024 at 12:13):

+

How difficult is it in terms of effort to build and maintain nix packages as compared to Arch packages?

+

August 14, 2024 at 09:25PM

+

https://old.reddit.com/r/NixOS/comments/1esm7y2/how_difficult_is_it_in_terms_of_effort_to_build/

+ + + + +

view this post on Zulip IFTTT (Aug 18 2024 at 13:18):

+

nixos-cli :: a new way of fast option discovery

+

August 18, 2024 at 04:29AM

+

https://old.reddit.com/r/NixOS/comments/1ev71qd/nixoscli_a_new_way_of_fast_option_discovery/

+ + + + +

view this post on Zulip IFTTT (Aug 19 2024 at 20:13):

+

I installed NixOS and it only took me 9 attempts

+

August 19, 2024 at 06:53AM

+

https://old.reddit.com/r/NixOS/comments/1ew2e6y/i_installed_nixos_and_it_only_took_me_9_attempts/

+ + + + +

view this post on Zulip IFTTT (Aug 21 2024 at 07:13):

+

Thoughts on SnowflakeOS and its Software Center?

+

August 20, 2024 at 04:29PM

+

https://old.reddit.com/r/NixOS/comments/1exagu7/thoughts_on_snowflakeos_and_its_software_center/

+ + + + +

view this post on Zulip IFTTT (Aug 21 2024 at 18:14):

+

In case you missed it...

+

August 21, 2024 at 10:01AM

+

https://old.reddit.com/r/NixOS/comments/1exuxeq/in_case_you_missed_it/

+ + + + +

view this post on Zulip IFTTT (Aug 21 2024 at 21:19):

+

Nix in 100 Seconds - Fireship

+

August 21, 2024 at 11:45AM

+

https://old.reddit.com/r/NixOS/comments/1exxk22/nix_in_100_seconds_fireship/

+ + + + +

view this post on Zulip IFTTT (Aug 22 2024 at 01:13):

+

Thinking about switching back to arch

+

August 17, 2024 at 01:58PM

+

https://old.reddit.com/r/NixOS/comments/1eurtxe/thinking_about_switching_back_to_arch/

+ + + + +

view this post on Zulip IFTTT (Aug 22 2024 at 05:13):

+

How do you setup your python dev environments?

+

August 15, 2024 at 10:16AM

+

https://old.reddit.com/r/NixOS/comments/1et0rlr/how_do_you_setup_your_python_dev_environments/

+ + + + +

view this post on Zulip IFTTT (Aug 22 2024 at 16:09):

+

Playwright on NixOS for webdev

+

August 22, 2024 at 02:06AM

+

https://old.reddit.com/r/NixOS/comments/1eyenzf/playwright_on_nixos_for_webdev/

+ + + + +

view this post on Zulip IFTTT (Aug 22 2024 at 22:09):

+

Guide: Installing NixOS with Flakes and LVM on LUKS

+

August 16, 2024 at 07:16AM

+

https://old.reddit.com/r/NixOS/comments/1etpxjc/guide_installing_nixos_with_flakes_and_lvm_on_luks/

+ + + + +

view this post on Zulip IFTTT (Aug 23 2024 at 00:13):

+

Nixsa - A Nix Standalone Environment

+

August 22, 2024 at 02:21PM

+

https://old.reddit.com/r/NixOS/comments/1eyuxr4/nixsa_a_nix_standalone_environment/

+ + + + +

view this post on Zulip IFTTT (Aug 23 2024 at 16:13):

+

Noob coming to NixOS but already facing problems

+

August 22, 2024 at 01:27PM

+

https://old.reddit.com/r/NixOS/comments/1eytnjc/noob_coming_to_nixos_but_already_facing_problems/

+ + + + +

view this post on Zulip IFTTT (Aug 23 2024 at 19:09):

+

Why Does "Stable" Feel Unstable on NixOS? Seeking Clarity on Channel Differences

+

August 22, 2024 at 01:27PM

+

https://old.reddit.com/r/NixOS/comments/1eytntt/why_does_stable_feel_unstable_on_nixos_seeking/

+ + + + +

view this post on Zulip IFTTT (Aug 24 2024 at 18:13):

+

How to get dynamic vfio working with nixos

+

August 23, 2024 at 05:59PM

+

https://old.reddit.com/r/NixOS/comments/1ezt0g4/how_to_get_dynamic_vfio_working_with_nixos/

+ + + + +

view this post on Zulip IFTTT (Aug 24 2024 at 19:18):

+

Why do people check hardware config into vcs?

+

August 24, 2024 at 08:47AM

+

https://old.reddit.com/r/NixOS/comments/1f08e2d/why_do_people_check_hardware_config_into_vcs/

+ + + + +

view this post on Zulip IFTTT (Aug 24 2024 at 21:13):

+

What features is nixvim missing?

+

August 24, 2024 at 01:36AM

+

https://old.reddit.com/r/NixOS/comments/1f00lzn/what_features_is_nixvim_missing/

+ + + + +

view this post on Zulip IFTTT (Aug 25 2024 at 01:13):

+

Nixcord - a little hm-module I wrote for Vencord

+

August 24, 2024 at 01:57PM

+

https://old.reddit.com/r/NixOS/comments/1f0ffpz/nixcord_a_little_hmmodule_i_wrote_for_vencord/

+ + + + +

view this post on Zulip IFTTT (Aug 25 2024 at 19:13):

+

What is your rule of thumb for packages in shell.nix and/or configuration.nix?

+

August 25, 2024 at 02:31AM

+

https://old.reddit.com/r/NixOS/comments/1f0sijz/what_is_your_rule_of_thumb_for_packages_in/

+ + + + +

view this post on Zulip IFTTT (Aug 26 2024 at 01:18):

+

From Frustration to Contribution: My Journey into NixOS Maintenance

+

August 25, 2024 at 04:13PM

+

https://old.reddit.com/r/NixOS/comments/1f19ppw/from_frustration_to_contribution_my_journey_into/

+ + + + +

view this post on Zulip IFTTT (Aug 26 2024 at 05:13):

+

How many people have ADHD here?

+

August 25, 2024 at 08:21PM

+

https://old.reddit.com/r/NixOS/comments/1f1eis2/how_many_people_have_adhd_here/

+ + + + +

view this post on Zulip IFTTT (Aug 26 2024 at 11:13):

+

Confession: NixOS is by far the best Linux Distro....

+

August 26, 2024 at 01:22AM

+

https://old.reddit.com/r/NixOS/comments/1f1j1yy/confession_nixos_is_by_far_the_best_linux_distro/

+ + + + +

view this post on Zulip IFTTT (Aug 28 2024 at 00:09):

+

Security Updates on NixOS

+

August 25, 2024 at 08:36AM

+

https://old.reddit.com/r/NixOS/comments/1f0z5lc/security_updates_on_nixos/

+ + + + +

view this post on Zulip IFTTT (Aug 28 2024 at 14:09):

+

Thinking of switching to NixOS from Arch, but I have some doubts.

+

August 27, 2024 at 03:14AM

+

https://old.reddit.com/r/NixOS/comments/1f2dg69/thinking_of_switching_to_nixos_from_arch_but_i/

+ + + + +

view this post on Zulip IFTTT (Aug 28 2024 at 19:13):

+

Other distros seem bland?

+

August 27, 2024 at 10:55PM

+

https://old.reddit.com/r/NixOS/comments/1f32u67/other_distros_seem_bland/

+ + + + +

view this post on Zulip IFTTT (Aug 29 2024 at 07:13):

+

Where to get started when you dont know anything?

+

August 28, 2024 at 09:18AM

+

https://old.reddit.com/r/NixOS/comments/1f3ed4o/where_to_get_started_when_you_dont_know_anything/

+ + + + +

view this post on Zulip IFTTT (Aug 29 2024 at 22:09):

+

One does not simply learn Nix.

+

August 29, 2024 at 01:33PM

+

https://old.reddit.com/r/NixOS/comments/1f4cr5w/one_does_not_simply_learn_nix/

+ + + + +

view this post on Zulip IFTTT (Aug 30 2024 at 04:13):

+

What's the difference between these nixos-unstable, nixpkgs-unstable, and master?

+

August 29, 2024 at 09:09AM

+

https://old.reddit.com/r/NixOS/comments/1f46b04/whats_the_difference_between_these_nixosunstable/

+ + + + +

view this post on Zulip IFTTT (Aug 31 2024 at 03:13):

+

Nix Governance Constitution; draft for feedback

+

August 30, 2024 at 02:17PM

+

https://old.reddit.com/r/NixOS/comments/1f56fxa/nix_governance_constitution_draft_for_feedback/

+ + + + +

view this post on Zulip IFTTT (Aug 31 2024 at 17:13):

+

nixpkgs-merge-bot

+

August 31, 2024 at 07:46AM

+

https://old.reddit.com/r/NixOS/comments/1f5oy7u/nixpkgsmergebot/

+ + + + +

view this post on Zulip IFTTT (Aug 31 2024 at 21:18):

+

How do you manage your dotfiles?

+

August 31, 2024 at 04:28AM

+

https://old.reddit.com/r/NixOS/comments/1f5l3o5/how_do_you_manage_your_dotfiles/

+ + + + +

view this post on Zulip IFTTT (Aug 31 2024 at 21:18):

+

NixOS 2nd most based OS

+

August 31, 2024 at 12:18PM

+

https://old.reddit.com/r/NixOS/comments/1f5v567/nixos_2nd_most_based_os/

+ + + + +

view this post on Zulip IFTTT (Sep 01 2024 at 06:13):

+

I have made a very important change to my setup

+

August 31, 2024 at 06:27PM

+

https://old.reddit.com/r/NixOS/comments/1f62vzu/i_have_made_a_very_important_change_to_my_setup/

+ + + + +

view this post on Zulip IFTTT (Sep 01 2024 at 16:13):

+

Should we pause for a bit with the Nix experiment, reflect on what a gigantic mess the Nix language is and try to address the problem before it's too late?

+

September 01, 2024 at 04:49AM

+

https://old.reddit.com/r/NixOS/comments/1f6ckf3/should_we_pause_for_a_bit_with_the_nix_experiment/

+ + + + +

view this post on Zulip IFTTT (Sep 01 2024 at 21:18):

+

My New Favorite Game on NixOS: “System Admin Simulator 2024”! :video_game::working_on_it:

+

September 01, 2024 at 11:35AM

+

https://old.reddit.com/r/NixOS/comments/1f6ljl5/my_new_favorite_game_on_nixos_system_admin/

+ + + + +

view this post on Zulip IFTTT (Sep 02 2024 at 01:13):

+

2 weeks ago, i distrohopped to NixOS. today, i discovered i had installed it on the wrong storage device.

+

September 01, 2024 at 11:10AM

+

https://old.reddit.com/r/NixOS/comments/1f6kygt/2_weeks_ago_i_distrohopped_to_nixos_today_i/

+ + + + +

view this post on Zulip IFTTT (Sep 04 2024 at 13:13):

+

FYI: Font Config is currently broken in unstable and will prevent fonts from displaying & certain applications from running.

+

September 03, 2024 at 06:28PM

+

https://old.reddit.com/r/NixOS/comments/1f8h1wb/fyi_font_config_is_currently_broken_in_unstable/

+ + + + +

view this post on Zulip IFTTT (Sep 05 2024 at 03:13):

+

Loving Nix OS

+

September 04, 2024 at 04:35PM

+

https://old.reddit.com/r/NixOS/comments/1f982fm/loving_nix_os/

+ + + + +

view this post on Zulip IFTTT (Sep 05 2024 at 07:13):

+

beginner tries to install minecraft

+

September 04, 2024 at 10:43AM

+

https://old.reddit.com/r/NixOS/comments/1f8zlhb/beginner_tries_to_install_minecraft/

+ + + + +

view this post on Zulip IFTTT (Sep 07 2024 at 02:43):

+

(Guide) Producing a good C development environment

+

September 03, 2024 at 09:44AM

+

https://old.reddit.com/r/NixOS/comments/1f84piu/guide_producing_a_good_c_development_environment/

+ + + + +

view this post on Zulip IFTTT (Sep 07 2024 at 06:13):

+

Quick tip: you can get patches from GitHub PRs

+

September 06, 2024 at 11:21AM

+

https://old.reddit.com/r/NixOS/comments/1fam4t8/quick_tip_you_can_get_patches_from_github_prs/

+ + + + +

view this post on Zulip IFTTT (Sep 07 2024 at 15:13):

+

I couldn't hold myself and fell for the dire mistake of compiling everything from source by specifying cpu architecture in config. It has been around 8 hours and it still compiles. Why does it compile firefox, gtk, Qt etc. as they are not installed on my server nix system? I didn't install them

+

September 01, 2024 at 04:49AM

+

https://old.reddit.com/r/NixOS/comments/1f6ckgc/i_couldnt_hold_myself_and_fell_for_the_dire/

+ + + + +

view this post on Zulip IFTTT (Sep 07 2024 at 20:13):

+

Any better way to pin package version?

+

September 02, 2024 at 09:21AM

+

https://old.reddit.com/r/NixOS/comments/1f7aurt/any_better_way_to_pin_package_version/

+ + + + +

view this post on Zulip IFTTT (Sep 08 2024 at 02:13):

+

NixOS for gaming?

+

September 05, 2024 at 04:12AM

+

https://old.reddit.com/r/NixOS/comments/1f9jt7d/nixos_for_gaming/

+ + + + +

view this post on Zulip IFTTT (Sep 08 2024 at 06:13):

+

NixOS systemz 4 life

+

September 07, 2024 at 09:23PM

+

https://old.reddit.com/r/NixOS/comments/1fbpi6b/nixos_systemz_4_life/

+ + + + +

view this post on Zulip IFTTT (Sep 08 2024 at 07:13):

+

Poly-repo Nixpkgs Fork Roadmap

+

September 07, 2024 at 04:24PM

+

https://old.reddit.com/r/NixOS/comments/1fbk4iw/polyrepo_nixpkgs_fork_roadmap/

+ + + + +

view this post on Zulip IFTTT (Sep 08 2024 at 15:13):

+

Can we get more hw-probe results for NixOS into Linux Hardware Database (please)

+

September 08, 2024 at 01:15AM

+

https://old.reddit.com/r/NixOS/comments/1fbsv7l/can_we_get_more_hwprobe_results_for_nixos_into/

+ + + + +

view this post on Zulip IFTTT (Sep 08 2024 at 19:13):

+

Anyone using nixvim?

+

September 08, 2024 at 07:20AM

+

https://old.reddit.com/r/NixOS/comments/1fbyvwf/anyone_using_nixvim/

+ + + + +

view this post on Zulip IFTTT (Sep 09 2024 at 15:13):

+

Example repo with Flake + Terraform configuration for deploying NixOS (with GPU support) on AWS

+

September 08, 2024 at 06:18PM

+

https://old.reddit.com/r/NixOS/comments/1fcdmpt/example_repo_with_flake_terraform_configuration/

+ + + + +

view this post on Zulip IFTTT (Sep 09 2024 at 23:13):

+

Should I switch over to NixOS

+

September 08, 2024 at 12:02PM

+

https://old.reddit.com/r/NixOS/comments/1fc5es5/should_i_switch_over_to_nixos/

+ + + + +

view this post on Zulip IFTTT (Sep 10 2024 at 06:13):

+

Nix 2.24+ is vulnerable to (remote) privilege escalation

+

September 09, 2024 at 08:42PM

+

https://old.reddit.com/r/NixOS/comments/1fd8s77/nix_224_is_vulnerable_to_remote_privilege/

+ + + + +

view this post on Zulip IFTTT (Sep 10 2024 at 15:13):

+

Just joined the gang

+

September 10, 2024 at 12:51AM

+

https://old.reddit.com/r/NixOS/comments/1fdcgtn/just_joined_the_gang/

+ + + + +

view this post on Zulip IFTTT (Sep 10 2024 at 21:13):

+

Last call for feedback; Nix Governance Constitution to be finalised on 2024-09-16

+

September 09, 2024 at 04:54PM

+

https://old.reddit.com/r/NixOS/comments/1fd4bmk/last_call_for_feedback_nix_governance/

+ + + + +

view this post on Zulip IFTTT (Sep 11 2024 at 00:13):

+

Live ISOs for COSMIC Alpha on NixOS

+

September 10, 2024 at 09:27AM

+

https://old.reddit.com/r/NixOS/comments/1fdm3gd/live_isos_for_cosmic_alpha_on_nixos/

+ + + + +

view this post on Zulip IFTTT (Sep 11 2024 at 08:13):

+

Seeking Feedback: Paid Long-Term Support (LTS) for NixOS starting with 24.05

+

September 10, 2024 at 06:42AM

+

https://old.reddit.com/r/NixOS/comments/1fdi6ji/seeking_feedback_paid_longterm_support_lts_for/

+ + + + +

view this post on Zulip IFTTT (Sep 11 2024 at 22:09):

+

devenv 1.1: Nested Nix outputs using the module system

+

September 11, 2024 at 03:36AM

+

https://old.reddit.com/r/NixOS/comments/1fe6y5m/devenv_11_nested_nix_outputs_using_the_module/

+ + + + +

view this post on Zulip IFTTT (Sep 12 2024 at 02:13):

+

How do you guys hide specific parts of your config?

+

September 11, 2024 at 10:40AM

+

https://old.reddit.com/r/NixOS/comments/1feg7le/how_do_you_guys_hide_specific_parts_of_your_config/

+ + + + +

view this post on Zulip IFTTT (Sep 14 2024 at 12:13):

+

Good configs to copy?

+

September 13, 2024 at 06:09AM

+

https://old.reddit.com/r/NixOS/comments/1ffucec/good_configs_to_copy/

+ + + + +

view this post on Zulip IFTTT (Sep 14 2024 at 17:08):

+

Sorry guys, I'm learning

+

September 14, 2024 at 08:30AM

+

https://old.reddit.com/r/NixOS/comments/1fgop43/sorry_guys_im_learning/

+ + + + +

view this post on Zulip IFTTT (Sep 15 2024 at 09:13):

+

So what's the proper way to install fonts from packages?

+

September 12, 2024 at 06:41PM

+

https://old.reddit.com/r/NixOS/comments/1ffj6mm/so_whats_the_proper_way_to_install_fonts_from/

+ + + + +

view this post on Zulip IFTTT (Sep 15 2024 at 19:13):

+

Dropping Home-Manager

+

September 15, 2024 at 07:24AM

+

https://old.reddit.com/r/NixOS/comments/1fhdp8b/dropping_homemanager/

+ + + + +

view this post on Zulip IFTTT (Sep 16 2024 at 06:13):

+

[Poly-repo Fork] Rename dependency names to be more ergonomic

+

September 15, 2024 at 01:11PM

+

https://old.reddit.com/r/NixOS/comments/1fhlxi2/polyrepo_fork_rename_dependency_names_to_be_more/

+ + + + +

view this post on Zulip IFTTT (Sep 16 2024 at 17:15):

+

I'd take a gunshot instead of '--show-trace'

+

September 16, 2024 at 09:07AM

+

https://old.reddit.com/r/NixOS/comments/1fi8h20/id_take_a_gunshot_instead_of_showtrace/

+ + + + +

view this post on Zulip IFTTT (Sep 16 2024 at 18:14):

+

Me rn

+

September 16, 2024 at 08:58AM

+

https://old.reddit.com/r/NixOS/comments/1fi88z1/me_rn/

+ + + + +

view this post on Zulip IFTTT (Sep 17 2024 at 17:12):

+

Nix Steering Committee Election 2024

+

September 16, 2024 at 11:34AM

+

https://old.reddit.com/r/NixOS/comments/1fic688/nix_steering_committee_election_2024/

+ + + + +

view this post on Zulip IFTTT (Sep 18 2024 at 11:13):

+

Slow performance on nixos with docker compared to arch

+

September 12, 2024 at 07:04AM

+

https://old.reddit.com/r/NixOS/comments/1ff3dcz/slow_performance_on_nixos_with_docker_compared_to/

+ + + + +

view this post on Zulip IFTTT (Sep 18 2024 at 15:09):

+

My Spaghetti looks like NixOS

+

September 18, 2024 at 07:14AM

+

https://old.reddit.com/r/NixOS/comments/1fjtv4j/my_spaghetti_looks_like_nixos/

+ + + + +

view this post on Zulip IFTTT (Sep 19 2024 at 14:14):

+

Why does it take so much time to clear the login screen

+

September 17, 2024 at 10:12PM

+

https://old.reddit.com/r/NixOS/comments/1fjl6x4/why_does_it_take_so_much_time_to_clear_the_login/

+ + + + +

view this post on Zulip IFTTT (Sep 19 2024 at 18:13):

+

Rant and praise for Nixos

+

September 18, 2024 at 01:58AM

+

https://old.reddit.com/r/NixOS/comments/1fjoaow/rant_and_praise_for_nixos/

+ + + + +

view this post on Zulip IFTTT (Sep 19 2024 at 19:13):

+

Default Nix version reverted again (nix: revert default to 2.18 for now)

+

September 19, 2024 at 07:31AM

+

https://old.reddit.com/r/NixOS/comments/1fkma7u/default_nix_version_reverted_again_nix_revert/

+ + + + +

view this post on Zulip IFTTT (Sep 20 2024 at 02:08):

+

Thinking About Using NixOS Daily—Is It Worth It?

+

September 19, 2024 at 12:08AM

+

https://old.reddit.com/r/NixOS/comments/1fkexwe/thinking_about_using_nixos_dailyis_it_worth_it/

+ + + + +

view this post on Zulip IFTTT (Sep 20 2024 at 22:13):

+

Looking for advice on using Nix in a corporate environment

+

September 20, 2024 at 07:25AM

+

https://old.reddit.com/r/NixOS/comments/1fldb1r/looking_for_advice_on_using_nix_in_a_corporate/

+ + + + +

view this post on Zulip IFTTT (Sep 21 2024 at 09:13):

+

Remember to endorse candidates you like in the SC election! (If you're eligible)

+

September 20, 2024 at 01:49PM

+

https://old.reddit.com/r/NixOS/comments/1flm7xn/remember_to_endorse_candidates_you_like_in_the_sc/

+ + + + +

view this post on Zulip IFTTT (Sep 21 2024 at 19:08):

+

Finally On NixOs

+

September 21, 2024 at 09:42AM

+

https://old.reddit.com/r/NixOS/comments/1fm7674/finally_on_nixos/

+ + + + +

view this post on Zulip IFTTT (Sep 22 2024 at 08:08):

+

What is going on? 300GB Nix flake??

+

September 21, 2024 at 08:16PM

+

https://old.reddit.com/r/NixOS/comments/1fmjwlv/what_is_going_on_300gb_nix_flake/

+ + + + +

view this post on Zulip IFTTT (Sep 23 2024 at 16:13):

+

Idea for NixOS installer - disable screen auto-locking

+

September 22, 2024 at 04:19PM

+

https://old.reddit.com/r/NixOS/comments/1fn6jh8/idea_for_nixos_installer_disable_screen/

+ + + + +

view this post on Zulip IFTTT (Sep 23 2024 at 18:13):

+

Brooo please :sob:

+

September 23, 2024 at 09:14AM

+

https://old.reddit.com/r/NixOS/comments/1fnocbz/brooo_please/

+ + + + +

view this post on Zulip IFTTT (Sep 24 2024 at 12:13):

+

Is NixOS able to be hardened?

+

September 24, 2024 at 12:57AM

+

https://old.reddit.com/r/NixOS/comments/1fo77mo/is_nixos_able_to_be_hardened/

+ + + + +

view this post on Zulip IFTTT (Sep 24 2024 at 20:09):

+

Immich merged to NixOS:master

+

September 24, 2024 at 07:39AM

+

https://old.reddit.com/r/NixOS/comments/1foe3bd/immich_merged_to_nixosmaster/

+ + + + +

view this post on Zulip IFTTT (Sep 25 2024 at 06:13):

+

SC election 2024: Nominate edolstra

+

September 24, 2024 at 08:00AM

+

https://old.reddit.com/r/NixOS/comments/1foem5n/sc_election_2024_nominate_edolstra/

+ + + + +

view this post on Zulip IFTTT (Sep 25 2024 at 13:13):

+

The "Nix-way" of running non-Nixified binaries on Nix

+

September 25, 2024 at 02:00AM

+

https://old.reddit.com/r/NixOS/comments/1fozy15/the_nixway_of_running_nonnixified_binaries_on_nix/

+ + + + +

view this post on Zulip IFTTT (Sep 27 2024 at 05:13):

+

I have successfully become another victim of the Arch to NixOS pipeline! What's a good tiling wm?

+

September 26, 2024 at 11:56AM

+

https://old.reddit.com/r/NixOS/comments/1fq3xg5/i_have_successfully_become_another_victim_of_the/

+ + + + +

view this post on Zulip IFTTT (Sep 27 2024 at 08:13):

+

Neovim on nix is driving me nuts ..

+

September 26, 2024 at 12:51PM

+

https://old.reddit.com/r/NixOS/comments/1fq57wy/neovim_on_nix_is_driving_me_nuts/

+ + + + +

view this post on Zulip IFTTT (Sep 28 2024 at 17:13):

+

[Podcast] FTN interview with Jonathan Ringer

+

September 27, 2024 at 10:23AM

+

https://old.reddit.com/r/NixOS/comments/1fqt2to/podcast_ftn_interview_with_jonathan_ringer/

+ + + + +

view this post on Zulip IFTTT (Sep 29 2024 at 04:08):

+

Git hashes in Nix

+

September 24, 2024 at 07:09PM

+

https://old.reddit.com/r/NixOS/comments/1fotp97/git_hashes_in_nix/

+ + + + +

view this post on Zulip IFTTT (Sep 30 2024 at 00:13):

+

What's the current situation of Nix for newcomers?

+

September 24, 2024 at 10:34AM

+

https://old.reddit.com/r/NixOS/comments/1foib3e/whats_the_current_situation_of_nix_for_newcomers/

+ + + + +

view this post on Zulip IFTTT (Sep 30 2024 at 17:18):

+

SC Election: Your stance on sponsorships in the Nix community

+

September 27, 2024 at 01:12PM

+

https://old.reddit.com/r/NixOS/comments/1fqwy0w/sc_election_your_stance_on_sponsorships_in_the/

+ + + + +

view this post on Zulip IFTTT (Oct 01 2024 at 06:13):

+

NixOS for every PC on the planet

+

September 26, 2024 at 11:39AM

+

https://old.reddit.com/r/NixOS/comments/1fq3iyo/nixos_for_every_pc_on_the_planet/

+ + + + +

view this post on Zulip IFTTT (Oct 01 2024 at 07:13):

+

man i love my computer! and nix, its usually quite convenient! the .config system is so nice and i really feel like it gives insight to how the computer works!

+

September 30, 2024 at 04:17PM

+

https://old.reddit.com/r/NixOS/comments/1ft9n41/man_i_love_my_computer_and_nix_its_usually_quite/

+ + + + +

view this post on Zulip IFTTT (Oct 01 2024 at 15:13):

+

LazyVim distro example?

+

September 29, 2024 at 01:22AM

+

https://old.reddit.com/r/NixOS/comments/1frzom3/lazyvim_distro_example/

+ + + + +

view this post on Zulip IFTTT (Oct 01 2024 at 17:08):

+

Is NixOS that difficult?

+

October 01, 2024 at 06:56AM

+

https://old.reddit.com/r/NixOS/comments/1ftopwo/is_nixos_that_difficult/

+ + + + +

view this post on Zulip IFTTT (Oct 02 2024 at 03:09):

+

[Freaking awesome] Setted up Imermanence with Luks and btrfs + disko

+

September 30, 2024 at 04:25AM

+

https://old.reddit.com/r/NixOS/comments/1fst619/freaking_awesome_setted_up_imermanence_with_luks/

+ + + + +

view this post on Zulip IFTTT (Oct 02 2024 at 09:08):

+

Do you work with Nix or NixOS?

+

September 26, 2024 at 04:18PM

+

https://old.reddit.com/r/NixOS/comments/1fq9whj/do_you_work_with_nix_or_nixos/

+ + + + +

view this post on Zulip IFTTT (Oct 02 2024 at 22:13):

+

Disko got a new logo

+

October 02, 2024 at 02:13PM

+

https://old.reddit.com/r/NixOS/comments/1fur91n/disko_got_a_new_logo/

+ + + + +

view this post on Zulip IFTTT (Oct 03 2024 at 06:13):

+

There's a reason I don't use Gentoo...

+

October 02, 2024 at 08:45PM

+

https://old.reddit.com/r/NixOS/comments/1fuyzdt/theres_a_reason_i_dont_use_gentoo/

+ + + + +

view this post on Zulip IFTTT (Oct 03 2024 at 19:09):

+

devenv 1.3: Instant developer environments with Nix caching

+

October 03, 2024 at 06:38AM

+

https://old.reddit.com/r/NixOS/comments/1fv7yqc/devenv_13_instant_developer_environments_with_nix/

+ + + + +

view this post on Zulip IFTTT (Oct 04 2024 at 00:13):

+

Graduating from Newbie to Knows a Little

+

October 02, 2024 at 11:06PM

+

https://old.reddit.com/r/NixOS/comments/1fv15xj/graduating_from_newbie_to_knows_a_little/

+ + + + +

view this post on Zulip IFTTT (Oct 04 2024 at 18:13):

+

NixOS Profile Photo

+

October 04, 2024 at 08:43AM

+

https://old.reddit.com/r/NixOS/comments/1fw2a1s/nixos_profile_photo/

+ + + + +

view this post on Zulip IFTTT (Oct 04 2024 at 20:08):

+

I don't know Nix... should I still try out NixOS?

+

October 03, 2024 at 12:29PM

+

https://old.reddit.com/r/NixOS/comments/1fvg1hi/i_dont_know_nix_should_i_still_try_out_nixos/

+ + + + +

view this post on Zulip IFTTT (Oct 05 2024 at 20:13):

+

networking.interfaces vs systemd.network.networks

+

October 04, 2024 at 08:13PM

+

https://old.reddit.com/r/NixOS/comments/1fwh4f0/networkinginterfaces_vs_systemdnetworknetworks/

+ + + + +

view this post on Zulip IFTTT (Oct 05 2024 at 21:13):

+

nixos-unified-template: NixOS / nix-darwin / home-manager in one repo

+

October 04, 2024 at 03:14PM

+

https://old.reddit.com/r/NixOS/comments/1fwbd4b/nixosunifiedtemplate_nixos_nixdarwin_homemanager/

+ + + + +

view this post on Zulip IFTTT (Oct 05 2024 at 23:13):

+

It's in staging-24.05, not yet in staging-next-24.05, & the nixos:release-24.05 hydra has a 36-hour check interval

+

October 05, 2024 at 12:30PM

+

https://old.reddit.com/r/NixOS/comments/1fwyak1/its_in_staging2405_not_yet_in_stagingnext2405_the/

+ + + + +

view this post on Zulip IFTTT (Oct 06 2024 at 00:13):

+

Nix is built for its own developers

+

October 05, 2024 at 02:44PM

+

https://old.reddit.com/r/NixOS/comments/1fx1653/nix_is_built_for_its_own_developers/

+ + + + +

view this post on Zulip IFTTT (Oct 06 2024 at 12:23):

+

Is there a benefit to using NixOS as a casual linux user?

+

October 05, 2024 at 02:58PM

+

https://old.reddit.com/r/NixOS/comments/1fx1go0/is_there_a_benefit_to_using_nixos_as_a_casual/

+ + + + +

view this post on Zulip IFTTT (Oct 06 2024 at 22:13):

+

Retro handheld support? RK3588 chipset has community NixOS support, I'm wondering how difficult the RK3566 would be, that chipset lives in 99% of retro handhelds.

+

October 06, 2024 at 11:02AM

+

https://old.reddit.com/r/NixOS/comments/1fxmmtf/retro_handheld_support_rk3588_chipset_has/

+ + + + +

view this post on Zulip IFTTT (Oct 07 2024 at 12:18):

+

[wip]: Introducing nixthe.systems: A Platform for sharing Nix Configurations and More

+

October 06, 2024 at 09:24PM

+

https://old.reddit.com/r/NixOS/comments/1fxzfay/wip_introducing_nixthesystems_a_platform_for/

+ + + + +

view this post on Zulip IFTTT (Oct 08 2024 at 05:13):

+

Released v2 of My Nvim Setup: Modular, Minimalist

+

October 07, 2024 at 04:44AM

+

https://old.reddit.com/r/NixOS/comments/1fy5lab/released_v2_of_my_nvim_setup_modular_minimalist/

+ + + + +

view this post on Zulip IFTTT (Oct 09 2024 at 22:09):

+

My Nix Configuration with Flakes, Agenix, Home-Manager and Automatic Module Documentation

+

October 08, 2024 at 01:04AM

+

https://old.reddit.com/r/NixOS/comments/1fyun1k/my_nix_configuration_with_flakes_agenix/

+ + + + +

view this post on Zulip IFTTT (Oct 10 2024 at 04:08):

+

my nixos utility, nixedit

+

October 05, 2024 at 04:45PM

+

https://old.reddit.com/r/NixOS/comments/1fx3lc1/my_nixos_utility_nixedit/

+ + + + +

view this post on Zulip IFTTT (Oct 10 2024 at 12:13):

+

Leaving Nix for Guix

+

October 10, 2024 at 02:10AM

+

https://old.reddit.com/r/NixOS/comments/1g0emxe/leaving_nix_for_guix/

+ + + + +

view this post on Zulip IFTTT (Oct 11 2024 at 06:13):

+

Is NixOS good for development

+

October 10, 2024 at 01:05AM

+

https://old.reddit.com/r/NixOS/comments/1g0du55/is_nixos_good_for_development/

+ + + + +

view this post on Zulip IFTTT (Oct 11 2024 at 17:08):

+

Yo, this is not rabbit hole, it's a black hole

+

October 11, 2024 at 07:47AM

+

https://old.reddit.com/r/NixOS/comments/1g1bjib/yo_this_is_not_rabbit_hole_its_a_black_hole/

+ + + + +

view this post on Zulip IFTTT (Oct 11 2024 at 20:09):

+

[Discussion] The difference between GNU Guix and NixOS.

+

October 10, 2024 at 10:37PM

+

https://old.reddit.com/r/NixOS/comments/1g12rq7/discussion_the_difference_between_gnu_guix_and/

+ + + + +

view this post on Zulip IFTTT (Oct 12 2024 at 07:13):

+

Heard about the rollbacks. Came for the declaration. Stayed for the flakes. Fell in love with the modularity.

+

October 11, 2024 at 09:20PM

+

https://old.reddit.com/r/NixOS/comments/1g1s99w/heard_about_the_rollbacks_came_for_the/

+ + + + +

view this post on Zulip IFTTT (Oct 12 2024 at 20:08):

+

New BFF

+

October 12, 2024 at 11:02AM

+

https://old.reddit.com/r/NixOS/comments/1g25xkt/new_bff/

+ + + + +

view this post on Zulip IFTTT (Oct 12 2024 at 23:13):

+

Nix has actually less packages than AUR

+

October 12, 2024 at 06:02AM

+

https://old.reddit.com/r/NixOS/comments/1g1zn65/nix_has_actually_less_packages_than_aur/

+ + + + +

view this post on Zulip IFTTT (Oct 13 2024 at 08:13):

+

me trying to run a random binary

+

October 12, 2024 at 04:49PM

+

https://old.reddit.com/r/NixOS/comments/1g2d2fg/me_trying_to_run_a_random_binary/

+ + + + +

view this post on Zulip IFTTT (Oct 13 2024 at 15:13):

+

My small side project: Nix GitLab CI

+

October 13, 2024 at 03:23AM

+

https://old.reddit.com/r/NixOS/comments/1g2mmq7/my_small_side_project_nix_gitlab_ci/

+ + + + +

view this post on Zulip IFTTT (Oct 15 2024 at 05:13):

+

Made a NixOS Oh My Posh theme

+

October 14, 2024 at 09:56AM

+

https://old.reddit.com/r/NixOS/comments/1g3kno8/made_a_nixos_oh_my_posh_theme/

+ + + + +

view this post on Zulip IFTTT (Oct 17 2024 at 09:08):

+

PSA: Nix Elections Database Corrupted; Revote Likely

+

October 14, 2024 at 04:04AM

+

https://old.reddit.com/r/NixOS/comments/1g3d4ku/psa_nix_elections_database_corrupted_revote_likely/

+ + + + +

view this post on Zulip IFTTT (Oct 17 2024 at 10:13):

+

Rate my flake

+

October 16, 2024 at 06:57AM

+

https://old.reddit.com/r/NixOS/comments/1g500h1/rate_my_flake/

+ + + + +

view this post on Zulip IFTTT (Oct 17 2024 at 21:09):

+

CUDA Support Moved To Nix-Community

+

October 16, 2024 at 08:06PM

+

https://old.reddit.com/r/NixOS/comments/1g5hcc9/cuda_support_moved_to_nixcommunity/

+ + + + +

view this post on Zulip IFTTT (Oct 18 2024 at 15:13):

+

Flake.nix that covers multiple hosts.

+

October 14, 2024 at 04:20AM

+

https://old.reddit.com/r/NixOS/comments/1g3dd5e/flakenix_that_covers_multiple_hosts/

+ + + + +

view this post on Zulip IFTTT (Oct 19 2024 at 05:13):

+

If you're struggling to get NPM packages to work in NixOS do this

+

October 15, 2024 at 03:34AM

+

https://old.reddit.com/r/NixOS/comments/1g44kta/if_youre_struggling_to_get_npm_packages_to_work/

+ + + + +

view this post on Zulip IFTTT (Oct 19 2024 at 12:13):

+

Using NixOS to develop mobile apps with rust tauri v2

+

October 18, 2024 at 06:04AM

+

https://old.reddit.com/r/NixOS/comments/1g6hkln/using_nixos_to_develop_mobile_apps_with_rust/

+ + + + +

view this post on Zulip IFTTT (Oct 19 2024 at 15:13):

+

Yae ‒ Powerful yet minimal dependency manager intended for use with Nix, which functions similar to niv and npins

+

October 14, 2024 at 01:36PM

+

https://old.reddit.com/r/NixOS/comments/1g3q2gq/yae_powerful_yet_minimal_dependency_manager/

+ + + + +

view this post on Zulip IFTTT (Oct 19 2024 at 18:13):

+

Nix Elections: Voting Open Until 2024-11-03

+

October 18, 2024 at 01:33PM

+

https://old.reddit.com/r/NixOS/comments/1g6s0mc/nix_elections_voting_open_until_20241103/

+ + + + +

view this post on Zulip IFTTT (Oct 19 2024 at 21:13):

+

[blog] Deploying Nix builds on Fly.io

+

October 19, 2024 at 08:05AM

+

https://old.reddit.com/r/NixOS/comments/1g7avb8/blog_deploying_nix_builds_on_flyio/

+ + + + +

view this post on Zulip IFTTT (Oct 21 2024 at 00:13):

+

Switching from Arch to Nix

+

October 20, 2024 at 01:17PM

+

https://old.reddit.com/r/NixOS/comments/1g87z2q/switching_from_arch_to_nix/

+ + + + +

view this post on Zulip IFTTT (Oct 21 2024 at 01:08):

+

Lix(?) forking NixOS/nixpkgs

+

October 20, 2024 at 07:32AM

+

https://old.reddit.com/r/NixOS/comments/1g801r9/lix_forking_nixosnixpkgs/

+ + + + +

view this post on Zulip IFTTT (Oct 21 2024 at 16:13):

+

A deterministic walk through a simple Nix-expression

+

October 21, 2024 at 07:55AM

+

https://old.reddit.com/r/NixOS/comments/1g8rmys/a_deterministic_walk_through_a_simple/

+ + + + +

view this post on Zulip IFTTT (Oct 21 2024 at 17:13):

+

NixOS for the non-programmer?

+

October 21, 2024 at 02:41AM

+

https://old.reddit.com/r/NixOS/comments/1g8lr08/nixos_for_the_nonprogrammer/

+ + + + +

view this post on Zulip IFTTT (Oct 21 2024 at 22:13):

+

Announcing Determinate Nix, a distribution of Nix built for teams and optimized for the enterprise

+

October 21, 2024 at 12:45PM

+

https://old.reddit.com/r/NixOS/comments/1g8yu9m/announcing_determinate_nix_a_distribution_of_nix/

+ + + + +

view this post on Zulip IFTTT (Oct 22 2024 at 16:13):

+

devenv is switching Nix implementation to Tvix

+

October 22, 2024 at 06:25AM

+

https://old.reddit.com/r/NixOS/comments/1g9i2vr/devenv_is_switching_nix_implementation_to_tvix/

+ + + + +

view this post on Zulip IFTTT (Oct 23 2024 at 22:13):

+

Using Nix to Fuzz Test a PDF Parser

+

October 23, 2024 at 08:10AM

+

https://old.reddit.com/r/NixOS/comments/1gacwmf/using_nix_to_fuzz_test_a_pdf_parser/

+ + + + +

view this post on Zulip IFTTT (Oct 24 2024 at 06:09):

+

Announcing the Ekala Project, a Nix inspired ecosystem

+

October 23, 2024 at 08:28PM

+

https://old.reddit.com/r/NixOS/comments/1gatci0/announcing_the_ekala_project_a_nix_inspired/

+ + + + +

view this post on Zulip IFTTT (Oct 24 2024 at 20:13):

+

Nix at work: FlakeHub Cache and private flakes

+

October 23, 2024 at 11:09AM

+

https://old.reddit.com/r/NixOS/comments/1gahaas/nix_at_work_flakehub_cache_and_private_flakes/

+ + + + +

view this post on Zulip IFTTT (Oct 25 2024 at 14:13):

+

Advice on Further Hardening NixOS (Kernel, Memory Allocator Done—What Next?)

+

October 24, 2024 at 04:13PM

+

https://old.reddit.com/r/NixOS/comments/1gbg6ps/advice_on_further_hardening_nixos_kernel_memory/

+ + + + +

view this post on Zulip IFTTT (Oct 25 2024 at 19:13):

+

The future of software is Nix

+

October 25, 2024 at 10:04AM

+

https://old.reddit.com/r/NixOS/comments/1gbz7yv/the_future_of_software_is_nix/

+ + + + +

view this post on Zulip IFTTT (Oct 26 2024 at 18:13):

+

Nix team member suggests removing flakes; data suggest it isn't a good idea, please remove the experimental flag instead

+

October 26, 2024 at 09:23AM

+

https://old.reddit.com/r/NixOS/comments/1gcotmu/nix_team_member_suggests_removing_flakes_data/

+ + + + +

view this post on Zulip IFTTT (Oct 26 2024 at 19:13):

+

Finally hopping to NixOS fulltime

+

October 26, 2024 at 06:10AM

+

https://old.reddit.com/r/NixOS/comments/1gckr76/finally_hopping_to_nixos_fulltime/

+ + + + +

view this post on Zulip IFTTT (Oct 27 2024 at 15:13):

+

Rewriting my entire nix configuration, any tips?

+

October 25, 2024 at 11:10AM

+

https://old.reddit.com/r/NixOS/comments/1gc0rhk/rewriting_my_entire_nix_configuration_any_tips/

+ + + + +

view this post on Zulip IFTTT (Oct 28 2024 at 08:13):

+

Nix lang v2 | Lix Wiki

+

October 26, 2024 at 01:52PM

+

https://old.reddit.com/r/NixOS/comments/1gcumn1/nix_lang_v2_lix_wiki/

+ + + + +

view this post on Zulip IFTTT (Oct 28 2024 at 18:13):

+

Domen: "I won’t be contributing to Nix anymore and will put my efforts into Tvix"

+

October 28, 2024 at 07:00AM

+

https://old.reddit.com/r/NixOS/comments/1ge2rkb/domen_i_wont_be_contributing_to_nix_anymore_and/

+ + + + +

view this post on Zulip IFTTT (Oct 28 2024 at 22:13):

+

Flakes roadmap

+

October 28, 2024 at 09:37AM

+

https://old.reddit.com/r/NixOS/comments/1ge6mar/flakes_roadmap/

+ + + + +

view this post on Zulip IFTTT (Oct 30 2024 at 18:09):

+

What's going on with Nix right now? and how does it affect me as an end user?

+

October 30, 2024 at 03:28AM

+

https://old.reddit.com/r/NixOS/comments/1gfjcb5/whats_going_on_with_nix_right_now_and_how_does_it/

+ + + + +

view this post on Zulip IFTTT (Oct 30 2024 at 23:13):

+

Leaving Nix. Don't expect anyone to care, but you never know.

+

October 30, 2024 at 02:03PM

+

https://old.reddit.com/r/NixOS/comments/1gfx95g/leaving_nix_dont_expect_anyone_to_care_but_you/

+ + + + +

view this post on Zulip IFTTT (Oct 31 2024 at 00:08):

+

How to manage a fleet of NixOS desktop machines?

+

October 29, 2024 at 05:05PM

+

https://old.reddit.com/r/NixOS/comments/1gf9ii1/how_to_manage_a_fleet_of_nixos_desktop_machines/

+ + + + +

view this post on Zulip IFTTT (Oct 31 2024 at 16:13):

+

A call for the Nix team to present a unified front on the outcome and strategy around Nix flakes

+

October 31, 2024 at 06:27AM

+

https://old.reddit.com/r/NixOS/comments/1ggei8a/a_call_for_the_nix_team_to_present_a_unified/

+ + + + +

view this post on Zulip IFTTT (Nov 01 2024 at 01:13):

+

The Darwin SDKs have been updated - Announcements

+

October 31, 2024 at 12:50PM

+

https://old.reddit.com/r/NixOS/comments/1ggncla/the_darwin_sdks_have_been_updated_announcements/

+ + + + +

view this post on Zulip IFTTT (Nov 01 2024 at 15:09):

+

I finally gave NixOS a try. I LOVE IT! It was so much easier to switch than I thought. I'm never going back to Arch!

+

November 01, 2024 at 03:50AM

+

https://old.reddit.com/r/NixOS/comments/1gh2joq/i_finally_gave_nixos_a_try_i_love_it_it_was_so/

+ + + + +

view this post on Zulip IFTTT (Nov 02 2024 at 17:08):

+

Software Devs, how do you set up and organise your shells/flakes?

+

November 01, 2024 at 05:24AM

+

https://old.reddit.com/r/NixOS/comments/1gh43pf/software_devs_how_do_you_set_up_and_organise_your/

+ + + + +

view this post on Zulip IFTTT (Nov 02 2024 at 21:13):

+

Simula VR will be using Nix?

+

October 28, 2024 at 12:43AM

+

https://old.reddit.com/r/NixOS/comments/1gdwjv1/simula_vr_will_be_using_nix/

+ + + + +

view this post on Zulip IFTTT (Nov 03 2024 at 00:13):

+

Appreciation post

+

November 02, 2024 at 09:07AM

+

https://old.reddit.com/r/NixOS/comments/1ghztoq/appreciation_post/

+ + + + +

view this post on Zulip IFTTT (Nov 03 2024 at 08:13):

+

Nix Community Survey 2024 Results

+

November 02, 2024 at 03:40PM

+

https://old.reddit.com/r/NixOS/comments/1gi8fxi/nix_community_survey_2024_results/

+ + + + +

view this post on Zulip IFTTT (Nov 03 2024 at 09:08):

+

NixOS logo keyboard.

+

November 03, 2024 at 01:23AM

+

https://old.reddit.com/r/NixOS/comments/1giiagg/nixos_logo_keyboard/

+ + + + +

view this post on Zulip IFTTT (Nov 03 2024 at 20:13):

+

I decided to go for NixOS as I plan to upgrade from windows.

+

November 03, 2024 at 08:41AM

+

https://old.reddit.com/r/NixOS/comments/1gir2nh/i_decided_to_go_for_nixos_as_i_plan_to_upgrade/

+ + + + +

view this post on Zulip IFTTT (Nov 04 2024 at 12:13):

+

Day 2. Is this normal?

+

November 03, 2024 at 08:40PM

+

https://old.reddit.com/r/NixOS/comments/1gj6ep7/day_2_is_this_normal/

+ + + + +

view this post on Zulip IFTTT (Nov 04 2024 at 19:13):

+

first time daily-driving linux and it's NixOS on a macbook - the install and setup changed me as a person but so worth it in the end!

+

November 04, 2024 at 08:36AM

+

https://old.reddit.com/r/NixOS/comments/1gjilyx/first_time_dailydriving_linux_and_its_nixos_on_a/

+ + + + +

view this post on Zulip IFTTT (Nov 04 2024 at 22:13):

+

I made this NixOS in minecraft long time ago for minecraft-grub theme for grub, and seen this while scrolling through my screenshots

+

November 04, 2024 at 11:21AM

+

https://old.reddit.com/r/NixOS/comments/1gjmpf9/i_made_this_nixos_in_minecraft_long_time_ago_for/

+ + + + +

view this post on Zulip IFTTT (Nov 06 2024 at 11:08):

+

Tip: Use GitHub's search to solve your Nix problems!

+

November 05, 2024 at 03:43PM

+

https://old.reddit.com/r/NixOS/comments/1gkkwr3/tip_use_githubs_search_to_solve_your_nix_problems/

+ + + + +

view this post on Zulip IFTTT (Nov 06 2024 at 22:13):

+

pog: a new, powerful way to do bash scripts

+

November 04, 2024 at 03:18PM

+

https://old.reddit.com/r/NixOS/comments/1gjsdqf/pog_a_new_powerful_way_to_do_bash_scripts/

+ + + + +

view this post on Zulip IFTTT (Nov 07 2024 at 12:13):

+

I just had the most amazing refactoring session due to the new pipe-operators extension in nixos.

+

November 06, 2024 at 08:51AM

+

https://old.reddit.com/r/NixOS/comments/1gl312q/i_just_had_the_most_amazing_refactoring_session/

+ + + + +

view this post on Zulip IFTTT (Nov 09 2024 at 16:18):

+

Announcing nix-infra: Create a private PaaS on Hetzner Cloud

+

November 08, 2024 at 03:17AM

+

https://old.reddit.com/r/NixOS/comments/1gmg7rd/announcing_nixinfra_create_a_private_paas_on/

+ + + + +

view this post on Zulip IFTTT (Nov 09 2024 at 22:13):

+

Gotta love that feeling

+

November 09, 2024 at 07:59AM

+

https://old.reddit.com/r/NixOS/comments/1gnd6hg/gotta_love_that_feeling/

+ + + + +

view this post on Zulip IFTTT (Nov 10 2024 at 04:13):

+

I tried NixOS for 1 week, here are my thoughts (as someone who only recently started using Linux)

+

November 09, 2024 at 10:40AM

+

https://old.reddit.com/r/NixOS/comments/1gngs6h/i_tried_nixos_for_1_week_here_are_my_thoughts_as/

+ + + + +

view this post on Zulip IFTTT (Nov 10 2024 at 09:13):

+

[video] NixCon 2024: devenv is switching to Tvix

+

November 09, 2024 at 12:02AM

+

https://old.reddit.com/r/NixOS/comments/1gn5arj/video_nixcon_2024_devenv_is_switching_to_tvix/

+ + + + +

view this post on Zulip IFTTT (Nov 11 2024 at 05:13):

+

What's the reason behind nix language?

+

November 10, 2024 at 04:03AM

+

https://old.reddit.com/r/NixOS/comments/1gnz6up/whats_the_reason_behind_nix_language/

+ + + + +

view this post on Zulip IFTTT (Nov 11 2024 at 17:18):

+

AMD doesn’t provide microcode updates for your CPU. Here’s how to fill the gap.

+

November 11, 2024 at 05:57AM

+

https://old.reddit.com/r/NixOS/comments/1gosrtr/amd_doesnt_provide_microcode_updates_for_your_cpu/

+ + + + +

view this post on Zulip IFTTT (Nov 11 2024 at 20:09):

+

Nix in the Wild: Bellroy

+

November 05, 2024 at 09:57AM

+

https://old.reddit.com/r/NixOS/comments/1gkctmn/nix_in_the_wild_bellroy/

+ + + + +

view this post on Zulip IFTTT (Nov 12 2024 at 00:13):

+

Results for the Nix Steering Committee Election 2024

+

November 05, 2024 at 02:47AM

+

https://old.reddit.com/r/NixOS/comments/1gk3x48/results_for_the_nix_steering_committee_election/

+ + + + +

view this post on Zulip IFTTT (Nov 12 2024 at 11:13):

+

opnix: Native secret management for NixOS using 1Password.

+

November 11, 2024 at 10:55AM

+

https://old.reddit.com/r/NixOS/comments/1gozxkg/opnix_native_secret_management_for_nixos_using/

+ + + + +

view this post on Zulip IFTTT (Nov 12 2024 at 18:13):

+

London Nix User Group

+

November 12, 2024 at 01:15AM

+

https://old.reddit.com/r/NixOS/comments/1gpgru0/london_nix_user_group/

+ + + + +

view this post on Zulip IFTTT (Nov 13 2024 at 00:13):

+

My Experience with NixOS as a "new" Linux user.

+

November 10, 2024 at 04:14PM

+

https://old.reddit.com/r/NixOS/comments/1gof4tq/my_experience_with_nixos_as_a_new_linux_user/

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415266-social-media/topic/stream.20events.html b/stream/415266-social-media/topic/stream.20events.html new file mode 100644 index 00000000000..12c18769300 --- /dev/null +++ b/stream/415266-social-media/topic/stream.20events.html @@ -0,0 +1,40 @@ + +stream events · social-media · Zulip Chat Archive +

Stream: social-media

+

Topic: stream events

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Nov 29 2023 at 22:17):

+

Web-public stream created by Srid. Description:

+
+

No description.

+
+ + + + +

view this post on Zulip Notification Bot (Nov 30 2023 at 02:12):

+

Srid changed the description for this stream.

+
    +
  • Old description:
  • +
+
+

No description.

+
+
    +
  • New description:
  • +
+
+

Automated posting from various social media

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415454-nix-browser/index.html b/stream/415454-nix-browser/index.html new file mode 100644 index 00000000000..f3d5f700f31 --- /dev/null +++ b/stream/415454-nix-browser/index.html @@ -0,0 +1,15 @@ + +Zulip Chat Archive +

Stream: nix-browser

+
+ +

Topics:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415454-nix-browser/topic/Building.20Tauri.20apps.html b/stream/415454-nix-browser/topic/Building.20Tauri.20apps.html new file mode 100644 index 00000000000..c647c6f7156 --- /dev/null +++ b/stream/415454-nix-browser/topic/Building.20Tauri.20apps.html @@ -0,0 +1,35 @@ + +Building Tauri apps · nix-browser · Zulip Chat Archive +

Stream: nix-browser

+

Topic: Building Tauri apps

+ +
+ + + + + + +

view this post on Zulip Srid (Dec 01 2023 at 13:55):

+

Came across this,

+

Zapier said:

+
+

Build tauri app for NixOS

+

Date: 2023-12-01T12:47:29+00:00
+Link: https://old.reddit.com/r/NixOS/comments/188b2dk/build_tauri_app_for_nixos/

+
+

Hey!

+

I have access to the source code of an App built with Tauri that I want to package for NixOS.

+

As per Tauri's docs it supports bundling as a .deb or .AppImage.

+

I was wondering if there's a way to compile it into a NixOS compatible binary directly, so that it can be added to nixpkgs. Or if I have to go through the hassle as packaging it as one of the two, then extracting it and cherry pick the necessary dependencies to get it to run on my NixOS machine.

+

Thank you in advance! :)

+

submitted by /u/OakArtz

+

[link] [comments]
+

+
+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415454-nix-browser/topic/Unable.20to.20gather.20nix.20info.20issue.html b/stream/415454-nix-browser/topic/Unable.20to.20gather.20nix.20info.20issue.html new file mode 100644 index 00000000000..415b177b284 --- /dev/null +++ b/stream/415454-nix-browser/topic/Unable.20to.20gather.20nix.20info.20issue.html @@ -0,0 +1,34 @@ + +Unable to gather nix info issue · nix-browser · Zulip Chat Archive +

Stream: nix-browser

+

Topic: Unable to gather nix info issue

+ +
+ + + + + + +

view this post on Zulip Jishnu Prakash (Feb 27 2024 at 07:34):

+

Getting the following error after the same command got interrupted due to network issue.
+cc: @Srid

+
❯ nix --accept-flake-config run github:juspay/nix-browser#nix-health
+Error: Unable to gather nix info
+
+Caused by:
+    0: Nix command error: Failed to decode command stdout (json error): invalid type: integer `1`, expected a string at line 1 column 11309
+    1: Failed to decode command stdout (json error): invalid type: integer `1`, expected a string at line 1 column 11309
+    2: invalid type: integer `1`, expected a string at line 1 column 11309
+
+ + + + +

view this post on Zulip Srid (Feb 27 2024 at 15:26):

+

You got it working after a nix nix-upgrade right? You Nix version must have been old, in which case it would be good to know what it was, because it looks like we probably should do the version check first before running anything else.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415454-nix-browser/topic/stream.20events.html b/stream/415454-nix-browser/topic/stream.20events.html new file mode 100644 index 00000000000..8bc09d33eab --- /dev/null +++ b/stream/415454-nix-browser/topic/stream.20events.html @@ -0,0 +1,22 @@ + +stream events · nix-browser · Zulip Chat Archive +

Stream: nix-browser

+

Topic: stream events

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Dec 01 2023 at 13:54):

+

Web-public stream created by Srid. Description:

+
+

Discussions about https://github.com/juspay/nix-browser

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415454-omnix/index.html b/stream/415454-omnix/index.html new file mode 100644 index 00000000000..cd12a337cbd --- /dev/null +++ b/stream/415454-omnix/index.html @@ -0,0 +1,24 @@ + +Zulip Chat Archive +

Stream: omnix

+
+ +

Topics:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415454-omnix/topic/0.2E1.2E0.html b/stream/415454-omnix/topic/0.2E1.2E0.html new file mode 100644 index 00000000000..fdd4c25ff13 --- /dev/null +++ b/stream/415454-omnix/topic/0.2E1.2E0.html @@ -0,0 +1,20 @@ + +0.1.0 · omnix · Zulip Chat Archive +

Stream: omnix

+

Topic: 0.1.0

+ +
+ + + + + + +

view this post on Zulip Srid (Aug 08 2024 at 16:24):

+

Initial release is approaching, and we have a website:

+

https://omnix.page/

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415454-omnix/topic/Building.20Tauri.20apps.html b/stream/415454-omnix/topic/Building.20Tauri.20apps.html new file mode 100644 index 00000000000..c8a1d9e71eb --- /dev/null +++ b/stream/415454-omnix/topic/Building.20Tauri.20apps.html @@ -0,0 +1,35 @@ + +Building Tauri apps · omnix · Zulip Chat Archive +

Stream: omnix

+

Topic: Building Tauri apps

+ +
+ + + + + + +

view this post on Zulip Srid (Dec 01 2023 at 13:55):

+

Came across this,

+

Zapier said:

+
+

Build tauri app for NixOS

+

Date: 2023-12-01T12:47:29+00:00
+Link: https://old.reddit.com/r/NixOS/comments/188b2dk/build_tauri_app_for_nixos/

+
+

Hey!

+

I have access to the source code of an App built with Tauri that I want to package for NixOS.

+

As per Tauri's docs it supports bundling as a .deb or .AppImage.

+

I was wondering if there's a way to compile it into a NixOS compatible binary directly, so that it can be added to nixpkgs. Or if I have to go through the hassle as packaging it as one of the two, then extracting it and cherry pick the necessary dependencies to get it to run on my NixOS machine.

+

Thank you in advance! :)

+

submitted by /u/OakArtz

+

[link] [comments]
+

+
+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415454-omnix/topic/Flake.20schemas.html b/stream/415454-omnix/topic/Flake.20schemas.html new file mode 100644 index 00000000000..ef8c7ee629d --- /dev/null +++ b/stream/415454-omnix/topic/Flake.20schemas.html @@ -0,0 +1,20 @@ + +Flake schemas · omnix · Zulip Chat Archive +

Stream: omnix

+

Topic: Flake schemas

+ +
+ + + + + + +

view this post on Zulip Srid (Jul 22 2024 at 21:59):

+

We are leveraging it:

+

https://github.com/juspay/omnix/pull/166

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415454-omnix/topic/Grand.20plan.20for.20omnix.html b/stream/415454-omnix/topic/Grand.20plan.20for.20omnix.html new file mode 100644 index 00000000000..70d87468805 --- /dev/null +++ b/stream/415454-omnix/topic/Grand.20plan.20for.20omnix.html @@ -0,0 +1,211 @@ + +Grand plan for omnix · omnix · Zulip Chat Archive +

Stream: omnix

+

Topic: Grand plan for omnix

+ +
+ + + + + + +

view this post on Zulip Andreas (Jul 12 2024 at 16:31):

+

Help me understand the project a bit better?

+ + + + +

view this post on Zulip Andreas (Jul 12 2024 at 16:41):

+

are you gonna use dioxus or tauri or both?

+ + + + +

view this post on Zulip Srid (Jul 12 2024 at 16:48):

+

Dioxus is just going to be for the GUI component. There will also be a CLI component.

+

To begin with, I want to address two use cases for the CLI:

+
    +
  • Ability to initialize flakes for any project (based on smart templates; see flakreate proposal with RobertH)
  • +
  • Ability to 'inspect' any project, so CEOs can switch to it and run it.
  • +
+ + + + +

view this post on Zulip Srid (Jul 12 2024 at 16:49):

+

Somewhat tangential: https://github.com/water-sucks/nixos

+ + + + +

view this post on Zulip Andreas (Jul 12 2024 at 16:49):

+

ah yes, the CEO feature makes sense. How would you want to implement that? I'll check out the flakreate proposal.

+ + + + +

view this post on Zulip Andreas (Jul 12 2024 at 16:49):

+

Where do I find flakreate?

+ + + + +

view this post on Zulip Srid (Jul 12 2024 at 16:50):

+

Andreas said:

+
+

Where do I find flakreate?

+
+

https://github.com/flake-parts/templates/issues/7

+

https://github.com/juspay/flakreate

+ + + + +

view this post on Zulip Andreas (Jul 12 2024 at 16:50):

+

ah so nix flake init with parameters

+ + + + +

view this post on Zulip Srid (Jul 12 2024 at 16:51):

+

It probably won't be parameters, but generators as Robert ideated.

+ + + + +

view this post on Zulip Andreas (Jul 12 2024 at 16:51):

+

What would that mean for a CLI?

+ + + + +

view this post on Zulip Andreas (Jul 12 2024 at 16:52):

+

ah so no templates... hm

+ + + + +

view this post on Zulip Srid (Jul 12 2024 at 16:52):

+

The CLI would maintain a registry, run nix flake init and then run the generator to 'complete' it. Something like that.

+ + + + +

view this post on Zulip Andreas (Jul 12 2024 at 16:53):

+

okay, I see. But the generator isn't there yet, right?

+ + + + +

view this post on Zulip Srid (Jul 12 2024 at 16:53):

+
om init --stack=haskell
+
+om init --stack=haskell --stack=treefmt --stack-pre-commit-hooks
+
+ + + + +

view this post on Zulip Andreas (Jul 12 2024 at 16:54):

+

okay so it would generate a flake for a haskell project with treefmt and pre-commit-hooks I suppose?

+ + + + +

view this post on Zulip Srid (Jul 12 2024 at 16:57):

+

You are asking questions too early. But I'll post PRs and stuff here over time.

+ + + + +

view this post on Zulip Andreas (Jul 12 2024 at 16:59):

+
+

You are asking questions too early.

+
+

And I always thought that was your approach! :rolling_on_the_floor_laughing:

+ + + + +

view this post on Zulip Andreas (Jul 12 2024 at 16:59):

+

yeah but once you actually have something to do there, I might be interested in taking a look!

+ + + + +

view this post on Zulip Srid (Jul 12 2024 at 17:02):

+

My approach is certainly not to design everything up front, write it down, etc.

+ + + + +

view this post on Zulip Andreas (Jul 12 2024 at 17:08):

+

mine neither, so where shall we go first with omnix?

+ + + + +

view this post on Zulip Srid (Jul 12 2024 at 17:09):

+

DM'ed you

+ + + + +

view this post on Zulip Srid (Jul 12 2024 at 18:11):

+

Initial priority:

+

https://github.com/juspay/omnix/issues/140

+ + + + +

view this post on Zulip Srid (Jul 12 2024 at 18:12):

+

Perhaps I should start adopting a RFC workflow here.

+ + + + +

view this post on Zulip Andreas (Jul 12 2024 at 18:48):

+

yeah maybe

+ + + + +

view this post on Zulip Andreas (Jul 12 2024 at 18:50):

+

so first step is to implement initialization of a flake from templates?

+ + + + +

view this post on Zulip Srid (Jul 12 2024 at 18:52):

+

In particular, first demo would be initializing this home-manager template:

+

https://github.com/juspay/nix-dev-home/pull/41

+ + + + +

view this post on Zulip Srid (Jul 12 2024 at 18:52):

+

Automatically fixing https://github.com/juspay/nix-dev-home/issues/37 in the process

+ + + + +

view this post on Zulip Andreas (Jul 12 2024 at 19:11):

+

You mean the existing nix-dev-home or what you want to do in that PR?

+ + + + +

view this post on Zulip Srid (Jul 12 2024 at 19:47):

+

One should be able to om init home-manager on any WSL, Ubuntu or macOS machine and get going.

+ + + + +

view this post on Zulip Srid (Jul 12 2024 at 19:48):

+

(Similar to nix run github:juspay/flakreate - which can you run today)

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415454-omnix/topic/Static.20binary.html b/stream/415454-omnix/topic/Static.20binary.html new file mode 100644 index 00000000000..6e2134f3f86 --- /dev/null +++ b/stream/415454-omnix/topic/Static.20binary.html @@ -0,0 +1,40 @@ + +Static binary · omnix · Zulip Chat Archive +

Stream: omnix

+

Topic: Static binary

+ +
+ + + + + + +

view this post on Zulip Srid (Jul 12 2024 at 18:58):

+

Should also provide om as a static binary, which can run nix-health without depending on Nix per se, and can even manage the user's Nix install (DetSys installer). A bit long-term though.

+ + + + +

view this post on Zulip Srid (Jul 16 2024 at 02:12):

+

Yes:

+

https://github.com/juspay/omnix/issues/149

+ + + + +

view this post on Zulip Shivaraj B H (Jul 17 2024 at 19:03):

+

About this: https://github.com/juspay/omnix/pull/158#issuecomment-2233484730

+

Doesn’t most of the commands in omnix depend on Nix being present in the user’s system? The only thing the static binary can help is to direct people to install Nix via DetSys installer?

+ + + + +

view this post on Zulip Srid (Jul 17 2024 at 19:39):

+

Since omnix works at a level "above" that of Nix, yes - directing people to install Nix, or even fix their Nix issues is part of it.

+

Employee John joins company Foo, with a new macbook, and git clone's project Qux whose README mentions curl https://omnix.io/install | sh - followed by om setup or something such thing to setup the environment. This is one vision.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415454-omnix/topic/cargo-doc-live.20broken.3F.html b/stream/415454-omnix/topic/cargo-doc-live.20broken.3F.html new file mode 100644 index 00000000000..b99f6869674 --- /dev/null +++ b/stream/415454-omnix/topic/cargo-doc-live.20broken.3F.html @@ -0,0 +1,35 @@ + +cargo-doc-live broken? · omnix · Zulip Chat Archive +

Stream: omnix

+

Topic: cargo-doc-live broken?

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Jul 17 2024 at 18:26):

+

cargo-doc process exits with:

+
[cargo-doc      ]    |
+[cargo-doc      ]    = note: bare URLs are not automatically turned into clickable links
+[cargo-doc      ]    = note: `#[warn(rustdoc::bare_urls)]` on by default
+[cargo-doc      ]
+[cargo-doc      ] warning: `omnix-gui` (bin "omnix-gui" doc) generated 3 warnings (run `cargo fix --bin "omnix-gui"` to apply 1 suggestion)
+[cargo-doc      ]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 55.57s
+[cargo-doc      ]    Generated /Users/shivaraj/oss/omnix/target/doc/nix_health/index.html and 5 other files
+[cargo-doc      ] Browsersync not running at http://localhost:8008
+[cargo-doc      ] [Finished running. Exit status: 0]
+
+ + + + +

view this post on Zulip Srid (Jul 17 2024 at 19:42):

+

We should check the docs in CI to prevent this in future, let me take a look.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415454-omnix/topic/channel.20events.html b/stream/415454-omnix/topic/channel.20events.html new file mode 100644 index 00000000000..6613d8a1baf --- /dev/null +++ b/stream/415454-omnix/topic/channel.20events.html @@ -0,0 +1,37 @@ + +channel events · omnix · Zulip Chat Archive +

Stream: omnix

+

Topic: channel events

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Jul 12 2024 at 16:30):

+

Srid changed the description for this channel.

+
    +
  • Old description:
  • +
+
+

Discussions about https://github.com/juspay/nix-browser

+
+
    +
  • New description:
  • +
+
+

Discussions about https://github.com/juspay/omnix

+
+ + + + +

view this post on Zulip Notification Bot (Jul 12 2024 at 16:30):

+

Srid renamed channel nix-browser to omnix.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415454-omnix/topic/om.20ci.html b/stream/415454-omnix/topic/om.20ci.html new file mode 100644 index 00000000000..a4f06faa8c0 --- /dev/null +++ b/stream/415454-omnix/topic/om.20ci.html @@ -0,0 +1,21 @@ + +om ci · omnix · Zulip Chat Archive +

Stream: omnix

+

Topic: om ci

+ +
+ + + + + + +

view this post on Zulip Srid (Aug 02 2024 at 22:23):

+

... is basically ready.

+

image.png

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415454-omnix/topic/om.20health.html b/stream/415454-omnix/topic/om.20health.html new file mode 100644 index 00000000000..0b7d1a8f75a --- /dev/null +++ b/stream/415454-omnix/topic/om.20health.html @@ -0,0 +1,20 @@ + +om health · omnix · Zulip Chat Archive +

Stream: omnix

+

Topic: om health

+ +
+ + + + + + +

view this post on Zulip Srid (Jul 16 2024 at 19:01):

+

image.png

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415454-omnix/topic/om.20init.html b/stream/415454-omnix/topic/om.20init.html new file mode 100644 index 00000000000..3845eb49005 --- /dev/null +++ b/stream/415454-omnix/topic/om.20init.html @@ -0,0 +1,20 @@ + +om init · omnix · Zulip Chat Archive +

Stream: omnix

+

Topic: om init

+ +
+ + + + + + +

view this post on Zulip Srid (Jul 15 2024 at 20:25):

+

On improving nix flake init

+

https://github.com/juspay/omnix/issues/152

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415454-omnix/topic/om.20show.html b/stream/415454-omnix/topic/om.20show.html new file mode 100644 index 00000000000..dbb591a139c --- /dev/null +++ b/stream/415454-omnix/topic/om.20show.html @@ -0,0 +1,33 @@ + +om show · omnix · Zulip Chat Archive +

Stream: omnix

+

Topic: om show

+ +
+ + + + + + +

view this post on Zulip Srid (Jul 14 2024 at 18:26):

+

Initial thoughts:

+

https://github.com/juspay/omnix/issues/147

+ + + + +

view this post on Zulip Srid (Jul 17 2024 at 02:27):

+

https://github.com/juspay/omnix/pull/157

+ + + + +

view this post on Zulip Srid (Jul 17 2024 at 18:22):

+

Ideas of inspiration: look at what Flakehub / Flakestry displays for flakes.

+

cc @Shivaraj B H

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/415454-omnix/topic/stream.20events.html b/stream/415454-omnix/topic/stream.20events.html new file mode 100644 index 00000000000..bda670a75f5 --- /dev/null +++ b/stream/415454-omnix/topic/stream.20events.html @@ -0,0 +1,22 @@ + +stream events · omnix · Zulip Chat Archive +

Stream: omnix

+

Topic: stream events

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Dec 01 2023 at 13:54):

+

Web-public stream created by Srid. Description:

+
+

Discussions about https://github.com/juspay/nix-browser

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/416818-jenkins-nix-ci/index.html b/stream/416818-jenkins-nix-ci/index.html new file mode 100644 index 00000000000..7c24a0665b4 --- /dev/null +++ b/stream/416818-jenkins-nix-ci/index.html @@ -0,0 +1,14 @@ + +Zulip Chat Archive +

Stream: jenkins-nix-ci

+
+ +

Topics:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/416818-jenkins-nix-ci/topic/cannot.20get.20working.20in.20my.20setup.html b/stream/416818-jenkins-nix-ci/topic/cannot.20get.20working.20in.20my.20setup.html new file mode 100644 index 00000000000..0086ed57984 --- /dev/null +++ b/stream/416818-jenkins-nix-ci/topic/cannot.20get.20working.20in.20my.20setup.html @@ -0,0 +1,87 @@ + +cannot get working in my setup · jenkins-nix-ci · Zulip Chat Archive +

Stream: jenkins-nix-ci

+

Topic: cannot get working in my setup

+ +
+ + + + + + +

view this post on Zulip shaun smiley (Feb 14 2024 at 17:51):

+

I'm trying to figure out how to use this within my own NixOS setup, but I'm having difficulties. I am not using nix-parts or any of the other stuff. I have a fairly simple flake and have added the inputs.jenkins-nix-ci.nixosModules.default block to imports. However, I'm getting errors.

+ + + + +

view this post on Zulip shaun smiley (Feb 14 2024 at 17:52):

+
       … while calling the 'seq' builtin
+
+         at /nix/store/l6ymqz1y4fiy57xh6f3y23zwp0i9lr4f-source/lib/modules.nix:320:18:
+
+          319|         options = checked options;
+          320|         config = checked (removeAttrs config [ "_module" ]);
+             |                  ^
+          321|         _module = checked (config._module);
+
+       … while evaluating a branch condition
+
+         at /nix/store/l6ymqz1y4fiy57xh6f3y23zwp0i9lr4f-source/lib/modules.nix:261:9:
+
+          260|       checkUnmatched =
+          261|         if config._module.check && config._module.freeformType == null && merged.unmatchedDefns != [] then
+             |         ^
+          262|           let
+
+       (stack trace truncated; use '--show-trace' to show the full trace)
+
+       error: infinite recursion encountered
+
+       at /nix/store/l6ymqz1y4fiy57xh6f3y23zwp0i9lr4f-source/lib/modules.nix:506:28:
+
+          505|         builtins.addErrorContext (context name)
+          506|           (args.${name} or config._module.args.${name})
+             |                            ^
+          507|       ) (lib.functionArgs f);
+
+ + + + +

view this post on Zulip shaun smiley (Feb 14 2024 at 18:05):

+

Ah, I need to remove the inputs. within the imports block since I already pass that above. That was likely giving me the recursion error.

+ + + + +

view this post on Zulip Shivaraj B H (Feb 14 2024 at 20:36):

+

Was it though?

+ + + + +

view this post on Zulip shaun smiley (Feb 14 2024 at 20:49):

+

I also had to add sops as that seems to be a hard requirement.
+But, I am still getting strange errors.

+ + + + +

view this post on Zulip shaun smiley (Feb 14 2024 at 20:50):

+

error: attribute 'flake' missing +

+ + + + +

view this post on Zulip Srid (Feb 15 2024 at 11:08):

+

flake is passed by the nixos-flake module, so as to make the caller flake available to all modules.

+

https://github.com/srid/nixos-flake/blob/3891b2030114f8661402991eac9be0ed59f786ae/flake-module.nix#L9

+

If you are not using flake-parts (thus not using nixos-flake), you will have to manually pass these (via specialArgs or _module.args.flake).

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/416818-jenkins-nix-ci/topic/stream.20events.html b/stream/416818-jenkins-nix-ci/topic/stream.20events.html new file mode 100644 index 00000000000..dca782c5b16 --- /dev/null +++ b/stream/416818-jenkins-nix-ci/topic/stream.20events.html @@ -0,0 +1,22 @@ + +stream events · jenkins-nix-ci · Zulip Chat Archive +

Stream: jenkins-nix-ci

+

Topic: stream events

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Dec 12 2023 at 12:11):

+

Web-public stream created by Srid. Description:

+
+

Discussions about https://github.com/juspay/jenkins-nix-ci

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/416826-website/index.html b/stream/416826-website/index.html new file mode 100644 index 00000000000..9725bfa6ef6 --- /dev/null +++ b/stream/416826-website/index.html @@ -0,0 +1,19 @@ + +Zulip Chat Archive +

Stream: website

+
+ +

Topics:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/416826-website/topic/.3Cmeta.20property.3D.22og.3Aimage.22.3E.20for.20wiki-links.html b/stream/416826-website/topic/.3Cmeta.20property.3D.22og.3Aimage.22.3E.20for.20wiki-links.html new file mode 100644 index 00000000000..a25b9c43784 --- /dev/null +++ b/stream/416826-website/topic/.3Cmeta.20property.3D.22og.3Aimage.22.3E.20for.20wiki-links.html @@ -0,0 +1,25 @@ + +<meta property="og:image"> for wiki-links · website · Zulip Chat Archive +

Stream: website

+

Topic: <meta property="og:image"> for wiki-links

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Dec 22 2023 at 05:50):

+

The corresponding Pandoc AST for the wiki-link ![[emanote-logo.svg]] is: [Para [Link ("",[],[("data-wikilink-type","WikiLinkEmbed")]) [] ("emanote-logo.svg","")]]. We can just pattern match on Link and WikiLinkEmbed to get emanote-logo.svg (let's assume for simplicity that WikiLinkEmbed only refers to static image files), but the problem here is that the relative URL is _emanote-static/emanote-logo.svg which is obtained from siteRouteUrl function. I was considering to create a pandoc filter to fetch the siteRouteUrl-- if there is no way to fetch it by reusing the function linked above --, is that the correct approach? @Srid

+ + + + +

view this post on Zulip Srid (Dec 27 2023 at 16:31):

+

There are functions to parse and resolve wikilinks, https://github.com/srid/emanote/blob/30d3d084ddf551e131523b2c41c5a5ab49592848/emanote/src/Emanote/Pandoc/Renderer/Url.hs#L31-L34

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/416826-website/topic/.5BEmanote.5D.20Copy.20button.20to.20code.20blocks.html b/stream/416826-website/topic/.5BEmanote.5D.20Copy.20button.20to.20code.20blocks.html new file mode 100644 index 00000000000..fff802cb67c --- /dev/null +++ b/stream/416826-website/topic/.5BEmanote.5D.20Copy.20button.20to.20code.20blocks.html @@ -0,0 +1,51 @@ + +[Emanote] Copy button to code blocks · website · Zulip Chat Archive +

Stream: website

+

Topic: [Emanote] Copy button to code blocks

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Dec 12 2023 at 12:46):

+

@Srid I was under the impression that changing embed-code.tpl file should change the way code block looks but I don't see any change at all.

+

Updated ember-code.tpl:

+
<div class="py-0.5 mb-3 text-sm" title="${ema:alt}">
+  <div style="position: relative;">
+    <button>Copy</button>
+    <pre><code class="${ema:code:language}" ><ema:code:content /></code></pre>
+  </div>
+</div>
+
+

This is how the code block is rendered:
+Screenshot-2023-12-12-at-6.14.14-PM.png

+

As you can see in the inspect element on the right there is no button in the HTML snippet.

+ + + + +

view this post on Zulip Srid (Dec 12 2023 at 13:11):

+

embed-*.tpl are used only for embed wikilinks, cf. ![[..]].

+

For code blocks, see pandoc.tpl,
+image.png

+
+ + + + +

view this post on Zulip Notification Bot (Dec 12 2023 at 13:13):

+

This topic was moved here from #general > [Emanote] Copy button to code blocks by Srid.

+ + + + +

view this post on Zulip Srid (Dec 12 2023 at 14:31):

+

It would be nice to consolidate them in one place though, if that's even possible.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/416826-website/topic/Link.20to.20a.20sub-section.20of.20an.20internal.20page.html b/stream/416826-website/topic/Link.20to.20a.20sub-section.20of.20an.20internal.20page.html new file mode 100644 index 00000000000..44fda159703 --- /dev/null +++ b/stream/416826-website/topic/Link.20to.20a.20sub-section.20of.20an.20internal.20page.html @@ -0,0 +1,27 @@ + +Link to a sub-section of an internal page · website · Zulip Chat Archive +

Stream: website

+

Topic: Link to a sub-section of an internal page

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Dec 18 2023 at 04:49):

+

I want to be able to do this: [[nixos-install#edit]], it doesn't seem to work, is there a way of doing this without having to provide the entire URL?

+ + + + +

view this post on Zulip Srid (Dec 18 2023 at 13:22):

+

Only for regular links right now,

+

https://emanote.srid.ca/guide/markdown#anchors

+

https://github.com/srid/emanote/discussions/105

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/416826-website/topic/SEO.html b/stream/416826-website/topic/SEO.html new file mode 100644 index 00000000000..fa81623a6d2 --- /dev/null +++ b/stream/416826-website/topic/SEO.html @@ -0,0 +1,21 @@ + +SEO · website · Zulip Chat Archive +

Stream: website

+

Topic: SEO

+ +
+ + + + + + +

view this post on Zulip Srid (Jul 22 2024 at 18:10):

+

See 2nd result

+

image.png

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/416826-website/topic/Updates.html b/stream/416826-website/topic/Updates.html new file mode 100644 index 00000000000..d81a147ecb6 --- /dev/null +++ b/stream/416826-website/topic/Updates.html @@ -0,0 +1,54 @@ + +Updates · website · Zulip Chat Archive +

Stream: website

+

Topic: Updates

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 19 2024 at 15:00):

+

A topic to track updates to the website.

+ + + + +

view this post on Zulip Srid (Mar 19 2024 at 15:00):

+

New page,

+ + + + + +

view this post on Zulip Shivaraj B H (Apr 05 2024 at 11:34):

+

Rust FFI in Haskell:  https://nixos.asia/en/haskell-rust-ffi

+ + + + +

view this post on Zulip Srid (Apr 05 2024 at 20:29):

+

Great.

+

(Just noticed how those ChatGPT images are so huge as to load very slowly on my internet here)

+ + + + +

view this post on Zulip Shivaraj B H (Apr 07 2024 at 07:37):

+

Yeah, we need to compress those.

+ + + + +

view this post on Zulip Srid (May 16 2024 at 03:47):

+

Just posted a new tip on home-manager git module (per-folder config):

+

https://nixos.asia/en/tips/git-profiles

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/416826-website/topic/obsidian.20graph.20in.20emanote.html b/stream/416826-website/topic/obsidian.20graph.20in.20emanote.html new file mode 100644 index 00000000000..bc1f1499964 --- /dev/null +++ b/stream/416826-website/topic/obsidian.20graph.20in.20emanote.html @@ -0,0 +1,178 @@ + +obsidian graph in emanote · website · Zulip Chat Archive +

Stream: website

+

Topic: obsidian graph in emanote

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Dec 06 2023 at 17:55):

+

@Srid I want to have obsidian like interactive graph but reuse the nodes from uplink tree in emanote. How much of an effort, according to you, would that be?

+

I like having the graph stuck to the screen on the sidebar, for quick navigation, while I scroll through the page -- a UX I prefer.

+ + + + +

view this post on Zulip Srid (Dec 06 2023 at 18:13):

+

I'd like to improve the layout such as the right side includes sticky ToC. And the left side includes a navigation sidebar built off folgezettel relationships. So, it shows the siblings of current note in context of the inverted tree.

+

Yes, I want to do this in Emanote. But it is not clear how to visually represent a sidebar tree where nodes may have more than one parent. (In uplink tree this is not an issue because we don't show siblings)

+ + + + +

view this post on Zulip Srid (Dec 06 2023 at 18:15):

+

The graph itself is orthogonal feature, we can have that too. But I don't think it would be as useful as a (more flatish) navigation sidebar.

+ + + + +

view this post on Zulip Shivaraj B H (Dec 06 2023 at 18:39):

+
+

But it is not clear how to visually represent a sidebar tree where nodes may have more than one parent.

+
+

Can you give me an example for nodes having more than one parent?

+ + + + +

view this post on Zulip Shivaraj B H (Dec 06 2023 at 18:41):

+
+

The graph itself is orthogonal feature, we can have that too. But I don't think it would be as useful as a (more flatish) navigation sidebar.

+
+

If the sidebar works out, I don't mind using that. In the end, accessibility must be easy and navigation should be intuitive.

+ + + + +

view this post on Zulip Srid (Dec 06 2023 at 18:44):

+

Shivaraj B H said:

+
+
+

But it is not clear how to visually represent a sidebar tree where nodes may have more than one parent.

+
+

Can you give me an example for nodes having more than one parent?

+
+

Your own post: https://nixos.asia/en/blog/nixify-haskell-project-intro

+

What would the left sidebar content be, exactly, for this page?

+ + + + +

view this post on Zulip Srid (Dec 06 2023 at 18:46):

+

Another example: https://nixos.asia/en/gotchas/macos-upgrade

+

Say, both 'Gotchas' and 'macOS' have multiple children. How would these children be rendered on the sidebar, and where and how would the current page's title be positioned?

+ + + + +

view this post on Zulip Shivaraj B H (Dec 06 2023 at 19:20):

+
+

How would these children be rendered on the sidebar, and where and how would the current page's title be positioned?

+
+

Why can't we have the title of the current page positioned in the centre and show the siblings of the current page recursively? It would look something of this sorts for nodes with multiple parents:
+Screenshot-2023-12-07-at-12.47.00-AM.png

+

In this manner the children of 'Gotchas' and 'macOS' will be visible on the left side-bar when they visit the respective page. This will sure hide certain details, but is it a compromise worth making?

+ + + + +

view this post on Zulip Srid (Dec 06 2023 at 19:22):

+

Can you draw up (maybe on paper) what the https://nixos.asia/en/gotchas/macos-upgrade page would look like?

+ + + + +

view this post on Zulip Srid (Dec 06 2023 at 19:22):

+

Don't think I fully understand the visualization being proposed here.

+ + + + +

view this post on Zulip Shivaraj B H (Dec 06 2023 at 19:25):

+

If my understanding of siblings is right, https://nixos.asia/en/gotchas/macos-upgrade doesn't have any siblings, does it?

+ + + + +

view this post on Zulip Srid (Dec 06 2023 at 19:27):

+

It does have siblings.

+

In context of gotchas, it has two siblings:

+ +

And in the context of macOS it has none, but could have in the future.

+ + + + +

view this post on Zulip Srid (Dec 06 2023 at 19:28):

+

(siblings by definition share the same parent)

+ + + + +

view this post on Zulip Srid (Dec 06 2023 at 19:29):

+

This is how normally sidebars are rendered. For eg, when you look at the sidebar of https://emanote.srid.ca/tips/adding-images you see its two siblings: "JavaScript behaviours" and "Synchronizing notes using Syncthing".

+

Now this sidebar can only represent one parent, unlike our heterarchy which can have multiple parents (and thus multiple sets of siblings).

+ + + + +

view this post on Zulip Srid (Dec 06 2023 at 19:29):

+

Related discussion: https://github.com/srid/emanote/discussions/64

+ + + + +

view this post on Zulip Srid (Dec 06 2023 at 19:32):

+

Possibly related as well: https://github.com/srid/emanote/discussions/50

+ + + + +

view this post on Zulip Shivaraj B H (Dec 06 2023 at 19:36):

+

Ahh, my bad! I don't know why I kept thinking of children instead of siblings. I will get some sleep and think about this with a fresh mind

+ + + + +

view this post on Zulip Notification Bot (Dec 12 2023 at 13:12):

+

This topic was moved here from #general > obsidian graph in emanote by Srid.

+ + + + +

view this post on Zulip Srid (Dec 18 2023 at 19:09):

+

Tangentially related: https://github.com/srid/emanote/discussions/358

+ + + + +

view this post on Zulip Srid (Dec 18 2023 at 19:12):

+

^ Seems relevant to generate a 'learning map'

+ + + + +

view this post on Zulip Srid (Dec 21 2023 at 01:18):

+

Implementation exploration here, https://github.com/srid/emanote/pull/483

+

Will try to make nixos.asia use this branch once it is stable.

+ + + + +

view this post on Zulip Srid (Dec 25 2023 at 22:16):

+

Uptree can now be optionally enabled on the same book layout (I'll remove the note layout as it will no longer be necessary):

+

https://nixos.asia/en/tutorial/nixos-install

+

image.png

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/416826-website/topic/stream.20events.html b/stream/416826-website/topic/stream.20events.html new file mode 100644 index 00000000000..9b1794ce168 --- /dev/null +++ b/stream/416826-website/topic/stream.20events.html @@ -0,0 +1,22 @@ + +stream events · website · Zulip Chat Archive +

Stream: website

+

Topic: stream events

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Dec 12 2023 at 13:12):

+

Web-public stream created by Srid. Description:

+
+

Discussion about https://nixos.asia/en and the software used in it.

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/419910-flake-parts/index.html b/stream/419910-flake-parts/index.html new file mode 100644 index 00000000000..c6b5bf6c41b --- /dev/null +++ b/stream/419910-flake-parts/index.html @@ -0,0 +1,17 @@ + +Zulip Chat Archive +

Stream: flake-parts

+
+ +

Topics:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/419910-flake-parts/topic/Community.20docs.20site.20in.20Emanote.html b/stream/419910-flake-parts/topic/Community.20docs.20site.20in.20Emanote.html new file mode 100644 index 00000000000..fe0ba2a5a99 --- /dev/null +++ b/stream/419910-flake-parts/topic/Community.20docs.20site.20in.20Emanote.html @@ -0,0 +1,34 @@ + +Community docs site in Emanote · flake-parts · Zulip Chat Archive +

Stream: flake-parts

+

Topic: Community docs site in Emanote

+ +
+ + + + + + +

view this post on Zulip Srid (Jan 13 2024 at 15:56):

+

@Robert Hensing

+

I managed to get Emanote working quite well for multi-repo documentation rendering!

+

https://github.com/flake-parts/community.flake.parts/pull/5

+

Try it out (it just has two modules for now):

+
nix run github:flake-parts/community.flake.parts/emanote#preview
+
+

What do you think? I'm thrilled to go with this.

+

Multi-repo support means the docs are totally independent, with no intertwining (unlike with Docusaurus and mdBook). Later down the line, I would be able to implement proper cross-linking support as well (for now, we don't have strong need for it though).

+ + + + +

view this post on Zulip Srid (Jan 23 2024 at 04:46):

+

Deployed!

+

:tada:

+

https://community.flake.parts/

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/419910-flake-parts/topic/Having.20multiple.20.60pkgs.60.html b/stream/419910-flake-parts/topic/Having.20multiple.20.60pkgs.60.html new file mode 100644 index 00000000000..b1f4e7fe724 --- /dev/null +++ b/stream/419910-flake-parts/topic/Having.20multiple.20.60pkgs.60.html @@ -0,0 +1,26 @@ + +Having multiple `pkgs` · flake-parts · Zulip Chat Archive +

Stream: flake-parts

+

Topic: Having multiple `pkgs`

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 18 2024 at 13:27):

+

https://github.com/hercules-ci/flake-parts/discussions/217

+

cc @Shivaraj B H (cf. our pkgs-latest)

+ + + + +

view this post on Zulip Srid (Mar 18 2024 at 13:28):

+

@Robert Hensing We do this in several repos at Juspay, FWIW.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/419910-flake-parts/topic/Make.20me.20a.20beliver.html b/stream/419910-flake-parts/topic/Make.20me.20a.20beliver.html new file mode 100644 index 00000000000..b660c4e474d --- /dev/null +++ b/stream/419910-flake-parts/topic/Make.20me.20a.20beliver.html @@ -0,0 +1,125 @@ + +Make me a beliver · flake-parts · Zulip Chat Archive +

Stream: flake-parts

+

Topic: Make me a beliver

+ +
+ + + + + + +

view this post on Zulip John Bargman (Jul 06 2024 at 05:38):

+

I've used flake parts twice - by requirement of other things using it.
+I've seen people describe it as a "flake-cancer that's spreading faster than flake-utils"

+

and... I just don't get it.

+

Why would I want flake parts; what's it going to do for me besides add dependencies to evaluation?

+

SELL ME YOUR TOOLZ

+ + + + +

view this post on Zulip Andreas (Jul 06 2024 at 09:35):

+
+

and... I just don't get it.

+
+

Frankly, I have the same problem. Maybe we can have this thread and go for an explanation?

+ + + + +

view this post on Zulip Andreas (Jul 06 2024 at 09:36):

+

Because @Srid and been working with it for a while now, and is working fairly closely with @Robert Hensing, the author of it. (But he hasn't been logged in here for a while I think)

+ + + + +

view this post on Zulip Srid (Jul 06 2024 at 09:37):

+

Module system

+ + + + +

view this post on Zulip RGBCube (Jul 06 2024 at 12:03):

+

I don't get it either - you can do it as easily without the library

+ + + + +

view this post on Zulip RGBCube (Jul 06 2024 at 12:03):

+

The module system already handles stuff for system abstractions, so :man_shrugging:

+ + + + +

view this post on Zulip Robert Hensing (Jul 06 2024 at 12:54):

+

Hi :wave:

+

To quote https://flake.parts

+
+

Flakes are configuration. The module system lets you refactor configuration into modules that can be shared.

+

It reduces the proliferation of custom Nix glue code, similar to what the module system has done for NixOS configurations.

+
+

It makes it easier to add Nix logic that other people have already written to a flake that uses it.

+

Flake parts by itself doesn't do much, because it's only an interface. Nobody needs it. Everyone could write their flakes by hand, and that's fine, especially when the flakes are simple.

+

Now suppose you're adding pre-commit hooks to five flakes. If those are all framework-less flakes that only depend on Nixpkgs or whatever, you'll have to figure out for each of them how their Nix code is structured, to find where to put the checks.<system>.pre-commit-run derivation and where to put the shellHook, which variables are in scope in those places, etc.
+With flake parts, that's reduced to simpler steps: add its module to inputs and imports, then find the shell, add [config.pre-commit.installationScript](https://flake.parts/options/pre-commit-hooks-nix#opt-perSystem.pre-commit.installationScript) to shellHook and you're done. Always the same.

+

It doesn't standardize a nix shell interface yet, but that could totally be done, and the "gluing" part of the job is just inputs and imports.

+

@Srid is working on a CLI so that it's just a single command to add a module with some defaults (forget about inputs/imports).
+It will also find the right modules based on the files you already have, and have templates for things you want to create in your flake, like a new custom python package for example.

+ + + + +

view this post on Zulip Robert Hensing (Jul 06 2024 at 13:01):

+

Andreas said:

+
+

Because Srid and been working with it for a while now, and is working fairly closely with Robert Hensing, the author of it. (But he hasn't been logged in here for a while I think)

+
+

I'm always available for flake-parts related questions. Srid asks good questions, but I don't have much time to contribute to his projects.
+I've only really contributed a bit of code to haskell-flake, which I use in hercules-ci-agent.

+ + + + +

view this post on Zulip Andreas (Jul 06 2024 at 13:33):

+

Thanks for coming by @Robert Hensing ! It's always good to have the author of a project to talk to :smile:

+ + + + +

view this post on Zulip Srid (Jul 06 2024 at 14:00):

+

That's a good explanation :+1:

+

Essentially flake-parts moves us a substantial way towards better DX, especially in non-trivial flakes. In the long run, a total solution may emerge. Upstream could get a flake module system and/or something better than Nix can emerge (the idea David was talking about).

+

Robert Hensing said:

+
+

It doesn't standardize a nix shell interface yet,

+
+

inputsFrom can be used to somehow mitigate that.

+ + + + +

view this post on Zulip RGBCube (Jul 07 2024 at 12:05):

+

Ah, I get it now. I do have a lot of glue code in my repositories, and I suppose I could swap that with flake-parts

+ + + + +

view this post on Zulip Andreas (Jul 07 2024 at 12:16):

+

yeah the glue code problem is a real issue, I get that. But I might have to look a bit harder at flake-parts to see if I can envision it being the go-to solution for me.

+ + + + +

view this post on Zulip Andreas (Jul 07 2024 at 12:18):

+

Because just from my subjective impression on this one here from @Srid

+
+

Essentially flake-parts moves us a substantial way towards better DX, especially in non-trivial flakes.

+
+

To me looking at the non-trivial flake repos using flake-parts, it still looks like a lot of glue code tbh.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/419910-flake-parts/topic/Overriding.20.60lib.60.20in.20flake-parts.html b/stream/419910-flake-parts/topic/Overriding.20.60lib.60.20in.20flake-parts.html new file mode 100644 index 00000000000..bcafc164b9c --- /dev/null +++ b/stream/419910-flake-parts/topic/Overriding.20.60lib.60.20in.20flake-parts.html @@ -0,0 +1,111 @@ + +Overriding `lib` in flake-parts · flake-parts · Zulip Chat Archive +

Stream: flake-parts

+

Topic: Overriding `lib` in flake-parts

+ +
+ + + + + + +

view this post on Zulip Srid (May 16 2024 at 23:22):

+

I got this working so far:

+
  outputs = inputs:
+    let
+      lib = inputs.nixpkgs.lib.extend (self: super: {
+        # Polyfill https://github.com/NixOS/nixpkgs/blob/ea77cefecb0ab07e61d6bde3e24c7ae6820b96d5/lib/attrsets.nix#L360
+        concatMapAttrs = with self; f: v:
+          foldl' mergeAttrs { }
+            (attrValues
+              (mapAttrs f v)
+            );
+      });
+      specialArgs = { inherit lib; };
+    in
+    inputs.flake-parts.lib.mkFlake { inherit inputs specialArgs; } {
+
+

However, this leads to error: attribute 'fileset' missing.

+

For some reason, fileset attribute gets lost.

+ + + + +

view this post on Zulip Srid (May 16 2024 at 23:31):

+

After the addition of the following to the lib overlay (with a 2nd nixpkgs, nixpkgs-latest, added),

+
fileset = inputs.nixpkgs-latest.lib.fileset;
+
+

it works.

+ + + + +

view this post on Zulip Srid (May 16 2024 at 23:33):

+

More concisely,

+
  inputs = {
+    nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
+    nixpkgs-latest.url = "github:nixos/nixpkgs/nixpkgs-unstable";
+    ...
+  };
+  outputs = inputs:
+    let
+      specialArgs.lib = inputs.nixpkgs.lib.extend (self: _: {
+        # Polyfill what's missing in our `inputs.nixpkgs`.
+        inherit (inputs.nixpkgs-latest.lib)
+          concatMapAttrs
+          fileset;
+      });
+    in
+    inputs.flake-parts.lib.mkFlake { inherit inputs specialArgs; } {
+      ...
+
+ + + + +

view this post on Zulip Srid (May 16 2024 at 23:37):

+

Wait, that didn't quite work for treefmt-nix, when using its devShell.

+ + + + +

view this post on Zulip Srid (May 16 2024 at 23:39):

+

We also need,

+
        _module.args.pkgs = import inputs.nixpkgs {
+          inherit system;
+          overlays = [
+            (self: super: {
+              lib = lib;
+            })
+          ];
+        };
+
+ + + + +

view this post on Zulip Srid (May 16 2024 at 23:42):

+

Alright, here's the final thing:

+
        _module.args.pkgs = import inputs.nixpkgs {
+          inherit system;
+          overlays = [
+            (self: super: {
+              lib = super.lib.extend (self: super: {
+                inherit (inputs.nixpkgs-latest.lib) concatMapAttrs;
+              });
+            })
+          ];
+        };
+
+ + + + +

view this post on Zulip Srid (Jul 03 2024 at 15:25):

+

https://github.com/hercules-ci/flake-parts/discussions/234

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/419910-flake-parts/topic/stream.20events.html b/stream/419910-flake-parts/topic/stream.20events.html new file mode 100644 index 00000000000..8ceb6927095 --- /dev/null +++ b/stream/419910-flake-parts/topic/stream.20events.html @@ -0,0 +1,22 @@ + +stream events · flake-parts · Zulip Chat Archive +

Stream: flake-parts

+

Topic: stream events

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Jan 13 2024 at 15:55):

+

Web-public stream created by Srid. Description:

+
+

Discussion about https://flake.parts/

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/420166-offtopic/index.html b/stream/420166-offtopic/index.html new file mode 100644 index 00000000000..91abaa107ef --- /dev/null +++ b/stream/420166-offtopic/index.html @@ -0,0 +1,21 @@ + +Zulip Chat Archive +

Stream: offtopic

+
+ +

Topics:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/420166-offtopic/topic/Collaborative.20web.20editing.20of.20Markdown.20files.html b/stream/420166-offtopic/topic/Collaborative.20web.20editing.20of.20Markdown.20files.html new file mode 100644 index 00000000000..c413241869d --- /dev/null +++ b/stream/420166-offtopic/topic/Collaborative.20web.20editing.20of.20Markdown.20files.html @@ -0,0 +1,45 @@ + +Collaborative web editing of Markdown files · offtopic · Zulip Chat Archive +

Stream: offtopic

+

Topic: Collaborative web editing of Markdown files

+ +
+ + + + + + +

view this post on Zulip Srid (May 18 2024 at 00:22):

+

Is there a real-time collaborative editing tool for writing a collection of Markdown files? Ideally towards publishing a mdBook-like site. Multiple people should be able to edit at the same time, like Google docs.

+

(Storage on Github repo preferred, but not necessary)

+

cc @Tim DeHerrera

+ + + + +

view this post on Zulip Srid (May 18 2024 at 01:07):

+

HedgeDoc seems good enough. No multi file support, but ticks other boxes.

+ + + + +

view this post on Zulip Andreas (May 18 2024 at 09:25):

+

I'd say HedgeDoc, yeah. That has been used by others in and around Nix.

+ + + + +

view this post on Zulip Srid (May 19 2024 at 13:04):

+

HedgeDoc is close to perfect. Will be perfect once 2.0 is released, because then I can whitelist notes access by GitHub accounts.

+ + + + +

view this post on Zulip Andreas (May 21 2024 at 08:14):

+

yeah that last thing would be a boon to have already. Do they have a schedule for the 2.0 release? They are at 1.9.9 right now, seems pretty close :big_smile:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/420166-offtopic/topic/Github.20Pages.html b/stream/420166-offtopic/topic/Github.20Pages.html new file mode 100644 index 00000000000..4cf604011df --- /dev/null +++ b/stream/420166-offtopic/topic/Github.20Pages.html @@ -0,0 +1,20 @@ + +Github Pages · offtopic · Zulip Chat Archive +

Stream: offtopic

+

Topic: Github Pages

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 10 2024 at 12:48):

+

Small tip. You don't need the gh-pages branch anymore. CI automates the deployment directly.

+

Demo: https://github.com/srid/emanote-template/pull/81/files

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/420166-offtopic/topic/Interesting.20take.20on.20memory.20safety.html b/stream/420166-offtopic/topic/Interesting.20take.20on.20memory.20safety.html new file mode 100644 index 00000000000..807c5787f57 --- /dev/null +++ b/stream/420166-offtopic/topic/Interesting.20take.20on.20memory.20safety.html @@ -0,0 +1,19 @@ + +Interesting take on memory safety · offtopic · Zulip Chat Archive +

Stream: offtopic

+

Topic: Interesting take on memory safety

+ +
+ + + + + + +

view this post on Zulip Tim DeHerrera (Apr 04 2024 at 23:06):

+

https://xr0.dev/safer

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/420166-offtopic/topic/Publishing.20videos.html b/stream/420166-offtopic/topic/Publishing.20videos.html new file mode 100644 index 00000000000..d5d561df011 --- /dev/null +++ b/stream/420166-offtopic/topic/Publishing.20videos.html @@ -0,0 +1,25 @@ + +Publishing videos · offtopic · Zulip Chat Archive +

Stream: offtopic

+

Topic: Publishing videos

+ +
+ + + + + + +

view this post on Zulip Srid (Mar 06 2024 at 13:35):

+

Just tried out dyte.io for yesterday's event, and learned that I just can't upload that video to Twitter. What are some best practices for recording videos during online events?

+ + + + +

view this post on Zulip Andreas (Mar 06 2024 at 14:19):

+

idk, I'd try my luck with running your video setup through OBS maybe? I don't have much experience with it (yet) though

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/420166-offtopic/topic/channel.20events.html b/stream/420166-offtopic/topic/channel.20events.html new file mode 100644 index 00000000000..dc262c8f102 --- /dev/null +++ b/stream/420166-offtopic/topic/channel.20events.html @@ -0,0 +1,31 @@ + +channel events · offtopic · Zulip Chat Archive +

Stream: offtopic

+

Topic: channel events

+ +
+ + + + + + +

view this post on Zulip Notification Bot (May 23 2024 at 03:02):

+

Srid changed the description for this channel.

+
    +
  • Old description:
  • +
+
+

Offtopic discussions

+
+
    +
  • New description:
  • +
+
+

Tech-related discussions that are "offtopic" to Nix/NixOS itself.

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/420166-offtopic/topic/just.20recipe.20grouping.html b/stream/420166-offtopic/topic/just.20recipe.20grouping.html new file mode 100644 index 00000000000..69e8b2b475b --- /dev/null +++ b/stream/420166-offtopic/topic/just.20recipe.20grouping.html @@ -0,0 +1,68 @@ + +just recipe grouping · offtopic · Zulip Chat Archive +

Stream: offtopic

+

Topic: just recipe grouping

+ +
+ + + + + + +

view this post on Zulip Srid (May 26 2024 at 18:47):

+

just recipes can now be grouped.

+ +

Requires 1.27.0 which was released yesterday.

+ + + + +

view this post on Zulip Srid (May 26 2024 at 19:32):

+

https://nixos.asia/en/buildRustPackage#override

+ + + + +

view this post on Zulip Srid (May 26 2024 at 19:33):

+

image.png

+
+ + + + +

view this post on Zulip RGBCube (Jul 12 2024 at 12:28):

+

Just is pretty nice, it's like make but better

+ + + + +

view this post on Zulip RGBCube (Jul 12 2024 at 13:22):

+

Are there any big projects using it for nontrivial scripts?

+ + + + +

view this post on Zulip Srid (Jul 12 2024 at 15:01):

+

https://github.com/juspay/nix-browser/blob/main/justfile

+

Generally I try to keep justfile trivial, and move any complex scripts into being writeShellApplication package under a devShell's nativeBuildInputs

+ + + + +

view this post on Zulip Srid (Jul 12 2024 at 15:01):

+

There's also just-flake - an attempt to abstract out common stuff in justfile

+ + + + +

view this post on Zulip Tim DeHerrera (Jul 12 2024 at 15:23):

+

Some of the other SRE at work use just as a sort of high-level cli to unify their workflows. Seemed pretty cool to me

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/420166-offtopic/topic/llama3.20release.html b/stream/420166-offtopic/topic/llama3.20release.html new file mode 100644 index 00000000000..6e9dd2720f9 --- /dev/null +++ b/stream/420166-offtopic/topic/llama3.20release.html @@ -0,0 +1,40 @@ + +llama3 release · offtopic · Zulip Chat Archive +

Stream: offtopic

+

Topic: llama3 release

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Apr 19 2024 at 04:46):

+

Yann LeCun says Llama3-8B beats Llama2-70B in some cases.

+

Source: https://x.com/ylecun/status/1780999054719127840?s=46

+

Release:
+https://llama.meta.com/llama3/

+ + + + +

view this post on Zulip Notification Bot (Apr 19 2024 at 04:47):

+

This topic was moved here from #nixify-llm > llama3 release by Shivaraj B H.

+ + + + +

view this post on Zulip Andreas (Apr 19 2024 at 17:45):

+

yes, that is nice. More models coming out.

+ + + + +

view this post on Zulip Andreas (Apr 19 2024 at 17:45):

+

Microsoft also released (and then unreleased) wizardlm2, which is supposed to be quite powerful

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/420166-offtopic/topic/memes.html b/stream/420166-offtopic/topic/memes.html new file mode 100644 index 00000000000..09305db009f --- /dev/null +++ b/stream/420166-offtopic/topic/memes.html @@ -0,0 +1,26 @@ + +memes · offtopic · Zulip Chat Archive +

Stream: offtopic

+

Topic: memes

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Jan 16 2024 at 07:47):

+

C50E21BC-18CD-46D8-8634-BDDB51D1F878.jpg

+

Source: https://old.reddit.com/r/NixOS/comments/197uhjz/the_entirety_of_my_time_on_youtube_last_week/

+ + + + +

view this post on Zulip Notification Bot (Jan 16 2024 at 09:31):

+

This topic was moved here from #general > memes by Srid.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/420166-offtopic/topic/stream.20events.html b/stream/420166-offtopic/topic/stream.20events.html new file mode 100644 index 00000000000..a9844c19450 --- /dev/null +++ b/stream/420166-offtopic/topic/stream.20events.html @@ -0,0 +1,22 @@ + +stream events · offtopic · Zulip Chat Archive +

Stream: offtopic

+

Topic: stream events

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Jan 16 2024 at 09:31):

+

Web-public stream created by Srid. Description:

+
+

Offtopic discussions

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/424491-horizon-haskell/index.html b/stream/424491-horizon-haskell/index.html new file mode 100644 index 00000000000..d120ebc4771 --- /dev/null +++ b/stream/424491-horizon-haskell/index.html @@ -0,0 +1,14 @@ + +Zulip Chat Archive +

Stream: horizon-haskell

+
+ +

Topics:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/424491-horizon-haskell/topic/Introduction.20To.20Horizon.20Haskell.html b/stream/424491-horizon-haskell/topic/Introduction.20To.20Horizon.20Haskell.html new file mode 100644 index 00000000000..5c47efea92f --- /dev/null +++ b/stream/424491-horizon-haskell/topic/Introduction.20To.20Horizon.20Haskell.html @@ -0,0 +1,40 @@ + +Introduction To Horizon Haskell · horizon-haskell · Zulip Chat Archive +

Stream: horizon-haskell

+

Topic: Introduction To Horizon Haskell

+ +
+ + + + + + +

view this post on Zulip locallycompact (Feb 09 2024 at 10:00):

+

Hi everyone.

+

Horizon Haskell (https://horizon-haskell.net/) is a publishing system for Haskell on Nix package sets targeting new GHC versions.

+

We currently support over 1100 packages in horizon-platform at GHC 9.8. (https://gitlab.horizon-haskell.net/package-sets/horizon-platform )

+

Nothing is ever marked as broken in a horizon package set. If it is listed, it should build.

+

Horizon package sets are API compatible with nixpkgs' haskellPackages. You can swap out pkgs,haskellPackages for horizon-platform.legacyPackages.${system}

+

we aim to target new GHC releases on the day of launch. So we do forward compatibility work far in advance against GHC mainline.

+

If you'd like to try it out, use the templates at https://gitlab.horizon-haskell.net/templates/horizon-templates

+

If there's a package you'd like us to support, just drop us a link. We keep open source packages up to date for you.

+

Thanks, Dan

+ + + + +

view this post on Zulip locallycompact (Feb 09 2024 at 11:40):

+

Follow on twitter at https://twitter.com/horizonhaskell

+ + + + +

view this post on Zulip Srid (Mar 01 2024 at 12:47):

+

Congrats on now supporting haskell-flake fully, along with macOS support!

+

https://nixos.zulipchat.com/#narrow/stream/413949-haskell-flake/topic/Non-standard.20package.20set

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/424491-horizon-haskell/topic/stream.20events.html b/stream/424491-horizon-haskell/topic/stream.20events.html new file mode 100644 index 00000000000..7ffcbb673a7 --- /dev/null +++ b/stream/424491-horizon-haskell/topic/stream.20events.html @@ -0,0 +1,22 @@ + +stream events · horizon-haskell · Zulip Chat Archive +

Stream: horizon-haskell

+

Topic: stream events

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Feb 08 2024 at 06:33):

+

Web-public stream created by Srid. Description:

+
+

Stable Package Sets for Haskell on Nix https://horizon-haskell.net/

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/426237-nixify-llm/index.html b/stream/426237-nixify-llm/index.html new file mode 100644 index 00000000000..3bec711bde8 --- /dev/null +++ b/stream/426237-nixify-llm/index.html @@ -0,0 +1,29 @@ + +Zulip Chat Archive +

Stream: nixify-llm

+
+ +

Topics:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/426237-nixify-llm/topic/.E2.9C.94.20Issues.20with.20ollama.20flake.html b/stream/426237-nixify-llm/topic/.E2.9C.94.20Issues.20with.20ollama.20flake.html new file mode 100644 index 00000000000..c0c5994f7b5 --- /dev/null +++ b/stream/426237-nixify-llm/topic/.E2.9C.94.20Issues.20with.20ollama.20flake.html @@ -0,0 +1,19 @@ + +✔ Issues with ollama flake · nixify-llm · Zulip Chat Archive +

Stream: nixify-llm

+

Topic: ✔ Issues with ollama flake

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Jun 22 2024 at 15:47):

+

Shivaraj B H has marked this topic as resolved.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/426237-nixify-llm/topic/Aider.20vs.html b/stream/426237-nixify-llm/topic/Aider.20vs.html new file mode 100644 index 00000000000..fd0fbc5f3c1 --- /dev/null +++ b/stream/426237-nixify-llm/topic/Aider.20vs.html @@ -0,0 +1,44 @@ + +Aider vs · nixify-llm · Zulip Chat Archive +

Stream: nixify-llm

+

Topic: Aider vs

+ +
+ + + + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 12:25):

+

Where Khoj (for search) and llmvm (for AI-LSP) is not, there's a bootstrapper with an optimized workflow to have a conversation on the entire code base:

+

https://github.com/paul-gauthier/aider

+

It seems good for early prototyping, schaffolding before you enter the details in the idea with LSP-like support.

+

@Andreas this seems to be our missing bit, after all. Should work with any model runtime, such as nitro / llmvm et al.

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 12:41):

+

Code base context ...

+
+

A simple solution is to send the entire codebase to GPT along with each change request. Now GPT has all the context! But this won’t work for even moderately sized repos, because they won’t fit into the context window.

+
+
+

To address these issues, aider sends GPT a concise map of your whole git repository that includes the most important classes and functions along with their types and call signatures.

+
+
+

This repository map is now built automatically using tree-sitter to extract symbol definitions from source files.

+
+ + + + +

view this post on Zulip Tim DeHerrera (Feb 24 2024 at 18:56):

+

Indeed I was working on packaging aider just last night :sweat_smile:

+

Seems like a good idea to send a "repo context map" using tree-sitter

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/426237-nixify-llm/topic/Anyone.20aware.20of.20Pinokio.3F.html b/stream/426237-nixify-llm/topic/Anyone.20aware.20of.20Pinokio.3F.html new file mode 100644 index 00000000000..e4e83f3ad50 --- /dev/null +++ b/stream/426237-nixify-llm/topic/Anyone.20aware.20of.20Pinokio.3F.html @@ -0,0 +1,56 @@ + +Anyone aware of Pinokio? · nixify-llm · Zulip Chat Archive +

Stream: nixify-llm

+

Topic: Anyone aware of Pinokio?

+ +
+ + + + + + +

view this post on Zulip Ayrton Mercado (Jun 25 2024 at 19:45):

+

Doing some research I came across this product:

+

https://pinokio.computer/
+https://github.com/pinokiocomputer/pinokio/releases/tag/1.3.4

+

Architecture

+

Pinokio takes inspiration from how traditional computers work.

+

Just like how a computer can do all kinds of things thanks to its comprehensive architecture, Pinokio as a virtual computer is a comprehensive platform for running and automating anything you can imagine with AI.

+
    +
  1. File System: Where and how Pinokio stores files.
  2. +
  3. Processor: How pinokio runs tasks.
  4. +
  5. Memory: How pinokio implements a state machine using its built-in native memory.
  6. +
  7. Script: The programming language that operates pinokio.
  8. +
  9. UI: The UI (user interface) through which users access apps.
  10. +
+

How would I go about packaging this for Nix?

+ + + + +

view this post on Zulip Andreas (Jun 25 2024 at 20:06):

+

yeah I think I found this before. I don't know why I wasn't super interested in it actually. It actually quite interesting :smile:

+ + + + +

view this post on Zulip Andreas (Jun 25 2024 at 20:13):

+

from what I can see, it comes in the form of an electron app, right?

+ + + + +

view this post on Zulip Ayrton Mercado (Jun 25 2024 at 22:46):

+

I think so, but haven't tried installing it, wanted to get your collective opinion

+ + + + +

view this post on Zulip Ayrton Mercado (Jun 25 2024 at 22:47):

+

It has that nix feeling to it

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/426237-nixify-llm/topic/Editor.20integration.20.28LSP.3F.29.html b/stream/426237-nixify-llm/topic/Editor.20integration.20.28LSP.3F.29.html new file mode 100644 index 00000000000..3d3272ecdf2 --- /dev/null +++ b/stream/426237-nixify-llm/topic/Editor.20integration.20.28LSP.3F.29.html @@ -0,0 +1,356 @@ + +Editor integration (LSP?) · nixify-llm · Zulip Chat Archive +

Stream: nixify-llm

+

Topic: Editor integration (LSP?)

+ +
+ + + + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 09:11):

+

https://github.com/djandries/llmvm/blob/master/frontends%2Fcodeassist%2FREADME.md

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 09:11):

+

What will be the way to go?

+

(Under the umbrella premis of defying proprietary standards and ecosystems)

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 09:12):

+

@Shivaraj B H ^^ helix-bound, as well.

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 09:37):

+

https://github.com/DJAndries/llmvm/issues/7

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 10:03):

+

https://github.com/DJAndries/llmvm/issues/8

+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 10:04):

+

For the true elite who have long left CLI-based tools behind and embraced the virtues of the GUI, there is (at least for VSCode) for interacting with locally hosted A.I. models:

+

https://github.com/continuedev/continue
+https://github.com/ex3ndr/llama-coder

+

I have been playing with these a bit. Not sure what is out there for Neovim, yet. Probably some things will be found.

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 10:05):

+

llmvm is a good approach, indeed for text based editors, the way how it injects itself into the LSP protocol.

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 10:06):

+

(or even for VSCode)

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 10:08):

+

It can run models against:

+
    +
  • local backend (run by llvm.cpp via lvm rust bindings)
  • +
  • simply a remote api
  • +
+

It's actually nice that every layer of the stack can be provided remotely, even the core component to the frontend.

+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 10:09):

+

I mean there is stuff out there like

+

https://github.com/nomnivore/ollama.nvim
+https://github.com/jpmcb/nvim-llama

+

So people are playing with this obviously, I am just not sure what will stick yet.

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 10:09):

+

Llmvm Core

+
+

manages state related to text generation, such as:
+Model presets
+Prompt templates
+Message threads
+Projects/workspaces

+
+

That's pretty neat and a sound design.

+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 10:11):

+

I guess running against locally hosted remote API is what I would go for, most likely either ollama API or OpenAI compatible, which more and more are implementing.

+

Yes, LLVM core is looking promising.

+

If you might then integrate something like khoj which can use entire GitHub repos as context apparently, it might get even more interesting

+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 10:12):

+

I wonder what would happen if we self-hosted khoj and fed it nixpkgs as a repo.

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 10:12):

+

I'm always a bit wary of the foundations of auch productized "solutions", tbh.

+

"Solutions to what?"

+

In LLMVM i was able to exactly identify what I'd be missing in about an hour of research:

+

I think, this is what we want:

+ + + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 10:14):

+

Issue 8 requests project scope context.

+

But for the LSP-based codeassist feature, too much context might actually be harmful for the result quality.

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 10:14):

+

Of course, if your language is non typed, you're really a bit out of luck. But that's true anyways.

+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 10:16):

+

Let's see if you get a discussion on your issues.

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 10:22):

+

Locally hosted remote api:

+

It appears that from the web of context around specifically this resource https://github.com/rustformers/llm

+

That llvm.cpp is the current state of the art model runtime (over ONNX, which is a bit more slow moving and has more industry support). Nitro is built on it.

+

Specifically the GGUF model format appears to be regarded as promising by the domain experts in the same web of context.

+

The llm create used by llmvm is lagging a bit on support for the latest llvm.cpp developments, which is why separately hosting with nitro and using the offloading backend (e.g. via a OpenAI compatible API) sounds like a good escape hatch.

+

But it's nice that llmvm could also manage your model runtime seemlessly.

+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 10:40):

+
+

But for the LSP-based codeassist feature, too much context might actually be harmful for the result quality.

+
+

So khoj has it's own client. And they have a GitHub integration. I am not entirely firm yet on the theoretical basis for the technique behind it, which is Retrieval Augmented Generation for LLMs. But basically it runs a Postgres-turned-VectorDB instance to store context if I see this correctly.

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 10:42):

+

Seems like it, yes. And thanks! I just wondered why the heck postgres?

+

Is that more performant? Or probably it does a transformation ahead of time?

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 10:45):

+
+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 10:47):

+

Yeah that illustration is nice. If need to guesstimate this, but I'd say the corpus embeddings need to be stored somewhere.

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 10:47):

+

What is corpus embedding?

+
+

The corpus can also be a custom embedding layer, which is specifically designed for the use case when other pre-trained corpora cannot supply sufficient data.

+
+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 10:49):

+

yes, in order to explain exactly what that is, I'd have to read the papers detailing the technique. Again, guesstimating this, it is some linear-algebra based compression of the information in your text corpus (notes, GitHub repo) , which then can be use to enhance the LLM output to refer to information peculiar to your corpus of text.

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 10:50):

+

Since we're not dealing with images and ledgers in a Code Editor scenario, this type of transformation and corpus embedding is probably less relevant.

+

But for retreival/search it seems key.

+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 10:51):

+

I mean Code is text. Text is run through a tokenizer, and embeddings are vector-space-based linear algebra reprsentations of the tokenization of your text (more or less). But that is true for LLMs in general.

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 10:51):

+

Preliminary Conclusion:

+
    +
  • For search: Khoj
  • +
  • For LSP: llmvm
  • +
+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 10:52):

+

well I am not so sure you couldn't somehow fuse these

+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 10:53):

+

but as it stand right now, you are right

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 10:53):

+

It doesn't make really sense in a near scope: for retreival you already have LSPs and rich semantic code identifiers, such as types, etc.

+

Of course that disregards some unknown potential that might just reveal itself after it is there.

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 10:54):

+

But Khoj can run with the same model backend as llmvm, for example, so at that level, they can share a stack (or a credit card). :-)

+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 10:55):

+

I mean what I have in mind here is: use these corpus embeddings of a GitHub repo or a whole set of GitHub repos (think: nixpkgs + all commuity repos of sufficient quality; or alternatively, all the repos in the cargo database with a certain number of stars for rust) with an existing code-optimized LLM. Is something you'd have to try and see what it does.

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 10:57):

+

How do you get the corpus embeddings injected into the prompt? Because maybe that's not too far off as a data source to inject from khoj for lvmvm.

+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 10:57):

+

But I have no idea if this even makes any sense. But since nixpkgs is a monorepo it might (ironically) be an easy thing to just try and feed it to khoj. And then run khoj with codellama or deepseek-coder and see what comes out.

+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 10:58):

+
+

How do you get the corpus embeddings injected into the prompt?

+
+

I mean I assume that is what khoj does when you query it?

+

And the for getting the repos into khoj they have this:

+

https://docs.khoj.dev/online-data-sources/github_integration/

+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 11:05):

+

Noe it seems like you might have to trick or configure it explicitly it to accept the file containing the actual code as the plaintext stuff you want to create context embeddings for. It seems to be somewhat against the design idea of khoj to do that. However that doesn't necessarily mean it wouldn't work. But it might take some time it seems. At least they say it does for large repos.

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 11:06):

+

Khoj just could give the preprocessimg to the toolchain, not the other way round.

+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 11:07):

+

that's all things you'd have to experimentally try out which works and which doesn't. I mean I might try and set something up at some point.

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 11:07):

+

Btw, Eka Types is what I see as our highly rated comtext embedding sources for the Eka ecosystem. Since typed and schemaed they should be of extremely high quality, already.

+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 11:20):

+

I mean the funny things about these LLMs is that they do stuff that looks intelligent, but nobody really knows what is going on in there in detail. It might just be a fancy non-linear lossy compression technique like zip files that you can query in natural language (or weird optimized totally unnatural and unexpected ways). So if types add information and you fine-tune a model of a typed variety of an otherwise untyped language it might add something. But until you do you don't know. In the end it's all just text that is being vectorized. (Or context for that matter, which works a bit differently, but don't ask me for the details yet. I will probably read some at some point :grinning_face_with_smiling_eyes: )

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 11:23):

+

https://github.com/khoj-ai/khoj/blob/master/src%2Fkhoj%2Fprocessor%2Fcontent%2Fmarkdown%2Fmarkdown_to_entries.py#L79-L96

+

This is how an entry is "compiled" from markdown. Nothing fancy, and definitly of very limited value compared to how native LSP can generate entries.

+

So in sum: khoj isn't really useful for the editor case, as far as I can see.

+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 11:38):

+
+

So in sum: khoj isn't really useful for the editor case, as far as I can see.

+
+

That is possible, yes. I will try it nonetheless and see what it does. Maybe it is also just a nice open source thing to allow users ask questions verbally about potential documentation and improve their learning experience.

+
+

definitly of very limited value compared to how native LSP can generate entries.

+
+

I am not sure this is the right standard of comparison. Because the idea is to enhance the query of some LLM.

+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 11:43):

+
+

Nothing fancy

+
+

I guess from a software development perspective LLMs are nothing fancy either. It's just a file with pre-trained weights and a program using the file, doing some input-output. This is why people doing symbolic A.I. for decades were so upset when they found that stupid deep-learning models (like transformer-based LLMs) were magnitudes better at many tasks.

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 11:55):

+

Yes, and my argument actually was that while one enhances the LLM output about types and actual code samples, throwing in an occasional markdown snippet into the context might not necessarily produce better results, because types are already as concise as it can get.

+

But not actually sure, either: maybe the LLM can benefit from accompanying prose, as well.

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 12:00):

+

In all of this: do input token length on the system prompt ("context") count costs in typical pricing models?

+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 12:35):

+

afaik that depends on the company. Here is OpenAI, they calculate both input and output prices:

+

https://openai.com/pricing

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/426237-nixify-llm/topic/Eluther.20AI.html b/stream/426237-nixify-llm/topic/Eluther.20AI.html new file mode 100644 index 00000000000..aff2e815764 --- /dev/null +++ b/stream/426237-nixify-llm/topic/Eluther.20AI.html @@ -0,0 +1,29 @@ + +Eluther AI · nixify-llm · Zulip Chat Archive +

Stream: nixify-llm

+

Topic: Eluther AI

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Feb 20 2024 at 18:21):

+

I used to follow their work 2 years ago (back when there weren’t many open-source LLM alternatives), don’t know if they are still relevant

+

https://github.com/EleutherAI

+ + + + +

view this post on Zulip Andreas (Feb 20 2024 at 18:23):

+
+

In early 2023, EleutherAI incorporated as a non-profit research institute run by Stella Biderman, Curtis Huebner, and Shivanshu Purohit. This announcement came with the statement that EleutherAI's shift of focus away from training larger language models was part of a deliberate push towards doing work in interpretability, alignment, and scientific research.

+
+

So the short answer is "no".

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/426237-nixify-llm/topic/Issues.20with.20ollama.20flake.html b/stream/426237-nixify-llm/topic/Issues.20with.20ollama.20flake.html new file mode 100644 index 00000000000..b55d7620cad --- /dev/null +++ b/stream/426237-nixify-llm/topic/Issues.20with.20ollama.20flake.html @@ -0,0 +1,153 @@ + +Issues with ollama flake · nixify-llm · Zulip Chat Archive +

Stream: nixify-llm

+

Topic: Issues with ollama flake

+ +
+ + + + + + +

view this post on Zulip Ayrton Mercado (Jun 21 2024 at 13:33):

+

@Shivaraj B H @Andreas Thanks for the work you've put into this. I am new to Nix and trying the ollama flake that uses cuda. From here

+

(I am new to both Linux and Nix, please let me know if I am running afoul of etiquette by posting the question here)

+

After following the instructions:
+nix flake init -t github:shivaraj-bh/ollama-flake

+

and

+

nix run

+

I get:

+

warning: Git tree '/home/ayrton/.config/nixos' is dirty
+trace: warning: cudaPackages.autoAddOpenGLRunpathHook is deprecated, use pkgs.autoAddDriverRunpathHook instead
+error: builder for '/nix/store/v478jqmc2cwj3jgd6iajkqf4n5apdagv-ctranslate2-4.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.drv' failed with exit code 1;
+ last 2 log lines:
+ > Reading index https://pypi.org/simple/ctranslate2/
+ > The file ctranslate2-4.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl has not be found in the index https://pypi.org/simple/ctranslate2/
+ For full logs, run 'nix log /nix/store/v478jqmc2cwj3jgd6iajkqf4n5apdagv-ctranslate2-4.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.drv'.
+error: 1 dependencies of derivation '/nix/store/9kipiyyaszpb43v83jimim0mrw4k2prk-python3.10-ctranslate2-4.3.0.drv' failed to build
+error: 1 dependencies of derivation '/nix/store/40il2v03ljm00cyqs7qzlhbjck4hd4sh-python3-3.10.14-env.drv' failed to build
+error: 1 dependencies of derivation '/nix/store/9kdigfnxwvb617z7q6am51cw4ii0gkc9-open-webui.drv' failed to build
+error: 1 dependencies of derivation '/nix/store/9aagb1idpyycxcjrmwrd1cvn89p5h2ca-open-webui-wrapper.drv' failed to build
+error: 1 dependencies of derivation '/nix/store/q84rx52x11vx6m228djw4vrjlbvczdya-process-compose-default.json.drv' failed to build
+error: 1 dependencies of derivation '/nix/store/vznn94a1j7vs8b14w8bmnhrs4wsfk0jx-default.drv' failed to build

+

the nix log further states:
+ nix log /nix/store/v478jqmc2cwj3jgd6iajkqf4n5apdagv-ctranslate2-4.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.drv
+warning: The interpretation of store paths arguments ending in .drv recently changed. If this command is now failing try again with '/nix/store/v478jqmc2cwj3jgd6iajkqf4n5apdagv-ctranslate2-4.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.drv^*'
+Reading index https://pypi.org/simple/ctranslate2/
+The file ctranslate2-4.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl has not be found in the index https://pypi.org/simple/ctranslate2/

+ + + + +

view this post on Zulip Notification Bot (Jun 21 2024 at 13:34):

+

A message was moved here from #nixify-llm > Mattermost plugin with local OpenAI compatible backend by Andreas.

+ + + + +

view this post on Zulip Andreas (Jun 21 2024 at 13:34):

+

I moved your message to a new topic @Ayrton Mercado

+ + + + +

view this post on Zulip Ayrton Mercado (Jun 21 2024 at 13:35):

+

Thanks!

+ + + + +

view this post on Zulip Andreas (Jun 21 2024 at 13:44):

+

I think I can reproduce the error on my end. I can't fix it though. But it looks like fetching something from PyPI didn't go the way it should have.

+ + + + +

view this post on Zulip Srid (Jun 21 2024 at 13:49):

+

I believe https://github.com/shivaraj-bh/ollama-flake has been upstreamed? cc @Shivaraj B H

+

@Ayrton Mercado Try

+

https://github.com/juspay/services-flake/tree/main/example/llm

+

https://x.com/nixos_asia/status/1803065244568244578

+ + + + +

view this post on Zulip Andreas (Jun 21 2024 at 13:50):

+

maybe the old one might be archived then? Plus an addition to the readme?

+ + + + +

view this post on Zulip Ayrton Mercado (Jun 21 2024 at 13:53):

+

Srid said:

+
+

I believe https://github.com/shivaraj-bh/ollama-flake has been upstreamed? cc Shivaraj B H

+

Ayrton Mercado Try

+

https://github.com/juspay/services-flake/tree/main/example/llm

+

https://x.com/nixos_asia/status/1803065244568244578

+
+

Thanks Srid, trying now

+ + + + +

view this post on Zulip Srid (Jun 21 2024 at 13:57):

+

Just made a note about the 9GB download: https://github.com/juspay/services-flake/commit/0dc5d11cf56f4377c542c56653587225796a3416

+ + + + +

view this post on Zulip Srid (Jun 21 2024 at 13:57):

+

There's #services-flake channel where you can post questions about this example as well.

+ + + + +

view this post on Zulip Ayrton Mercado (Jun 21 2024 at 14:20):

+

Worked flawlessly, thank you for your kindness. Now I need to figure out how to switch ollama to use the GPU.

+

O/t...
+Srid, do you have a suggestion as to how I can help in general? Like I said earlier I am new to nix but feel that I need to contribute.

+ + + + +

view this post on Zulip Srid (Jun 21 2024 at 14:22):

+

Ayrton Mercado said:

+
+

Now I need to figure out how to switch ollama to use the GPU.

+
+

This should help? https://community.flake.parts/services-flake/ollama#acceleration

+ + + + +

view this post on Zulip Srid (Jun 21 2024 at 14:23):

+

Ayrton Mercado said:

+
+

Srid, do you have a suggestion as to how I can help in general? Like I said earlier I am new to nix but feel that I need to contribute.

+
+

You are welcome to contribute to any of our repos. @Shivaraj B H maintains services-flake.

+

Documentation and stuff would also be useful to have -- the docs in services-flake as well as https://github.com/nixos-asia/website

+ + + + +

view this post on Zulip Ayrton Mercado (Jun 21 2024 at 14:30):

+

Will take a look. Thanks again.

+ + + + +

view this post on Zulip Shivaraj B H (Jun 22 2024 at 12:03):

+

Andreas said:

+
+

maybe the old one might be archived then? Plus an addition to the readme?

+
+

I have archived ollama-flake:

+

https://github.com/shivaraj-bh/ollama-flake

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/426237-nixify-llm/topic/LoRA.20model.20refinememt.html b/stream/426237-nixify-llm/topic/LoRA.20model.20refinememt.html new file mode 100644 index 00000000000..21a77ac5044 --- /dev/null +++ b/stream/426237-nixify-llm/topic/LoRA.20model.20refinememt.html @@ -0,0 +1,27 @@ + +LoRA model refinememt · nixify-llm · Zulip Chat Archive +

Stream: nixify-llm

+

Topic: LoRA model refinememt

+ +
+ + + + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 12:29):

+

How to?

+

With Eka Type definitions and schemata at hand, we might just do a little extra work and fine tune a model, instead of relying purely on the system prompt.

+

... if it's easy enough.

+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 12:36):

+

Yes, we might want to do something like that. I haven't yet practiced on this end.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/426237-nixify-llm/topic/Mattermost.20plugin.20with.20local.20OpenAI.20compatible.20backend.html b/stream/426237-nixify-llm/topic/Mattermost.20plugin.20with.20local.20OpenAI.20compatible.20backend.html new file mode 100644 index 00000000000..b9aa35561dc --- /dev/null +++ b/stream/426237-nixify-llm/topic/Mattermost.20plugin.20with.20local.20OpenAI.20compatible.20backend.html @@ -0,0 +1,27 @@ + +Mattermost plugin with local OpenAI compatible backend · nixify-llm · Zulip Chat Archive +

Stream: nixify-llm

+

Topic: Mattermost plugin with local OpenAI compatible backend

+ +
+ + + + + + +

view this post on Zulip Andreas (Jun 04 2024 at 18:45):

+

Mattermost has an AI Copilot plugin that can work together with ollama (I guess).

+

https://mattermost.com/marketplace/mattermost-ai-copilot/

+

Would that be interesting to you @Shivaraj B H ?

+ + + + +

view this post on Zulip Shivaraj B H (Jun 04 2024 at 18:47):

+

I will check it out! Thanks

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/426237-nixify-llm/topic/Name.20of.20tool.20who.20makes.20all.20LLMV.20OpenAPI.20compatible.html b/stream/426237-nixify-llm/topic/Name.20of.20tool.20who.20makes.20all.20LLMV.20OpenAPI.20compatible.html new file mode 100644 index 00000000000..f77f8e3d0e0 --- /dev/null +++ b/stream/426237-nixify-llm/topic/Name.20of.20tool.20who.20makes.20all.20LLMV.20OpenAPI.20compatible.html @@ -0,0 +1,167 @@ + +Name of tool who makes all LLMV OpenAPI compatible · nixify-llm · Zulip Chat Archive +

Stream: nixify-llm

+

Topic: Name of tool who makes all LLMV OpenAPI compatible

+ +
+ + + + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 17:37):

+

There was a tool, I forgot the name, which abstracts a wide variety of models behind an openAPI _API_, so that they can be used in its stead from other tooling.

+

What was that name?

+ + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 17:45):

+

It wasn't https://localai.io/, iirc, but it's one such tool.

+ + + + +

view this post on Zulip Andreas (Feb 20 2024 at 17:49):

+

ollama also has OpenAI support now

+ + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 17:51):

+

Andreas schrieb:

+
+

ollama also has OpenAI support now

+
+

Maybe it was ollama. But do I misremeber that it could potentially run _any_ model from hugginface?

+ + + + +

view this post on Zulip Andreas (Feb 20 2024 at 17:54):

+

ollama pulls in a lot of models from Huggingface. You can take a loot at their library here: https://ollama.com/library

+ + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 17:56):

+

Andreas schrieb:

+
+

ollama pulls in a lot of models from Huggingface. You can take a loot at their library here: https://ollama.com/library

+
+

Hm, interesting. Why aren't they consumed from upstream? I just wonder and feel like I miss something.

+ + + + +

view this post on Zulip Andreas (Feb 20 2024 at 18:12):

+
+

consumed from upstream?

+
+

Which would be from where?

+ + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 18:13):

+

I mean: why do they host models from hugginface on their own site, if that makes sense as a question? Or if it doesn't I'm maybe having the wrong premise.

+ + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 18:14):

+

Or is it just a matter of having a "registry" of compatible models?

+ + + + +

view this post on Zulip Andreas (Feb 20 2024 at 18:18):

+

that is a good question to which I have no exact answer right now :smiley: let me know if you find out.

+

However, there is something on the OpenAI compatible API I just found by accident: https://github.com/ollama/ollama/blob/main/docs/openai.md

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 20 2024 at 18:21):

+

I dunno, I know perplexities api is openai compatible, which is one of the reasons I decided to pull the trigger on a pro subscription

+ + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 18:24):

+

Here's a list: https://kleiber.me/blog/2024/01/07/six-ways-running-llm-locally/

+

But I cant recognize the thing I had in mind. Lost knowledge. :cry:

+ + + + +

view this post on Zulip Andreas (Feb 20 2024 at 18:26):

+

The problem is that this space moves so fast that it almost becomes irrelevant if you knew something existed three months ago

+ + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 18:31):

+

Yeah, that is true! I guess from a user perspective (in my case: editor support), it's important to look for the emerging standard api, and choose tools wisely so that they aren't a one-way door. Ideally, one's pick will be the one you can grow within that ecosystem.

+ + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 18:37):

+

Yeah! Burn them out!

+

image.png

+
+ + + + +

view this post on Zulip Andreas (Feb 20 2024 at 20:28):

+

Where is that one from?

+ + + + +

view this post on Zulip David Arnold (Feb 22 2024 at 15:34):

+

Oh, I don't remeber, but it's emblematic for misaligned expectaions in those ecosystems.

+ + + + +

view this post on Zulip Andreas (Feb 23 2024 at 09:18):

+

yes the development of the open source generative A.I. landscape is fast and chaotic right now

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 01:05):

+

https://github.com/janhq/nitro

+

Wasn't it, but seems promising. Small, based on llama.cpp

+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 09:08):

+

Even ROCm support seems to be on it's way! :confetti: https://github.com/janhq/nitro/issues/323

+

I might try it. But it looks more or less like lightweight ollama. However the problem is that in order to run it, I need the 20 GB + something docker image from AMD for ROCm. So the ollama-nitro difference pales in comparison.

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 09:09):

+

This also seems to be taken serious, from a rust perspective, even if shapeshifting quite some, atm: https://github.com/rustformers/llm

+ + + + +

view this post on Zulip David Arnold (Feb 24 2024 at 10:37):

+

Re GGUF, see also this choice of gpt4all:

+
+

GPT4All v2.5.0 and newer only supports models in GGUF format (.gguf). Models used with a previous version of GPT4All (.bin extension) will no longer work.

+
+

Hints are condensing into knowledge, it appears

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/426237-nixify-llm/topic/khoj.html b/stream/426237-nixify-llm/topic/khoj.html new file mode 100644 index 00000000000..5a9b876ae68 --- /dev/null +++ b/stream/426237-nixify-llm/topic/khoj.html @@ -0,0 +1,25 @@ + +khoj · nixify-llm · Zulip Chat Archive +

Stream: nixify-llm

+

Topic: khoj

+ +
+ + + + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 17:55):

+

https://khoj.dev/ it's packaged in nixpkgs. what good? In nixpkgs, it is described as working well with beancount.

+ + + + +

view this post on Zulip Andreas (Feb 24 2024 at 11:47):

+

As concluded in the other thread, might be better for beancount than for actual coding tasks :smile:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/426237-nixify-llm/topic/llm.20example.20.2B.20neovim.html b/stream/426237-nixify-llm/topic/llm.20example.20.2B.20neovim.html new file mode 100644 index 00000000000..66fdd2c7b4a --- /dev/null +++ b/stream/426237-nixify-llm/topic/llm.20example.20.2B.20neovim.html @@ -0,0 +1,20 @@ + +llm example + neovim · nixify-llm · Zulip Chat Archive +

Stream: nixify-llm

+

Topic: llm example + neovim

+ +
+ + + + + + +

view this post on Zulip Srid (Jul 04 2024 at 15:26):

+

Just an idea, what if we had a single nix run that spun up our llm example as well as neovim (in zellij?) configured to use it for code suggestions/completions?

+

First requires https://github.com/juspay/nix-dev-home/issues/16

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/426237-nixify-llm/topic/nixified.2Eai.html b/stream/426237-nixify-llm/topic/nixified.2Eai.html new file mode 100644 index 00000000000..8afc9fc8951 --- /dev/null +++ b/stream/426237-nixify-llm/topic/nixified.2Eai.html @@ -0,0 +1,33 @@ + +nixified.ai · nixify-llm · Zulip Chat Archive +

Stream: nixify-llm

+

Topic: nixified.ai

+ +
+ + + + + + +

view this post on Zulip Shivaraj B H (Feb 20 2024 at 17:25):

+

https://github.com/nixified-ai/flake

+

Haven’t tried it yet, but hoping to play around with it this weekend and give me thoughts

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 17:26):

+

I think @Andreas has a few thoughts on its shortcomings.

+ + + + +

view this post on Zulip Andreas (Feb 20 2024 at 17:30):

+

Well the shortcomings are obviously that you can run two things and not more it seems: InvokeAI and textgen. But what if I want to run Automatic1111 Webui or ComyUI for stable diffusion? And I want to get several LoRAs from civit.ai? Not really a straightforward path.

+

Like right now I am playing with LLMs using ollama. Which is really nice. But I use the ollama docker images for ROCm because setting up ROCm with StableDiffusionWebUI kinda taught me that the components going into ROCm and their interaction with PyTorch and all the rest of the Python ecosystem might be a bit finicky and you better take a working setup when you find one and never touch it again unless you have a day for experimenting...

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/426237-nixify-llm/topic/ollama.20image.20analysis.3F.html b/stream/426237-nixify-llm/topic/ollama.20image.20analysis.3F.html new file mode 100644 index 00000000000..039e988a6d2 --- /dev/null +++ b/stream/426237-nixify-llm/topic/ollama.20image.20analysis.3F.html @@ -0,0 +1,77 @@ + +ollama image analysis? · nixify-llm · Zulip Chat Archive +

Stream: nixify-llm

+

Topic: ollama image analysis?

+ +
+ + + + + + +

view this post on Zulip Srid (Jul 04 2024 at 15:24):

+

Interesting question,

+
+

can you paste an image to the chat ui for the chatbot to analyze?

+
+

https://old.reddit.com/r/NixOS/comments/1dujxu4/run_local_ai_chatbot_using_nix/

+ + + + +

view this post on Zulip Andreas (Jul 04 2024 at 15:40):

+

Supposedly open webui supports something in that direction...

+ + + + +

view this post on Zulip Andreas (Jul 04 2024 at 15:41):

+

you might need to run a specific model for that. Like this one: https://ollama.com/library/llava:13b

+ + + + +

view this post on Zulip Srid (Jul 04 2024 at 15:41):

+

Looks like it may work: https://openwebui.com/m/dwbranson/image-analysis-using-llava-1:latest

+ + + + +

view this post on Zulip Srid (Jul 04 2024 at 15:43):

+

Is it just me or is the Add Model button basically broken for others too?

+

image.png

+
+ + + + +

view this post on Zulip Srid (Jul 04 2024 at 15:48):

+

Okay, it works, but not the greatest quality:

+

image.png

+
+ + + + +

view this post on Zulip Srid (Jul 04 2024 at 15:51):

+

Compare with Claude:

+

image.png

+
+ + + + +

view this post on Zulip Andreas (Jul 04 2024 at 15:54):

+

at least it works :smile:

+ + + + +

view this post on Zulip Andreas (Jul 04 2024 at 15:54):

+

but yeah I'd say that might be a bit neglected so far in the open LLM space

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/426237-nixify-llm/topic/ollama.html b/stream/426237-nixify-llm/topic/ollama.html new file mode 100644 index 00000000000..ee89117fbdf --- /dev/null +++ b/stream/426237-nixify-llm/topic/ollama.html @@ -0,0 +1,2231 @@ + +ollama · nixify-llm · Zulip Chat Archive +

Stream: nixify-llm

+

Topic: ollama

+ +
+ + + + + + +

view this post on Zulip Srid (Feb 20 2024 at 17:29):

+

image.png

+

https://github.com/ollama/ollama

+

You can run it from nixpkgs. Run these two commands in separate terminals:

+
nix run nixpkgs#ollama serve
+
+
nix run nixpkgs#ollama run llama2-uncensored
+
+

Works on macOS, at least.

+

(The query I used to test the model is inspired by the one Musk used to demonstrate Grok)

+ + + + +

view this post on Zulip Andreas (Feb 20 2024 at 17:54):

+

Well it might work if ROCm works. Which it doesn't if I try. So I would probably have to build a shell for ROCm or something. Otherwise I will be using CPU...

+ + + + +

view this post on Zulip Andreas (Feb 20 2024 at 17:58):

+

In case anyone likes to try this on AMD, here is the command to create a nice running docker container on Linux:

+
docker run -d --privileged --device /dev/kfd -v ollama:/root/.ollama -p 11434:11434 -e OLLAMA_DEBUG=1 -e ROCR_VISIBLE_DEVICES="0" -e HSA_OVERRIDE_GFX_VERSION=10.3.0 --name ollama ollama/ollama:0.1.24-rocm
+
+

The HSA_OVERRIDE_GFX_VERSION=10.3.0 environment variable is only needed if your GPU is not offically supported by ROCm. Which is most consumer and workstation GPUs actually, except a handful. Depending on the GPU it might or might not work.

+

And then you can do a

+
docker exec -it ollama ollama run llama2
+
+

Or whatever model you want to run

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 18:02):

+

@Andreas Does the docker container run do anything special compared to pure Nix instance (nix run ..) above?

+ + + + +

view this post on Zulip Andreas (Feb 20 2024 at 18:09):

+

well it has ROCm installed obviously so that the GPU can use it. However that is just the container for ROCm they provide. Juding from the dockerfile in the ollama GitHub repo, they build them on the basis of some CentOS images provides by AMD.

+

These in turn have their own repo, which I presume to be this one: https://github.com/ROCm/ROCm-docker

+ + + + +

view this post on Zulip Andreas (Feb 20 2024 at 18:13):

+

This here might be the dockerfile for the base image on top of which ollama is compiling their GO binary:

+

https://github.com/ROCm/ROCm-docker/blob/master/dev/Dockerfile-centos-7-complete

+ + + + +

view this post on Zulip Shivaraj B H (Mar 23 2024 at 20:00):

+

I created a process-compose-flake-module for ollama, this is for a personal project that I am working on and here’s how easy it is to setup:

+
{
+  services.ollama = {
+      enable = true;
+      host = "100.71.49.133";
+      # TODO: adding more than one model breaks in shellcheck
+      models = [ "llama2-uncensored" ];
+   };
+}
+
+ + + + +

view this post on Zulip Srid (Mar 23 2024 at 20:01):

+

nix run ... cmd?

+ + + + +

view this post on Zulip Shivaraj B H (Mar 23 2024 at 20:03):

+

I will upstream this to services-flake, it is right now in the private repo as a module.

+

More about the project soon.

+ + + + +

view this post on Zulip Shivaraj B H (Mar 23 2024 at 20:30):

+

Here it is: https://github.com/juspay/services-flake/pull/137

+ + + + +

view this post on Zulip Shivaraj B H (Mar 23 2024 at 20:32):

+

The nix run command is a bit long though:

+
 nix run "github:juspay/services-flake/ollama?dir=test"#ollama --override-input services-flake github:juspay/services-flake/ollama
+
+

This starts up ollama server with no models though, let me use a smaller sample model in test.

+ + + + +

view this post on Zulip Shivaraj B H (Mar 23 2024 at 20:34):

+

https://ollama.com/library/tinyllama looks like a good candidate

+ + + + +

view this post on Zulip Shivaraj B H (Mar 23 2024 at 20:40):

+

Oh wait, I can’t really pull models in flake check because of sandbox mode. I think these models will have to be pre-fetched by another derivation.

+ + + + +

view this post on Zulip Srid (Mar 23 2024 at 20:40):

+

A separate repo, that uses services-flake module, to provide a single nix run .. to get some of these models up running, including a chat interface even, would be cool.

+ + + + +

view this post on Zulip Shivaraj B H (Mar 23 2024 at 21:02):

+

https://github.com/F1bonacc1/process-compose/issues/64 I can provide a single nix run command this, basically allowing users to interact with the chat process in the process-compose window

+ + + + +

view this post on Zulip Shivaraj B H (Mar 23 2024 at 21:03):

+

https://github.com/F1bonacc1/process-compose/issues/64#issuecomment-1974895517

+

I will try it out with 0.88.0

+ + + + +

view this post on Zulip Srid (Mar 23 2024 at 21:07):

+

Curious if there's a chat bot web app that can interact with ollama

+ + + + +

view this post on Zulip Shivaraj B H (Mar 23 2024 at 21:09):

+

There is this on top of search result: https://github.com/HelgeSverre/ollama-gui

+ + + + +

view this post on Zulip Srid (Mar 23 2024 at 21:10):

+

Let's ship it. Gonna be a rad demo of services-flake.

+ + + + +

view this post on Zulip Shivaraj B H (Mar 23 2024 at 21:11):

+

https://github.com/open-webui/open-webui there’s also this (much more popular), but looks like it is bloated with a lot of features.

+ + + + +

view this post on Zulip Shivaraj B H (Mar 23 2024 at 21:13):

+

I will give both the UIs a shot though

+ + + + +

view this post on Zulip Shivaraj B H (Mar 23 2024 at 21:16):

+

I will try this tomorrow, going to get some sleep now

+ + + + +

view this post on Zulip Srid (Mar 23 2024 at 21:16):

+

https://github.com/NixOS/nixpkgs/pull/275448

+ + + + +

view this post on Zulip Shivaraj B H (Mar 23 2024 at 21:24):

+

Shivaraj B H said:

+
+

https://github.com/F1bonacc1/process-compose/issues/64#issuecomment-1974895517

+

I will try it out with 0.88.0

+
+

Update: I didn’t notice that the STDIN support is not there, so even with the current PTY support, this isn’t possible in the process-compose window. Gotta take the WebUI route, anyways, the webui demo will be much cooler.

+ + + + +

view this post on Zulip Shivaraj B H (Mar 26 2024 at 06:18):

+

Screenshot-2024-03-25-at-11.47.58PM.png
+I have the UI running, it involved a lot of hacks to get it running because of the way open-webui uses the python backend.

+
+ + + + +

view this post on Zulip Shivaraj B H (Mar 31 2024 at 23:45):

+
nix run github:shivaraj-bh/nixify-ollama
+
+ + + + +

view this post on Zulip Andreas (Apr 01 2024 at 09:05):

+

Unsurprisingly it does not use the GPU on my machine. We'd probably have to add all the ROCm related components.

+ + + + +

view this post on Zulip Andreas (Apr 01 2024 at 09:06):

+

But other than that, nice work!

+ + + + +

view this post on Zulip Andreas (Apr 01 2024 at 09:10):

+

oh I was a bit too quick: webui cannot find any models on my end...

+ + + + +

view this post on Zulip Shivaraj B H (Apr 01 2024 at 11:21):

+

I faced this problem, I had to manually change the ollama server url and press on the refresh button. Will look for a way to fix this

+ + + + +

view this post on Zulip Shivaraj B H (Apr 01 2024 at 11:21):

+

Anyways, open-webui is a bit too much, I am looking for a simper UI, which is easier to setup

+ + + + +

view this post on Zulip Andreas (Apr 01 2024 at 11:22):

+

open-webui actually looks quite nice. I personally use my containerized ollama with other clients though.

+ + + + +

view this post on Zulip Andreas (Apr 01 2024 at 11:22):

+

maybe we can work at making this ollama flake compatible with ROCm at some point. Did you test it with CUDA?

+ + + + +

view this post on Zulip Shivaraj B H (Apr 01 2024 at 11:24):

+

GPU acceleration is next on my list after I get this UI to work out of the box.

+ + + + +

view this post on Zulip Andreas (Apr 01 2024 at 11:25):

+

I mean it should just pick up the GPU if available. It's just that I don't keep the ROCm libraries on my system if I don't need them specifically. So there is not much to be found.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 01 2024 at 11:25):

+

Andreas said:

+
+

open-webui actually looks quite nice. I personally use my containerized ollama with other clients though.

+
+

Yes, it does. I only hate how I can’t configure things like disabling web auth. When I am using it in my private network, or for development, I don’t really need it.

+ + + + +

view this post on Zulip Andreas (Apr 01 2024 at 11:29):

+
+

I only hate how I can’t configure things like disabling web auth

+
+

Yes, it appears to have feature you might rather want for a somewhat larger deployment, like load balancing and such

+ + + + +

view this post on Zulip Shivaraj B H (Apr 01 2024 at 11:31):

+
+

oh I was a bit too quick: webui cannot find any models on my end…

+
+

Screenshot-2024-04-01-at-4.58.42PM.png

+

The problem appears to be that I am not prefixing the protocol before the IP, as soon as i do that, it starts working. I will fix it

+ + + + +

view this post on Zulip Shivaraj B H (Apr 01 2024 at 11:37):

+

I have also included an Up Next section in README: https://github.com/shivaraj-bh/nixify-ollama/blob/main/README.md

+

To track what I will be doing next

+ + + + +

view this post on Zulip Shivaraj B H (Apr 01 2024 at 12:12):

+

Shivaraj B H said:

+
+
+

oh I was a bit too quick: webui cannot find any models on my end…

+
+

Screenshot-2024-04-01-at-4.58.42PM.png

+

The problem appears to be that I am not prefixing the protocol before the IP, as soon as i do that, it starts working. I will fix it

+
+

I have fixed it, select model should now work without requiring any hacks

+ + + + +

view this post on Zulip Andreas (Apr 01 2024 at 16:24):

+

Yes, it's working now. Just a bit slow for my taste on CPU.

+ + + + +

view this post on Zulip Andreas (Apr 01 2024 at 16:24):

+

but we are getting there

+ + + + +

view this post on Zulip Andreas (Apr 01 2024 at 16:25):

+

I might look and see if I can get it to run with ROCm. So far I am only using containers for ROCm. But the stuff should all be in nixpkgs.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 01 2024 at 16:37):

+

Yes, I will continue working tomorrow. I am going to hit the sack for the day

+ + + + +

view this post on Zulip Andreas (Apr 01 2024 at 16:38):

+

yeah it's somewhat late already where you are :smile:

+ + + + +

view this post on Zulip Andreas (Apr 02 2024 at 17:21):

+

I decided to create an issue on your repo for ROCm support @Shivaraj B H

+ + + + +

view this post on Zulip Shivaraj B H (Apr 02 2024 at 17:26):

+

Yup, I was checking out macOS support today, while I was in parallel setting up my new machine with Nvidia drivers to try out GPU acceleration

+ + + + +

view this post on Zulip Shivaraj B H (Apr 02 2024 at 17:29):

+

I don’t have AMD hardware to test out ROCm, but I suppose I can test it on some cheap cloud instances

+ + + + +

view this post on Zulip Andreas (Apr 02 2024 at 17:29):

+

that is nice, maybe we can adapt the Nvidia settings to run AMD stuff. Nice thing about ROCm is that it's just running on top of the AMDGPU kernel drivers.

+ + + + +

view this post on Zulip Andreas (Apr 02 2024 at 17:29):

+

Shivaraj B H said:

+
+

I don’t have AMD hardware to test out ROCm, but I suppose I can test it on some cheap cloud instances

+
+

Or I'd be the one testing it.

+ + + + +

view this post on Zulip Andreas (Apr 02 2024 at 17:37):

+

Is there an easy way to export an environment variable depending on the user's GPU architecture?

+ + + + +

view this post on Zulip Andreas (Apr 02 2024 at 17:38):

+

Also, since I am on a multi GPU system, I'd need a way to set the GPU that ollama is to be using. In docker that is fairly easy to do. I wonder how to do this here.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 02 2024 at 17:52):

+

Andreas said:

+
+

Is there an easy way to export an environment variable depending on the user's GPU architecture?

+
+

What would this environment variable be used for?

+ + + + +

view this post on Zulip Shivaraj B H (Apr 02 2024 at 17:53):

+

Andreas said:

+
+

Also, since I am on a multi GPU system, I'd need a way to set the GPU that ollama is to be using. In docker that is fairly easy to do. I wonder how to do this here.

+
+

How does one do this in docker? Multi-gpu scenario is new to me as well, so gotta play around with it a bit

+ + + + +

view this post on Zulip Andreas (Apr 02 2024 at 17:57):

+

Yes, so on the env variable front most user will have to set HSA_OVERRIDE_GFX_VERSION=10.3.0 if they are on RDNA2 or RDNA arch GPUs. On RDNA3 this will be a different value. And it might not be needed if the GPU is officially supported by ROCm (which only very few are outside the data center).

+

For selecting the second GPU in my machine, I pass --device /dev/kfd and --device /dev/dri/renderD129 to the container. While --device /dev/dri/renderD128 would select the first GPU.

+

In addition I set the ROCR_VISIBLE_DEVICES to either 0 or 1, which, I think, is there for isolating the GPUs.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 02 2024 at 18:06):

+

Does ollama detect the GPU correctly inside a docker container?

+ + + + +

view this post on Zulip Andreas (Apr 02 2024 at 18:23):

+

yes, no issues. I am using ollama's own container images. They are probably built on top of AMD's official images for ROCm.

+ + + + +

view this post on Zulip Andreas (Apr 02 2024 at 18:27):

+

I think a big benefit of having this running via Nix would be a reduced footprint compared to these somewhat massive ROCm container images.

+ + + + +

view this post on Zulip Andreas (Apr 02 2024 at 18:28):

+
ollama/ollama   0.1.24-rocm  9d567aacf463   7 weeks ago    20.9GB
+
+

That is the last image I pulled. Smaller might be better :grinning_face_with_smiling_eyes:

+ + + + +

view this post on Zulip Shivaraj B H (Apr 02 2024 at 18:29):

+

I might have to look at how the container images are built, but I am quite certain it should be possible on native as well.

+ + + + +

view this post on Zulip Andreas (Apr 02 2024 at 18:30):

+

it should be, yes

+

I have just seen that they added a bit more documentation to their images:

+

https://hub.docker.com/r/bergutman/ollama-rocm

+ + + + +

view this post on Zulip Andreas (Apr 02 2024 at 18:31):

+

ah no, this is not the offical one

+ + + + +

view this post on Zulip Andreas (Apr 02 2024 at 18:32):

+

I guess this should be the official dockerfile:

+

https://github.com/ollama/ollama/blob/main/Dockerfile

+ + + + +

view this post on Zulip Shivaraj B H (Apr 02 2024 at 19:09):

+

Andreas said:

+
+
ollama/ollama   0.1.24-rocm  9d567aacf463   7 weeks ago    20.9GB
+
+

That is the last image I pulled. Smaller might be better :grinning_face_with_smiling_eyes:

+
+

Damn, I just noticed the image size is 20GB

+ + + + +

view this post on Zulip Andreas (Apr 02 2024 at 19:11):

+

yes, and since I already have multiple such images for different apps, you can see how that can easily become a bit cumbersome. Let's just say the image size is one of the many places AMD's ROCm could use some optimization.

+

But I am happy that is working more or less nicely out of the box now. That is already a big thing. So they might get there eventually.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 02 2024 at 19:52):

+

It might just be very simple to enable ROCm, I am trying something out with CUDA, if that works out, I will post here and you can tell me if it works for you

+ + + + +

view this post on Zulip Andreas (Apr 02 2024 at 19:57):

+

the only CUDA device I have is my laptop GPU with 2GB of VRAM. So you'd need to set a very small model for that. (Btw. defining models more dynamically might also be a nice add-on for this)

+ + + + +

view this post on Zulip Andreas (Apr 02 2024 at 19:57):

+

but once you have a CUDA implementation going, I can see if I can derive a ROCm implementation from that one

+ + + + +

view this post on Zulip Shivaraj B H (Apr 02 2024 at 20:01):

+

Shivaraj B H said:

+
+

It might just be very simple to enable ROCm, I am trying something out with CUDA, if that works out, I will post here and you can tell me if it works for you

+
+

my bad, I wasn’t clear here.

+

This is what I am trying for CUDA:

+
services.ollama."ollama" = {
+   enable = true;
+   package = pkgs.ollama.override { acceleration = "cuda"; };
+   host = "0.0.0.0";
+    models = [ "llama2-uncensored" ];
+};
+
+

What I want you to try is:

+
services.ollama."ollama" = {
+   enable = true;
+   package = pkgs.ollama.override { acceleration = rocm"; };
+   host = "0.0.0.0";
+    models = [ "llama2-uncensored" ];
+};
+
+ + + + +

view this post on Zulip Andreas (Apr 02 2024 at 20:02):

+

okay, but for that I'd need to actually provide the ROCm libraries somewhere, right? Otherwise there is nothing to pick up. Also ollama should detect that automatically, if it has been compiled with ROCm support. At least I believe it should.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 02 2024 at 20:03):

+
+

but for that I'd need to actually provide the ROCm libraries somewhere, right?

+
+

nixpkgs does it for you: https://github.com/NixOS/nixpkgs/blob/8a22284f51fcd7771ee65ba124175bf9b90505ad/pkgs/tools/misc/ollama/default.nix#L51-L62

+ + + + +

view this post on Zulip Shivaraj B H (Apr 02 2024 at 20:04):

+
+

package = pkgs.ollama.override { acceleration = “rocm"; };

+
+

when you use the above override it will build ollama again with rocm libraries in its env, atleast that is what I believe it does.

+ + + + +

view this post on Zulip Andreas (Apr 02 2024 at 20:05):

+

alright, I will clone the repo and try if that works tomorrow

+ + + + +

view this post on Zulip Shivaraj B H (Apr 02 2024 at 20:09):

+

after the override for cuda, ollama detected the libraries:
+(from the logs of ollama serve)

+
time=2024-04-02T20:07:05.102Z level=INFO source=gpu.go:237 msg="Discovered GPU libraries: [/nix/store/ikmrvm9hp2j7mka3li49cycx8mzbw080-nvidia-x11-550.67-6.6.23/lib/libnvidia-ml.so.550.67]"
+
+

but it fails at a later stage:

+
nvmlInit_v2 err: 18
+time=2024-04-02T20:07:05.106Z level=INFO source=gpu.go:249 msg="Unable to load CUDA management library /nix/store/ikmrvm9hp2j7mka3li49cycx8mzbw080-nvidia-x11-550.67-6.6.23/lib/libnvidia-ml.so.550.67: nvml vram init failure: 18"
+
+

I will investigate this tomorrow

+ + + + +

view this post on Zulip Andreas (Apr 02 2024 at 20:10):

+

I am suspecting now already that for ROCm you might need other components too. Like rocmPackages.rocm-runtime for instance, or rocmPackages.rocm-smi maybe. Not sure.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 02 2024 at 20:13):

+

Yup, let’s check that out tomorrow. I will head out for today

+ + + + +

view this post on Zulip Srid (Apr 02 2024 at 20:27):

+

/me hasn't had a chance check this out because he is yet to find a reliable internet connection in Australia

+ + + + +

view this post on Zulip Shivaraj B H (Apr 02 2024 at 20:57):

+

macOS support is still a WIP for the open-webui backend, works well on linux for now. It is because the lock.json only locks for one platform atm. I have to switch to pdm for package management instead of pip, ensuring multi-platform support.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 02 2024 at 20:59):

+

Shivaraj B H said:

+
+

after the override for cuda, ollama detected the libraries:
+(from the logs of ollama serve)

+
time=2024-04-02T20:07:05.102Z level=INFO source=gpu.go:237 msg="Discovered GPU libraries: [/nix/store/ikmrvm9hp2j7mka3li49cycx8mzbw080-nvidia-x11-550.67-6.6.23/lib/libnvidia-ml.so.550.67]”
+
+

but it fails at a later stage:

+
nvmlInit_v2 err: 18
+time=2024-04-02T20:07:05.106Z level=INFO source=gpu.go:249 msg="Unable to load CUDA management library /nix/store/ikmrvm9hp2j7mka3li49cycx8mzbw080-nvidia-x11-550.67-6.6.23/lib/libnvidia-ml.so.550.67: nvml vram init failure: 18”
+
+

I will investigate this tomorrow

+
+

@Andreas turns out it was just incompatibility between the driver version installed on my system vs the respective library exposed to ollama by the override. I matched them and now it works :tada:

+ + + + +

view this post on Zulip Shivaraj B H (Apr 02 2024 at 21:00):

+

The speed difference is huge, like 20x. On my CPU I get about 10-11 tokens/second and with RTX 3070 8GB vram mobile GPU, I get about 200-210 tokens/second

+ + + + +

view this post on Zulip Shivaraj B H (Apr 02 2024 at 21:14):

+

Wait, The token per second is for prompt eval, generation eval is much slower for both of them. For CPU it is 3.9 tokens/second and for GPU it is 24.7 tokens/seconds, about 10x better on GPU.

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 08:44):

+

yes, I will try later today. Where can you see the generation speed btw.?

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 08:44):

+

but the huge speed increase is to be expected. That's why I wanted GPU to work so badly. :grinning_face_with_smiling_eyes:

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 08:50):

+

Andreas said:

+
+

yes, I will try later today. Where can you see the generation speed btw.?

+
+

You can find it in the logs of ollama serve process after a request is complete. I am thinking of exposing a benchmark script that can be run to compare numbers on different hardware.

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 08:51):

+

ah so it's in the logs. I never bothered to look at them so far. But I'd like to compare my two AMD cards with your Nvidia 3070.

+

Also speed will depend on the model I guess. You are still using llama-7b-uncensored, right?

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 08:54):

+

Andreas said:

+
+

ah so it's in the logs. I never bothered to look at them so far. But I'd like to compare my two AMD cards with your Nvidia 3070.

+

Also speed will depend on the model I guess. You are still using llama-7b-uncensored, right?

+
+

Yup, I am using llama-7b-uncensored. I tried with llama-70b-uncensored on my GPU, it is extremely slow, like 0.3-0.5 tokens/second

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 08:55):

+

Didn’t even bother trying on CPU

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 08:56):

+

I will start playing around in the night today, after I am done with work

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 08:58):

+

Actually you did bother trying on CPU. :big_smile:

+

Because ollama most likely did fall back to CPU as you ran out of VRAM with your 8 GB.

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 08:59):

+

but for smaller models, there are quite a few capable models for code-related tasks that fit into 8GB of VRAM. And even a good amount that might fit my 2 GB of VRAM on my somewhat older laptop.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 09:23):

+
+

Because ollama most likely did fall back to CPU as you ran out of VRAM with your 8 GB.

+
+

Right, that makes sense.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 10:48):

+

E972A83F-3126-43BE-B30F-BC656E551C9A.jpg

+

Now, I can access it on my phone as well

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 13:31):

+

I am right now trying this snippet of code:

+
services.ollama."ollama" = {
+   enable = true;
+   package = pkgs.ollama.override { acceleration = “rocm"; };
+   host = "0.0.0.0";
+    models = [ "llama2-uncensored" ];
+};
+
+

However the result is that Nix wants to compile rocblas-6.0.2 from source... or at least that what my CPU fans sound like. Not ideal. I tried compiling the ROCm stack from source once. I have a Ryzen 3900x, but even with that machine this will take several hours, depending on how much it needs to compile.

+

That being said, how can I specify runtime dependencies for the service I am declaring? Because I have a feeling I might need some, as I do not have ROCm runtime packages available on my system by default.

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 13:36):

+

I will let it do it's building and see what happens (most likely it will not work, since... ROCm)

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 14:00):

+
+

However the result is that Nix wants to compile rocblas-6.0.2 from source

+
+

assuming you are on x86_64-linux, it should be coming from cache: https://hydra.nixos.org/build/254389608

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 14:00):

+

that would make sense, however it did not

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 14:02):

+

right now it is stuck for some reason for the last 10 min so telling me:

+

[1/1/10 built, 57 copied (9806.3/9806.5 MiB), 1089.1 MiB DL] building rocblas-6.0.2 (buildPhase): 4 warnings generated when compiling for gfx942.

+

I will wait a bit longer and see if it back up on its feet again

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 14:02):

+
+

I will let it do it's building and see what happens (most likely it will not work, since... ROCm)

+
+

The only problem I would see is the mismatch of versions between drivers installed on your OS with that of rocmPackages in the nixpkgs commit we are using in nixify-ollama’s flake.nix

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 14:03):

+

Andreas said:

+
+

right now it is stuck for some reason for the last 10 min so telling me:

+

[1/1/10 built, 57 copied (9806.3/9806.5 MiB), 1089.1 MiB DL] building rocblas-6.0.2 (buildPhase): 4 warnings generated when compiling for gfx942.

+

I will wait a bit longer and see if it back up on its feet again

+
+

It definitely is building from scratch, not a good sign.

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 14:03):

+
+

mismatch of versions between drivers installed on your OS

+
+

The drivers are the Linux kernel drivers for my kernel version. Which is the LTS kernel 6.1.82 right now.

+
+

It definitely is building from scratch, not a good sign.

+
+

Might this be due to the ollama package being overridden in the nixify flake?

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 14:08):

+
+

Might this be due to the ollama package being overridden in the nixify flake?

+
+

That should rebuild only the ollama package and not the rocmPackages

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 14:09):

+

okay, my base system is on NixOS stable, not unstable. Would that have an impact here?

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 14:10):

+

Andreas said:

+
+

okay, my base system is on NixOS stable, not unstable. Would that have an impact here?

+
+

probably, let’s wait for it to build. In any case, you can override rocmPackages as well (to match your system’s stable release), so not a problem

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 14:35):

+

since it's not moving anywhere, I decided to cancel it now

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 14:36):

+

yes, that is a bit of a sad state if Nix wants to rebuild stuff from scratch

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 14:37):

+

but since your flake itself uses nixpkgs unstable, normally it should pull in the binaries nonetheless, right?

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 14:45):

+

okay, so now I decided to downgrade your flake to the NixOS-23.11 branch, and now it is only compiling ollama itself.

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 17:29):

+

okay, so it compiled, but the webui now gets me an internal server error when trying to talk to model.

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 17:33):

+

When I do a

+
curl http://localhost:11434/api/generate -d '{
+  "model": "llama2-uncensored",
+  "prompt":"Why is the sky blue?"
+}'
+
+

I get curl: (52) Empty reply from server

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 17:37):

+

when I run that on my docker llama2, there is no issue, I get a stream of individual response tokens

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 17:42):

+

how would I set the environment for the process compose flake services? I'd say passing OLLAMA_DEBUG=1 might help find out what isn't moving there...

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 17:54):

+

As for stats, I get this on my GPU:

+
[1712166751] print_timings: prompt eval time =      25.77 ms /     0 tokens (     inf ms per token,     0.00 tokens per second)
+[1712166751] print_timings:        eval time =    2132.53 ms /   118 runs   (   18.07 ms per token,    55.33 tokens per second)
+[1712166751] print_timings:       total time =    2158.30 ms
+
+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 17:55):

+

no idea if this is good or bad. But the response comes pretty fast I'd say

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 17:59):

+

I’d need to expose an option to add extraEnvs

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 17:59):

+

and this is from my secondary GPU

+
[1712167117] print_timings: prompt eval time =      95.26 ms /    28 tokens (    3.40 ms per token,   293.94 tokens per second)
+[1712167117] print_timings:        eval time =    5266.83 ms /   212 runs   (   24.84 ms per token,    40.25 tokens per second)
+[1712167117] print_timings:       total time =    5362.09 ms
+
+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 18:00):

+

These stats are from within the docker, is it?

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 18:01):

+

What GPUs are you running on your machine?

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 18:01):

+

Yeah the stats are from within the docker containers

+

Great idea having some env to set. Let's see how you implement it :smile:

+

Is there a way to attach to the tty of the running process in process compose? That way I could see what ollama spits out in debug messages

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 18:01):

+

Shivaraj B H said:

+
+

What GPUs are you running on your machine?

+
+

1) Radeon Pro W6800
+2) Radeon Pro W6600

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 18:01):

+

You could do “nix run — -t=false” to disable tui mode in process-compose

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 18:03):

+

So you 3070 was getting 25 tokens per second, yes? I find it odd that the W6600 should be that much faster with 40 tokens per second.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 18:03):

+

Andreas said:

+
+

Shivaraj B H said:

+
+

What GPUs are you running on your machine?

+
+

1) Radeon Pro W6800
+2) Radeon Pro W6600

+
+

That’s 32 gb and 8gb vram respectively?

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 18:04):

+

Andreas said:

+
+

So you 3070 was getting 25 tokens per second, yes? I find it odd that the W6600 should be that much faster with 40 tokens per second.

+
+

Does that depend on the prompt maybe? I will try giving the same prompt as you

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 18:05):

+

And is your GPU over clocked by any chance?

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 18:05):

+

that is possible, I was just trying the prompt via curl that ollama has on github. Just with the different model

+
curl http://localhost:11434/api/generate -d '{
+  "model": "llama2-uncensored",
+  "prompt":"Why is the sky blue?"
+}'
+
+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 18:07):

+

Shivaraj B H said:

+
+

And is your GPU over clocked by any chance?

+
+

Nope, rather underclocked if compared to the gaming variant. The TDP for the Radeon Pro W6600 is basically locked at around 100W, it's s one slot card, which is very nice. The same goes for the W6800, which is the equivalent of the RX 6800, but uses less power. It does however have twice the VRAM.

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 18:08):

+

When it comes to gaming your 3070 should be rather close to my W6800 I'd say.

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 18:23):

+

Shivaraj B H said:

+
+

You could do “nix run — -t=false” to disable tui mode in process-compose

+
+

copy pasting this will only get me error: unrecognised flag '-t'

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 18:53):

+

Andreas said:

+
+

Shivaraj B H said:

+
+

You could do “nix run — -t=false” to disable tui mode in process-compose

+
+

copy pasting this will only get me error: unrecognised flag '-t’

+
+

My bad, it is nix run .#default -- -t=false

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 18:58):

+

(Yes that was me being stupid / lazy I guess)

+

okay let's see... there are quite a few errors coming from ollama

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 18:58):

+

Also, I have implemented the extraEnvs option. You can pull the latest changes on nixify-ollama and use this:

+
{
+  services.ollama."ollama" = {
+    enable = true;
+    host = "0.0.0.0";
+    models = [ "llama2-uncensored" ];
+    extraEnvs = {
+      OLLAMA_DEBUG="1";
+    };
+  };
+}
+
+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 18:59):

+

and at some point among the gigantic mess we see this:

+
[ollama ] CUDA error: invalid device function
+[ollama ]   current device: 0, in function ggml_cuda_op_flatten at /build/source/llm/llama.cpp/ggml-cuda.cu:10012
+[ollama ]   hipGetLastError()
+[ollama ] GGML_ASSERT: /build/source/llm/llama.cpp/ggml-cuda.cu:256: !"CUDA error"
+[ollama ] loading library /tmp/ollama1196279674/rocm/libext_server.so
+[ollama ] SIGABRT: abort
+[ollama ] PC=0x7f95e13c3ddc m=10 sigcode=18446744073709551610
+[ollama ] signal arrived during cgo execution
+
+

My assumption is that I need to set a env var to get over this. So I will pull and try again.

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 19:16):

+

Success!!!

+
services.ollama."ollama" = {
+  enable = true;
+  package = pkgs.ollama.override { acceleration = "rocm"; };
+  host = "0.0.0.0";
+  models = [ "llama2-uncensored" ];
+  extraEnvs = {
+    HSA_OVERRIDE_GFX_VERSION = "10.3.0";
+    OLLAMA_DEBUG = "1";
+  };
+
+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 19:17):

+

If I ask it about the Roman empire, I still get 56 tokens per second on the W6800

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 19:19):

+

sometimes to goes down to 48-49 tokens per second. but the model does not like to give long responses it seems

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 19:19):

+

but at least it is running now

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 19:20):

+

Andreas said:

+
+

If I ask it about the Roman empire, I still get 56 tokens per second on the W6800

+
+

Is that the same in docker with GPU acceleration?

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 19:20):

+

Andreas said:

+
+

Success!!!

+

services.ollama."ollama" = {
+  enable = true;
+  package = pkgs.ollama.override { acceleration = "rocm"; };
+  host = 0.0.0.0;
+  models = [ "llama2-uncensored” ];
+  extraEnvs = {
+    HSA_OVERRIDE_GFX_VERSION = “10.3.0”;
+    OLLAMA_DEBUG = “1”;
+  };
+

+

+
+

Great, will star these messages to document them later.

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 19:21):

+

Shivaraj B H said:

+
+

Andreas said:

+
+

If I ask it about the Roman empire, I still get 56 tokens per second on the W6800

+
+

Is that the same in docker with GPU acceleration?

+
+

I guess so, more or less

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 19:21):

+

I mean we could try and think how to structure the flake so that you can run with different GPU architectures.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 19:22):

+
+

I mean we could try and think how to structure the flake so that you can run with different GPU architectures.

+
+

I will be providing two different nix runnable apps, nix run .#with-cuda and nix run .#with-rocm. This is what I am thinking for now

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 19:23):

+

I'd just go for #cuda and #rocm ... and I think I'd also really like to disable the webui.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 19:24):

+

webui, I am thinking only for the default app. Can disable it for others

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 19:25):

+

let me add cuda and rocm really quick

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 19:25):

+

I'd say let me (or the consumer) choose to enable to disable.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 19:26):

+

In the future, I am also planning to export a home-manager module that will support systemd config for linux and launchd config for mac. To allow running ollama server in the background

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 19:27):

+

I mean there is already a nixos module, isn't there?

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 19:27):

+

Yes, I can take inspiration from it, but can’t reuse it in macos or other linux distros

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 19:28):

+

yes, that is true.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 20:22):

+

Added support for cuda and rocm:

+
{
+  default = {
+    imports = [ common ];
+    services.ollama-stack.open-webui.enable = true;
+  };
+  cuda = {
+    imports = [ common ];
+    services.ollama-stack.extraOllamaConfig = {
+      package = pkgs.ollama.override { acceleration = "cuda"; };
+    };
+  };
+  rocm = {
+    imports = [ common ];
+    services.ollama-stack.extraOllamaConfig = {
+       package = pkgs.ollama.override { acceleration = "rocm"; };
+     };
+   };
+}
+
+

Above is the definition for three apps, you can enable or disable open-webui on any of them. You can even pass extraOllamaConfig, I didn’t add the HSA_OVERRIDE_GFX_VERSION yet because I want to understand more about why it is needed and how to determine the version

+ + + + +

view this post on Zulip Srid (Apr 03 2024 at 20:27):

+

I have a Hetzner dedicated server (x86_64-linux) now; how do I try this out?

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 20:28):

+

Srid said:

+
+

I have a Hetzner dedicated server (x86_64-linux) now; how do I try this out?

+
+

nix run github:shivaraj-bh/nixify-ollama

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 20:32):

+

Shivaraj B H said:

+
+

Srid said:

+
+

I have a Hetzner dedicated server (x86_64-linux) now; how do I try this out?

+
+

nix run github:shivaraj-bh/nixify-ollama

+
+

And then to test it:

+
curl http://<hetzner-machine-ip>:11434/api/generate -d '{
+  "model": “llama2-uncensored",
+  "prompt": "Why is the sky blue?",
+  "stream": false
+}'
+
+

or

+
open http://<hetzner-machine-ip>:1111
+
+

to open open-webui

+ + + + +

view this post on Zulip Srid (Apr 03 2024 at 20:34):

+

What does the curl command do exactly? Why can't I type that prompt in the webui itself?

+ + + + +

view this post on Zulip Srid (Apr 03 2024 at 20:34):

+

(I have firewall setup so this means I'd have to setup port forwarding for 1111 the webui, which is fine, but why should I have to do it for 11434?)

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 20:36):

+

@Shivaraj B H

+

On the HSA_OVERRIDE_GFX_VERSION variable. I didn't find any documentation on it. However, the whole ROCm stack can be compiled for different LLVM targets, which you can find here:

+

https://llvm.org/docs/AMDGPUUsage.html (there are quite a few recent ones not documented there, no idea why not)

+

You will see that gfx1030 corresponds to my Radeon Pro W6800 (which is basically the same as any consumer RX 6800). This is where I got the number from. Now usufally that should not be necessary for my card as it is one of the few which has official support. However as we have seen, it still is necessary to override this. As it will be for any other RDNA2 based card, and probably RDNA1. Basically you fake having a Radeon RX 6800 architecture to ROCm so that it runs anyways. Which works just fine on my W6600 for instance.

+

If you have a more recent RDNA3 based card, you will need a different override. Most likely SA_OVERRIDE_GFX_VERSION=11.0.0

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 20:37):

+

Srid said:

+
+

What does the curl command do exactly? Why can't I type that prompt in the webui itself?

+
+

You can do the same thing from webui as well

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 20:38):

+

Srid said:

+
+

(I have firewall setup so this means I'd have to setup port forwarding for 1111 the webui, which is fine, but why should I have to do it for 11434?)

+
+

only 1111 should suffice

+ + + + +

view this post on Zulip Srid (Apr 03 2024 at 20:38):

+

image.png

+

Should I sign up?

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 20:38):

+

Srid said:

+
+

What does the curl command do exactly? Why can't I type that prompt in the webui itself?

+
+

The curl command is just talking to ollama's API directly. That API is running on port 11434. Which the webui is most likely talking to as well.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 20:39):

+

Srid said:

+
+

image.png

+

Should I sign up?

+
+

Yes, I was looking for ways to get rid of it. But open-webui has it hardcoded. You can signup with any dummy mail

+ + + + +

view this post on Zulip Srid (Apr 03 2024 at 20:39):

+

As a "noob user" looking to explore this, I'd just want to do the minimal thing necessary to get this up and running. Would be good to document it in README

+ + + + +

view this post on Zulip Srid (Apr 03 2024 at 20:40):

+

Okay I created an account. I suppose it stores it in local DB?

+ + + + +

view this post on Zulip Srid (Apr 03 2024 at 20:40):

+

image.png

+

Nice! :tada:

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 20:41):

+

Srid said:

+
+

As a "noob user" looking to explore this, I'd just want to do the minimal thing necessary to get this up and running. Would be good to document it in README

+
+

Yup, I was looking for simpler alternatives

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 20:41):

+

Srid said:

+
+

Okay I created an account. I suppose it stores it in local DB?

+
+

Yes

+ + + + +

view this post on Zulip Srid (Apr 03 2024 at 20:42):

+

This would be a great example for services-flake.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 20:44):

+

If you port forward 11434 you can use the Enchanted ios client to get a nice looking mobile and desktop app as well.

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 20:45):

+

So @Shivaraj B H you broke ROCm again because the HSA_OVERRIDE_GFX_VERSION variable isn't set... how do you propose to set it so I don't have to walk into ./nix/ollama.nix?

+ + + + +

view this post on Zulip Andreas (Apr 03 2024 at 20:45):

+

(Maybe we do that tomorrow :big_smile: I'll check out for today!)

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 20:46):

+

Andreas said:

+
+

So Shivaraj B H you broke ROCm again because the HSA_OVERRIDE_GFX_VERSION variable isn't set... how do you propose to set it so I don't have to walk into ./nix/ollama.nix?

+
+

You can add the envs here: https://github.com/shivaraj-bh/nixify-ollama/blob/017dca208fbec393f8c5c6b574c1c1234df176ce/flake.nix#L70-L72

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 21:30):

+

The repo is now renamed to ollama-flake: https://github.com/shivaraj-bh/ollama-flake/issues/2

+ + + + +

view this post on Zulip Shivaraj B H (Apr 03 2024 at 22:01):

+

@Andreas I get about 77 tokens/second on the “why is the sky blue?” prompt, with GPU:

+
[ollama ] {"function":"print_timings","level":"INFO","line":257,"msg":"prompt eval time     =      62.70 ms /    28 tokens (    2.24 ms per token,   446.56 t
+okens per second)","n_prompt_tokens_processed":28,"n_tokens_second":446.5638506562894,"slot_id":0,"t_prompt_processing":62.701,"t_token":2.2393214285714285,"
+task_id":0,"tid":"139803154691776","timestamp":1712181596}
+[ollama ] {"function":"print_timings","level":"INFO","line":271,"msg":"generation eval time =    1717.36 ms /   133 runs   (   12.91 ms per token,    77.44 t
+okens per second)","n_decoded":133,"n_tokens_second":77.44463000100154,"slot_id":0,"t_token":12.91245112781955,"t_token_generation":1717.356,"task_id":0,"tid
+":"139803154691776","timestamp":1712181596}
+
+ + + + +

view this post on Zulip Andreas (Apr 04 2024 at 10:40):

+

I have a feeling you should have some commented out env vars right in the main flake.nix ... useability.

+

Yes I can get the 55 token / second I reported on the W6800. What you got now is more what I expected. Nvidia should be faster at this. Also because CUDA will be more otimized than ROCm. We might try ROCm 6.0 at some point and see if this improves performance on AMD, because right now this is ROCm 5.7 I am running.

+ + + + +

view this post on Zulip Andreas (Apr 04 2024 at 10:42):

+

Also funny effect I had: ollama wouldn't shut down properly some .ollama-unwrap process got stuck, didn't release the bound port 11434 and even on reboot systemd had quite some work to do to get the process killed. Not sure what happened there...

+ + + + +

view this post on Zulip Andreas (Apr 04 2024 at 10:52):

+

Next thing I'd do for usability is add a catered list of models that are commented out by default (because let's be honest llama2-7b is not the more talkative buddy) and document that a bit. So users can choose what they want.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 04 2024 at 11:35):

+
+

I have a feeling you should have some commented out env vars right in the main flake.nix ... useability.

+
+

Right, the primary one’s I would see people using is CUDA_VISIBLE_DEVICES HIP_VISIBLE_DEVICES and of course HSA_OVERRIDE_GFX_VERSION

+ + + + +

view this post on Zulip Shivaraj B H (Apr 04 2024 at 11:36):

+
+

What you got now is more what I expected

+
+

I investigated as to why the performance was poor earlier. Turns out, my GPU was not running in performance mode earlier.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 04 2024 at 11:39):

+

Andreas said:

+
+

Next thing I'd do for usability is add a catered list of models that are commented out by default (because let's be honest llama2-7b is not the more talkative buddy) and document that a bit. So users can choose what they want.

+
+

Along with that I should also document how to override cudaPackages or rocmPackages to match the one’s installed on the system.

+

What I tend to do is nix run github:shivaraj-bh/ollama-flake#cuda —override-input nixpkgs flake:nixpkgs. In my configuration, I have the registry flake:nixpkgs pinned to the same nixpkgs I use to install nvidia drivers for, so it should work out of the box. I will add this is as a possible solution.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 04 2024 at 11:41):

+

If they are on a non-nixos machine, then they will have to manually get the version of the drivers installed and use the compatible cudaPackages or rocmPackages

+ + + + +

view this post on Zulip Andreas (Apr 04 2024 at 11:46):

+

Yes, all that sounds quite good. There is also ROCR_VISIBLE_DEVICES for GPU isolation.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 04 2024 at 11:51):

+

I believe it is HIP_VISIBLE_DEVICES, I don’t see ROCR_VISIBLE_DEVICES in ollama docs: https://github.com/ollama/ollama/blob/9768e2dc7574c36608bb04ac39a3b79e639a837f/docs/gpu.md?plain=1#L88-L93

+ + + + +

view this post on Zulip Andreas (Apr 04 2024 at 11:53):

+

yeah maybe that one doesn't do much in our context.

+

AMD's docs are here for once: https://rocm.docs.amd.com/en/latest/conceptual/gpu-isolation.html

+

(At least they have some in this case)

+ + + + +

view this post on Zulip Shivaraj B H (Apr 04 2024 at 11:56):

+

Gotcha, will add that too!

+ + + + +

view this post on Zulip Andreas (Apr 04 2024 at 11:57):

+

funny thing is, that according to CUDA_VISIBLE_DEVICES has the same effect as HIP_VISIBLE_DEVICES for compatibility reasons

+ + + + +

view this post on Zulip Andreas (Apr 04 2024 at 12:19):

+

once you make another commit, I will test this again and see which flag does what in practice. You never know.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 04 2024 at 13:20):

+

done: https://github.com/shivaraj-bh/ollama-flake/commit/7b6375cc4849c6b3a91be5543043d3c820d312f6

+ + + + +

view this post on Zulip Andreas (Apr 04 2024 at 18:05):

+

just trying this out on my Nvidia Laptop with 2GB of VRAM. It starts building ollama 0.1.29 from source. Any idea why this might be happening? I am also on NixOS stable there...

+ + + + +

view this post on Zulip Andreas (Apr 04 2024 at 18:18):

+

so after building a bit, it actually works. I can run deepseek-coder:1.3-instruct on my crappy Nvidia MX 150.

+

And it gets me 27 tokens / sec. Not too bad for this older laptop GPU.

+ + + + +

view this post on Zulip Andreas (Apr 04 2024 at 18:27):

+

I think it'd be nice to provide a list of models directly in flake.nix

+ + + + +

view this post on Zulip Andreas (Apr 04 2024 at 18:27):

+

but I'll play with this setup a bit tomorrow for coding. Sadly it won't be very good at Nix.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 04 2024 at 18:28):

+

Andreas said:

+
+

just trying this out on my Nvidia Laptop with 2GB of VRAM. It starts building ollama 0.1.29 from source. Any idea why this might be happening? I am also on NixOS stable there...

+
+

If you are overriding with acceleration = “cuda”, it will build ollama from scratch. Although, I have noticed that it doesn’t do that if I use garnix cache.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 04 2024 at 18:29):

+

Andreas said:

+
+

I think it'd be nice to provide a list of models directly in flake.nix

+
+

I was thinking of linking to ollama.com/library

+ + + + +

view this post on Zulip Shivaraj B H (Apr 04 2024 at 18:30):

+

Andreas said:

+
+

but I'll play with this setup a bit tomorrow for coding. Sadly it won't be very good at Nix.

+
+

Someone’s gotta train it with good content. Unfortunately there isn’t much. Hopefully with Nixos.asia tutorials, we can bridge that gap

+ + + + +

view this post on Zulip Andreas (Apr 04 2024 at 18:31):

+

I mean my idea was to try and finetune something at some point. I am still stuck at the point of "What's the right data that I need for that?" ... because if I understand it correctly, most base models haven't see a whole lot of Nix code.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 04 2024 at 18:36):

+

Yup

+ + + + +

view this post on Zulip Andreas (Apr 04 2024 at 19:12):

+

Getting back to the issue at hand: is there a good way passing an externally defined config file to the flake that would specify the models I would want to use? Otherwise I'd say it'll be nice to expose that list of models directly in flake.nix somehow.

+ + + + +

view this post on Zulip Andreas (Apr 04 2024 at 19:13):

+

(I will be trying out the continue.dev extension in VSCode a bit more with this local A.I. and deepseek-coder:1.3b-instruct. So far it performs quite okay.)

+ + + + +

view this post on Zulip Shivaraj B H (Apr 05 2024 at 11:36):

+

Andreas said:

+
+

Getting back to the issue at hand: is there a good way passing an externally defined config file to the flake that would specify the models I would want to use? Otherwise I'd say it'll be nice to expose that list of models directly in flake.nix somehow.

+
+

Nothing that comes to my mind right of the top, will give some thought to it over the weekend

+ + + + +

view this post on Zulip Andreas (Apr 05 2024 at 11:41):

+

it just came up because with me not maintaining a fork of your repo, everytime I do git pull it obviously annoys me because of changes I made myself to the files. So how about reading the config of local network config and models from a TOML or YAML file that the user would have to create on his end and that is in .gitignore? You might provide a template in the repo for the user to adopt to their use case.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 05 2024 at 11:45):

+

Andreas said:

+
+

it just came up because with me not maintaining a fork of your repo, everytime I do git pull it obviously annoys me because of changes I made myself to the files. So how about reading the config of local network config and models from a TOML or YAML file that the user would have to create on his end and that is in .gitignore? You might provide a template in the repo for the user to adopt to their use case.

+
+

Yup, that makes sense

+ + + + +

view this post on Zulip Shivaraj B H (Apr 08 2024 at 11:28):

+

macOS support added: https://github.com/shivaraj-bh/ollama-flake/pull/3

+

Next steps:

+
    +
  • Expose a processComposeModule for @Andreas to use ollama-flake without having to clone and pull my repo all the time (I will also include example directory for how to use the module)
  • +
  • Add CI
  • +
+ + + + +

view this post on Zulip Andreas (Apr 08 2024 at 11:42):

+

Awesome!

+ + + + +

view this post on Zulip Andreas (Apr 08 2024 at 11:42):

+

And I will bet on others being thankful for that possibility as well

+ + + + +

view this post on Zulip Srid (Apr 09 2024 at 06:02):

+

Is this expected? (on macOS, after downloading the model for about 30 mins)

+

image.png

+
+ + + + +

view this post on Zulip Shivaraj B H (Apr 09 2024 at 06:03):

+

I have to debug this on macOS, usually a restart of that process and then the open-browser process solves it

+ + + + +

view this post on Zulip Srid (Apr 09 2024 at 06:03):

+

Alright, just a temporary issue. Re-running it worked

+ + + + +

view this post on Zulip Shivaraj B H (Apr 09 2024 at 06:04):

+

I think it has to do with the initial_delay_seconds of the readiness_probe because uvicorn takes a while to start

+ + + + +

view this post on Zulip Shivaraj B H (Apr 09 2024 at 06:09):

+

And also about the model pull taking long time, I am thinking of creating something like dockerPullImage for ollama models and serving it as a cache. I have ovserved that ollama pull starts off with a good bandwidth and it just goes to kbps in the end.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 09 2024 at 06:11):

+

In this way, I can also run flake checks, without requiring internet connection in sandbox mode

+ + + + +

view this post on Zulip Shivaraj B H (Apr 09 2024 at 17:50):

+

@Andreas ollama-flake now exports a processComposeModule, see the examples: https://github.com/shivaraj-bh/ollama-flake/tree/main/example

+ + + + +

view this post on Zulip Shivaraj B H (Apr 09 2024 at 17:51):

+

You can use them in any of your flake now

+ + + + +

view this post on Zulip Shivaraj B H (Apr 09 2024 at 17:52):

+

I will be updating the README with relevant details too

+ + + + +

view this post on Zulip Shivaraj B H (Apr 09 2024 at 17:57):

+

I want to make some design changes, like decoupling the open-webui service from ollama itself, allowing to configure them separately. I will deprioritise this for now, as I see a feature like dockerTools.pullImage for ollama models being more useful, I will research a bit on that next.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 09 2024 at 17:58):

+
+

like decoupling the open-webui service from ollama itself

+
+

This will also allow configuring multiple frontends in the future, enable and disable them as you like.

+ + + + +

view this post on Zulip Andreas (Apr 09 2024 at 18:13):

+

awesome, looking very nice! I will give it a try tomorrow maybe or a but later...

+ + + + +

view this post on Zulip Shivaraj B H (Apr 10 2024 at 08:19):

+

Got my PR merged to open-webui: https://github.com/open-webui/open-webui/pull/1472

+

This has helped in packaging the frontend and backend in one single derivation.

+

Earlier I had to do a lot of hacky stuff to workaround this:
+Screenshot-2024-04-10-at-1.48.04PM.png

+
+ + + + +

view this post on Zulip Shivaraj B H (Apr 10 2024 at 08:19):

+

Now it looks clean:
+Screenshot-2024-04-10-at-1.48.46PM.png

+
+ + + + +

view this post on Zulip Shivaraj B H (Apr 10 2024 at 08:24):

+

I will resume work on ollama-flake tonight, will solve some juspay/nix-health issues now.

+ + + + +

view this post on Zulip Andreas (Apr 10 2024 at 09:22):

+

Beautiful! I have a feeling this will be the best ollama flake ever, period... once people know about it, that is. Maybe after it has good usability, you could post it somewhere to create publicity?

+ + + + +

view this post on Zulip Shivaraj B H (Apr 19 2024 at 14:15):

+

So, I am back after a quick break. Before I left, I tried to create a derivation that would pull the model and cache it in /nix/store, just like dockerTools.pullImage does, but with docker images. Unfortunately, there is a blocker for this: https://github.com/ollama/ollama/issues/3369.

+

I will get back to this, once that issue is resolved (I tried to implement it for a bit, but it isn’t that straightforward). Looking forward to that.

+

For now, I will decouple the frontend service (open-webui) from the ollama backend service. Maybe also add another frontend service to it (to show how easily swap-able it can be), make a 0.1.0 release and announce it.

+ + + + +

view this post on Zulip Andreas (Apr 19 2024 at 17:44):

+

it should be swap-able to some extent. Ollama has a long list of possible frontend service irrc. I am not sure that storing models in the nix store is a great strategy, as these can be fairly big, and you might want to add some from the ollama cli after the fact. Also you certainly would not want your 30 GB model to be garbage collected while still using it from time to time, so you'd have to prevent that somehow. In docker the image might be stored in the nix store without issues as it is immutable once built. But docker volumes and their content would not be, I suppose.

+

idk if I am right though, let me know what you think.

+ + + + +

view this post on Zulip Andreas (Apr 19 2024 at 18:23):

+

also: how does this work right now? I kinda don't see the command and just checking nix flake show and nix flake info and looking into flake.nix didn't really tell me how to run the rocm service right now... I am in a LXC container right now, running some Debian 12 which doesn't want to give me podman on ZFS sadly, and I was trying to get this to work.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 20 2024 at 16:51):

+

Andreas said:

+
+

it should be swap-able to some extent. Ollama has a long list of possible frontend service irrc. I am not sure that storing models in the nix store is a great strategy, as these can be fairly big, and you might want to add some from the ollama cli after the fact. Also you certainly would not want your 30 GB model to be garbage collected while still using it from time to time, so you'd have to prevent that somehow. In docker the image might be stored in the nix store without issues as it is immutable once built. But docker volumes and their content would not be, I suppose.

+

idk if I am right though, let me know what you think.

+
+

You might be right, I haven’t fully evaluated this idea yet. Anyways, can’t do much until the issue I linked above from ollama is open.

+ + + + +

view this post on Zulip Shivaraj B H (Apr 20 2024 at 16:52):

+

Andreas said:

+
+

also: how does this work right now? I kinda don't see the command and just checking nix flake show and nix flake info and looking into flake.nix didn't really tell me how to run the rocm service right now... I am in a LXC container right now, running some Debian 12 which doesn't want to give me podman on ZFS sadly, and I was trying to get this to work.

+
+

I have updated the README now, you can use the flake template. For you, it will look like:

+
mkdir my-ollama-flake && cd ./my-ollama-flake
+nix flake init -t github:shivaraj-bh/ollama-flake#rocm
+nix run
+
+ + + + +

view this post on Zulip Shivaraj B H (Apr 20 2024 at 16:53):

+

Or if you already have an existing flake where you would like to integrate this into, you can look at the examples and grab the necessary pieces

+ + + + +

view this post on Zulip Shivaraj B H (Apr 20 2024 at 17:18):

+

I decided to not depend on services-flake in ollama-flake (yet to update README). I was unnecessarily keeping only the ollama service in the former and rest everything in the latter. let’s keep it simple! I have decided to bundle everything related to ollama in this single repository (from the server, to frontends, also the CLI clients and so on).

+

Aside, I do have some ambitious plans for ollama-flake in the future, one of which being:

+

Provide a just generate-doc <service> command in services-flake. This command will run a process-compose app that will start the ollama server (configured by ollama-flake), run a CLI client (gotta find something like smartcat for ollama), provide the context of docs of other services and the tests for <service> and out comes the doc for <service>.

+

Let’s see how this idea fares

+ + + + +

view this post on Zulip Andreas (Apr 20 2024 at 17:27):

+

So if I get this correctly you want to write tests and docs in an automated fashion?

+

What would be the input of <service>? Some git repo with an existing codebase?

+ + + + +

view this post on Zulip Shivaraj B H (Apr 20 2024 at 17:29):

+

Yes, at the moment focused only on docs. <service> here could be one of many that we support in services-flake. For example, Postgres or MySQL or Redis and so on. We do have docs for Postgres, but not for MySQL and many other services.

+ + + + +

view this post on Zulip Andreas (Apr 21 2024 at 10:59):

+

Alright... one thing I noticed that confused me is this: your flake is now not really a flake for providing ollama, but a set of flake templates for providing ollama. If this is to be permanent, maybe the repo should be renamed again?

+ + + + +

view this post on Zulip Shivaraj B H (Apr 22 2024 at 06:12):

+

There are other repos that follow the same approach of providing flake-templates/flake-module, like services-flake, rust-flake, just-flake. I just went with the same naming convention. What do you think will be more appropriate?

+ + + + +

view this post on Zulip Srid (Apr 28 2024 at 04:56):

+

FYI

+

https://discourse.nixos.org/t/ollama-cant-find-libstdc-so-6/44305

+ + + + +

view this post on Zulip Shivaraj B H (Apr 28 2024 at 05:20):

+

I doubt he is using the Ollama package from nixpkgs, otherwise this shouldn’t occur.

+ + + + +

view this post on Zulip Srid (Apr 28 2024 at 05:21):

+

Aside: TIL that NixOS has a service for ollama:

+

https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/misc/ollama.nix

+ + + + +

view this post on Zulip Shivaraj B H (Apr 28 2024 at 05:39):

+

Yes, it just starts the server. Pulling the model is a manual process

+ + + + +

view this post on Zulip Srid (Apr 29 2024 at 08:18):

+

Ollama v0.1.33 with Llama 3, Phi 3, and Qwen 110B

+

https://news.ycombinator.com/item?id=40191723

+ + + + +

view this post on Zulip Andreas (May 02 2024 at 16:52):

+

yeah I need to test ollama 0.1.33 actually

+ + + + +

view this post on Zulip Srid (May 16 2024 at 05:31):

+

Looks like private-gpt uses ollama

+ + + + +

view this post on Zulip Srid (May 16 2024 at 05:32):

+

It'd be interesting to be able to nix run it, and feed it local documents for querying.

+

The nixpkgs PR has a module that is NixOS only, obviously.

+ + + + +

view this post on Zulip Shivaraj B H (May 16 2024 at 05:52):

+

This is cool, I was looking to add one more UI before I announce. This is a good candidate

+ + + + +

view this post on Zulip Shivaraj B H (May 21 2024 at 20:25):

+

There is a package request for open-webui in nixpkgs, someone just referenced to what I have packaged in ollama-flake: https://github.com/NixOS/nixpkgs/issues/309567#issuecomment-2105940033

+

If a PR gets merged in nixpkgs for the above issue, we can switch over to that.

+ + + + +

view this post on Zulip Shivaraj B H (May 22 2024 at 09:01):

+

Nice to see features getting added to nixpkgs inspired by ollama-flake: https://github.com/NixOS/nixpkgs/pull/313606

+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 16:47):

+

Screenshot-2024-05-25-at-10.15.52PM.png

+

private-gpt in ollama-flake! I will share the nix command for you to try out in a bit, I am yet to push the commits.

+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 16:49):

+

In the screenshot you are seeing llama3:8b querying on https://nixos.asia/en/blog/replacing-docker-compose

+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 17:21):

+

There you go:

+
nix run "github:shivaraj-bh/ollama-flake/private-gpt?dir=example/private-gpt” --refresh
+
+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 17:24):

+

works on Linux and macOS

+ + + + +

view this post on Zulip Srid (May 25 2024 at 17:24):

+

Trying it out ...

+

Should be --refresh not -refresh.

+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 17:24):

+

Thanks, updated

+ + + + +

view this post on Zulip Srid (May 25 2024 at 17:25):

+

And should be next to nix, not at the end

+ + + + +

view this post on Zulip Srid (May 25 2024 at 17:25):

+

image.png

+
+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 17:25):

+
+

And should be next to nix, not at the end

+
+

Seems to work even at the end

+ + + + +

view this post on Zulip Srid (May 25 2024 at 17:26):

+

s//"/g

+ + + + +

view this post on Zulip Srid (May 25 2024 at 17:26):

+

Is the readiness check fail of concern here?

+

image.png

+
+ + + + +

view this post on Zulip Srid (May 25 2024 at 17:27):

+

Alright, what should I do now? It is running.

+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 17:27):

+

readiness thing happens on macOS, I believe you remember it happened with open-webui too

+ + + + +

view this post on Zulip Srid (May 25 2024 at 17:27):

+

Srid said:

+
+

Is the readiness check fail of concern here?

+

image.png

+
+

Exit code -1, incidentally.

+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 17:27):

+

I need to fix that, for now restarting the process works

+ + + + +

view this post on Zulip Srid (May 25 2024 at 17:28):

+

Okay, I restarted it, now what?

+

image.png

+
+ + + + +

view this post on Zulip Srid (May 25 2024 at 17:28):

+

I expected it to automatically open something in my browser, TBH

+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 17:29):

+

the browser is available at 8001 port, I need to add the open-browser process to this

+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 17:29):

+

Its a TODO

+ + + + +

view this post on Zulip Srid (May 25 2024 at 17:29):

+

Yea, that would be helpful - especially if it is cross-platform (xdg-open vs open?)

+ + + + +

view this post on Zulip Srid (May 25 2024 at 17:29):

+

So there are these two things to address before we have nix run ... just work?

+ + + + +

view this post on Zulip Andreas (May 25 2024 at 17:30):

+

is this supposed to run on AMD / ROCm as well? I might try later...

+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 17:30):

+
+

Yea, that would be helpful - especially if it is cross-platform (xdg-open vs open?)

+
+

open-webui already has this, I need to generalise it: https://github.com/shivaraj-bh/ollama-flake/blob/b61859956129b63fc6e2c8ad1ab4c8d13cc6cc96/services/open-webui.nix#L87-L97

+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 17:30):

+
+

is this supposed to run on AMD / ROCm as well? I might try later…

+
+

Yes

+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 17:31):

+

Srid said:

+
+

s///g

+
+

zulip does something with the text while copy pasting, which changed the quotation and also the “—“ became “-“

+

Edit: I can’t reproduce, maybe it was something else.

+ + + + +

view this post on Zulip Srid (May 25 2024 at 17:37):

+

Uploaded it an Ikea invoice,

+

image.png

+
+ + + + +

view this post on Zulip Srid (May 25 2024 at 17:37):

+

There's a broken image link, though.

+

Pointing to http://localhost:8001/file=/Users/srid/code/the-actualism-way/private_gpt/ui/avatar-bot.ico

+

(/Users/srid/code/the-actualism-way/ is the $PWD)

+ + + + +

view this post on Zulip Srid (May 25 2024 at 17:38):

+

When I open that link, the text response is:

+
{"detail":"File not allowed: /Users/srid/code/the-actualism-way/private_gpt/ui/avatar-bot.ico."}
+
+ + + + +

view this post on Zulip Srid (May 25 2024 at 17:38):

+

It is missing the ./data/ parent directory.

+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 17:38):

+

Noted, 3 things to fix then!

+ + + + +

view this post on Zulip Srid (May 25 2024 at 17:39):

+

But I can't find the .ico file in the ./data directory. So 4th thing?

+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 17:39):

+

It is probably in the private-gpt’s source, might have to copy it from there.

+

Yes, it is: https://github.com/zylon-ai/private-gpt/blob/main/private_gpt/ui/avatar-bot.ico

+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 17:41):

+
+

might have to copy it from there.

+
+

Or just point it to the /nix/store.. path

+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 18:00):

+
+

Noted, 3 things to fix then!

+
+

Fixed one of them: https://github.com/shivaraj-bh/ollama-flake/commit/1c19aadfbb975b2f16f05163322b677d13201760

+

Now the browser should open as soon as private-gpt is healthy

+ + + + +

view this post on Zulip Srid (May 25 2024 at 18:04):

+

Uploading https://www.foo.be/docs-free/social-architecture/book.pdf

+

Took maybe 30 seconds to process. But the results are underwhelming:

+

image.png

+
+ + + + +

view this post on Zulip Srid (May 25 2024 at 18:05):

+

Also, must it always create $PWD/data? Why not ~/.ollama-flake/data?

+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 18:05):

+

I think, that’s a better default, we can reuse the pre-loaded models

+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 18:07):

+
+

Took maybe 30 seconds to process. But the results are underwhelming:

+
+

I am yet to play around with larger documents. Works fine with smaller one’s. I have tried one with 2000-3000 words.

+ + + + +

view this post on Zulip Srid (May 25 2024 at 19:19):

+

This thing creates a tiktoken_cache directory in $PWD for some reason.

+ + + + +

view this post on Zulip Andreas (May 25 2024 at 19:22):

+

I played a little with some RAG stuff in the open webui, and it was underwhelming as well. There must be some kind of better approach I haven't yet figured out. Maybe we should ask some other people around here who might know more?

+ + + + +

view this post on Zulip Andreas (May 25 2024 at 19:23):

+

At least larger books didn't really work at all. But maybe having smaller documents is somewhat important.

+ + + + +

view this post on Zulip Shivaraj B H (May 31 2024 at 20:47):

+

upstreaming open-webui to nixpkgs: https://github.com/NixOS/nixpkgs/pull/316248

+ + + + +

view this post on Zulip Andreas (Jun 01 2024 at 07:00):

+

Very nice!

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/426237-nixify-llm/topic/private-gpt.html b/stream/426237-nixify-llm/topic/private-gpt.html new file mode 100644 index 00000000000..87751230493 --- /dev/null +++ b/stream/426237-nixify-llm/topic/private-gpt.html @@ -0,0 +1,50 @@ + +private-gpt · nixify-llm · Zulip Chat Archive +

Stream: nixify-llm

+

Topic: private-gpt

+ +
+ + + + + + +

view this post on Zulip Srid (May 16 2024 at 05:30):

+

https://github.com/NixOS/nixpkgs/pull/305586

+

https://github.com/zylon-ai/private-gpt

+
+ + + + +

view this post on Zulip Srid (May 16 2024 at 05:33):

+

Oops, fails to build on macOS:

+

image.png

+
+ + + + +

view this post on Zulip Andreas (May 16 2024 at 08:04):

+

yeah interesting, open-webui, what @Shivaraj B H was using so far, also has some RAG capabilities, but I haven't really been testing them in depth. I am not clear yet which is the best way to generate the embeddings.

+

Apparently you can use ollama with specific models to get that done.

+ + + + +

view this post on Zulip Shivaraj B H (May 21 2024 at 17:40):

+

private-gpt build failure on aarch64-darwin should be solved after https://github.com/NixOS/nixpkgs/issues/313403

+

Until then, I will override in the nixpkgs flakeModule of ollama-flake to make it work on aarch64-darwin

+ + + + +

view this post on Zulip Shivaraj B H (May 25 2024 at 17:22):

+

private-gpt in ollama-flake:

+

https://nixos.zulipchat.com/#narrow/stream/426237-nixify-llm/topic/ollama/near/440651465

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/426237-nixify-llm/topic/sc.20-.20or.20how.20to.20AI.20editor.html b/stream/426237-nixify-llm/topic/sc.20-.20or.20how.20to.20AI.20editor.html new file mode 100644 index 00000000000..58d1db75266 --- /dev/null +++ b/stream/426237-nixify-llm/topic/sc.20-.20or.20how.20to.20AI.20editor.html @@ -0,0 +1,242 @@ + +sc - or how to AI editor · nixify-llm · Zulip Chat Archive +

Stream: nixify-llm

+

Topic: sc - or how to AI editor

+ +
+ + + + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 17:31):

+

https://github.com/efugier/smartcat

+

I hope this brings the power into my new helix setup.

+
+

The key to make this work seamlessly is a good default prompt that tells the model to behave like a CLI tool an not write any unwanted text like markdown formatting or explanations.

+
+ + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 17:36):

+

@Srid just for my understanding.

+

The config has:

+
[openai]  # each supported api has their own config section with api and url
+api_key = "<your_api_key>"
+default_model = "gpt-4"
+url = "https://api.openai.com/v1/chat/completions"
+
+[mistral]
+api_key_command = "pass mistral/api_key"  # you can use a command to grab the key
+default_model = "mistral-medium"
+url = "https://api.mistral.ai/v1/chat/completions"
+
+

Does this mean I could run ollama locally and use them as backend?

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 17:39):

+

ollama provides an API, but I don't know if it is sufficient to replace openai/mistral API etc.

+

https://github.com/ollama/ollama/blob/main/docs/api.md

+ + + + +

view this post on Zulip Srid (Feb 20 2024 at 17:41):

+

A new helix topic in #nix or #offtopic maybe?

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 20 2024 at 17:45):

+

https://nixos.zulipchat.com/#narrow/stream/420166-offtopic/topic/helix/near/422470027

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 20 2024 at 17:46):

+

@David Arnold I DMed you this as well, but since you opened this up I might as well drop this here:
+https://github.com/morph-labs/rift

+ + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 17:50):

+

Tim DeHerrera schrieb:

+
+

David Arnold I DMed you this as well, but since you opened this up I might as well drop this here:
+https://github.com/morph-labs/rift

+
+

This short of seems the other extreme, making the editor lsp interface the upstream: https://github.com/morph-labs/rift/tree/main/rift-engine

+

Maybe a good approach is to start out with something like smartcat for now and then transition to the "Rift Code Engine" as it matures and is being adopted.

+ + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 17:59):

+
+

Once you got that working from helix you just have to select some text you want chatgpt to interact with, press the pipe | key and write something like sc -r -c "write tests for that function" and the output of the model will be appended right after your selection in the current buffer. The openai api is a bit slow but apart from that I'm super satisfied with it!

+
+ + + + +

view this post on Zulip Tim DeHerrera (Feb 20 2024 at 18:00):

+

For now, it hasn't been a major inconvenience to just ask an LLM in browser to generate some code. I haven't even tried a more involved code assistant like co-pilot yet though, so maybe I just don't know what I'm missing :sweat_smile:

+ + + + +

view this post on Zulip Shivaraj B H (Feb 20 2024 at 18:06):

+

I like to use co-pilot for assistance, but it’s annoying when it completes things on its own, that’s a bit distracting for me. I want something like this twitter post I shared earlier: https://x.com/victortaelin/status/1753593250340856179?s=46

+

i.e auto-complete code when I ask the model to, avoids my round-trip to browser and also if it can learn from my code base as I am working on it, that will be awesome

+ + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 18:06):

+

I think Rift Code Engin on one hand (a proper LSP "extension" for AI support) and linux-y cat style are probably on the two ends of the spectrum.

+

I have seen some tutorials where you just write a code comment and then the AI does what you ask it for in the context of the current buffer.

+

That's sort of the immediacy that I think is worth a lot when living your day in a code editor.

+

But short of using VSCode and having access to the entire plugin system, it increasingly looks like smartcat is a good choice (combined with any OpanAPI compatible backend of ones liking via ollama et al).

+

I just wonder if I'm building the right mental model towards the "how to use AI in the editor" question?

+ + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 18:08):

+

Shivaraj B H schrieb:

+
+

I like to use co-pilot for assistance, but it’s annoying when it completes things on its own, that’s a bit distracting for me.

+
+

Thanks for this data point!! :handshake: Exactly what we oldies need to know that haven't gotten their hands dirty yet :smile:

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 20 2024 at 18:08):

+

I think LSP integration would be an improvment mostly because LSP tend to be aware of the entirety of the code base, it was my understanding that current code assistant are only aware of open files

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 20 2024 at 18:08):

+

Maybe it should be a proper LSP api though, instead of a standalone server

+ + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 18:09):

+
+

because LSP tend to be aware of the entirety of the code base, it was my understanding that current code assistant are only aware of open files

+
+

Yeah that's a good point. smartcat litterally only of the selection, so it probably isn't all too powerful.

+ + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 18:10):

+

I wonder what @Shivaraj B H would say of smartcat, would that fit your desired use case better or worse (because it lacks more context on the code-base/buffer)? I'll just listen to your experience and leap frog onto it :smile:

+ + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 18:12):

+

Wait!

+
+

-c, --context <CONTEXT>
+ glob pattern to given the matched files' content as context

+
+

That seems promising (and maybe just famously "good enough")?

+ + + + +

view this post on Zulip Shivaraj B H (Feb 20 2024 at 18:12):

+

I will give smartcat a try and let you know my experience

+ + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 18:14):

+

I want too, but struggling still with my key bindings in helix :smile:

+ + + + +

view this post on Zulip David Arnold (Feb 20 2024 at 18:18):

+

Here's another helix specific one: https://github.com/leona/helix-gpt it seems that it could also be combined with any openapi compatible backend.

+ + + + +

view this post on Zulip Tim DeHerrera (Feb 20 2024 at 18:20):

+

Oh nice, I haven't seen that one before, might try to wire it up

+ + + + +

view this post on Zulip Shivaraj B H (Mar 23 2024 at 19:55):

+

I was caught with other things, but I got around to trying out sc yesterday. Here’s what I think:

+
    +
  • It works nice, provided you are okay with sticking to openAI and mistral.
  • +
  • I tried understanding the code base to see how easy will it be to add support for ollama’s REST APIs, but although doable, the project looks a bit hacky imo.
  • +
  • I would like a package that is very simple, like “echo” but smart. There will be an extra argument of course, if you want to make an interaction a conversation, but that’s it. I realise that it takes much more for an LLM models results to be accurate, for which you will have to tune a bunch of model params, play around with prompts, etc. But I think this process can be automated with another process that basically learns from your conversations as you go, tuning the parameters and prompts to your style. And if something is gonna learn from my actions, it definitely not be owned by large corporations, but me, hosted at my home. So I am coming up with something interesting, will post about it soon.
  • +
+ + + + +

view this post on Zulip Shivaraj B H (Mar 23 2024 at 20:04):

+

I have already started on the last point that I mentioned, here’s some progress: https://nixos.zulipchat.com/#narrow/stream/426237-nixify-llm/topic/ollama/near/429110544

+ + + + +

view this post on Zulip Shivaraj B H (Mar 23 2024 at 20:45):

+

Also, I have written a derivation to build smartcat, dumping it here:

+
{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "smartcat";
+  version = "0.6.1";
+
+  src = fetchFromGitHub {
+    owner = "efugier";
+    repo = pname;
+    rev = version;
+    hash = "sha256-na/Yt5B3nJ0OIeJKVHeoZc+V1OUyimp7PqY7SGARc5s=";
+  };
+
+  cargoPatches = [
+    ../patches/smartcat/add-Cargo.lock.patch
+  ];
+
+  cargoHash = "sha256-ifUHWPBidLXX5f2JfIw9TdyV+pVcRVWT1LmHyLHTVds=";
+
+  meta = with lib; {
+    description = ''
+      Putting a brain behind `cat`.
+      Integrating language models in the Unix commands ecosystem through text streams.
+    '';
+    homepage = "https://github.com/efugier/smartcat";
+    license = licenses.asl20;
+    maintainers = [ ];
+  };
+}
+
+ + + + +

view this post on Zulip Shivaraj B H (Mar 23 2024 at 20:46):

+

add-Cargo.lock.patch
+You will also need this patch file

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/426237-nixify-llm/topic/stream.20events.html b/stream/426237-nixify-llm/topic/stream.20events.html new file mode 100644 index 00000000000..2c7963cf5c6 --- /dev/null +++ b/stream/426237-nixify-llm/topic/stream.20events.html @@ -0,0 +1,28 @@ + +stream events · nixify-llm · Zulip Chat Archive +

Stream: nixify-llm

+

Topic: stream events

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Feb 20 2024 at 17:21):

+

Public stream created by Shivaraj B H. Description:

+
+

Here we talk about LLM breakthroughs in the open-source community and also try to nixify them

+
+ + + + +

view this post on Zulip Notification Bot (Feb 20 2024 at 17:24):

+

Srid changed the access permissions for this stream from Public to Web-public.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/index.html b/stream/442953-cull-os/index.html new file mode 100644 index 00000000000..236eb6276f2 --- /dev/null +++ b/stream/442953-cull-os/index.html @@ -0,0 +1,33 @@ + +Zulip Chat Archive +

Stream: cull-os

+
+ +

Topics:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/topic/.E2.9C.94.20channel.20events.html b/stream/442953-cull-os/topic/.E2.9C.94.20channel.20events.html new file mode 100644 index 00000000000..646d9614bc9 --- /dev/null +++ b/stream/442953-cull-os/topic/.E2.9C.94.20channel.20events.html @@ -0,0 +1,19 @@ + +✔ channel events · cull-os · Zulip Chat Archive +

Stream: cull-os

+

Topic: ✔ channel events

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Jun 21 2024 at 20:59):

+

RGBCube has marked this topic as resolved.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/topic/Bind.20expressions.html b/stream/442953-cull-os/topic/Bind.20expressions.html new file mode 100644 index 00000000000..edc81a7fde6 --- /dev/null +++ b/stream/442953-cull-os/topic/Bind.20expressions.html @@ -0,0 +1,59 @@ + +Bind expressions · cull-os · Zulip Chat Archive +

Stream: cull-os

+

Topic: Bind expressions

+ +
+ + + + + + +

view this post on Zulip RGBCube (Jul 23 2024 at 12:21):

+

I wanted to make fix and makeScope a built in operator in my language and this is the way I'm going to do it:

+ + + + +

view this post on Zulip RGBCube (Jul 23 2024 at 12:21):

+
myident @ {
+  foo = 132;
+  bar = myident.foo;
+}
+
+ + + + +

view this post on Zulip RGBCube (Jul 23 2024 at 12:23):

+

This behaves the way you expect it to, just like fix. But you can also override the bind:

+
{
+  needsBaz = self @ { bar = self.baz; };
+} ==> {
+  bazzed = setMeta { bind = (getMeta needsBaz).bind // { baz = 123; } needsBaz;
+}
+
+ + + + +

view this post on Zulip RGBCube (Jul 23 2024 at 12:24):

+

So you can leverage this to implement anything, basically. Also the bind in foo @ { pattern, here }: here will act specially and bind to the argument instead of the lambda itself. So it is basically identical to the Nix version here.

+ + + + +

view this post on Zulip RGBCube (Jul 23 2024 at 12:27):

+

Further, when you do inputs @ { ... } ==> ..., the bind inputs will bind to the "use"d attribute set, and it will get overriden by the language itself when the "use"d attribute set gets overriden. So it will all work magically.

+ + + + +

view this post on Zulip RGBCube (Oct 26 2024 at 19:47):

+

Going to rethink the "bind can be overriden" stuff

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/topic/Content.20addressed.20dynamic.20libraries.html b/stream/442953-cull-os/topic/Content.20addressed.20dynamic.20libraries.html new file mode 100644 index 00000000000..e4f7fa66f48 --- /dev/null +++ b/stream/442953-cull-os/topic/Content.20addressed.20dynamic.20libraries.html @@ -0,0 +1,105 @@ + +Content addressed dynamic libraries · cull-os · Zulip Chat Archive +

Stream: cull-os

+

Topic: Content addressed dynamic libraries

+ +
+ + + + + + +

view this post on Zulip RGBCube (Jun 21 2024 at 20:10):

+
+

Extending ELF to link dynamic libraries via a content addressed URI

+
+

Could you elaborate? Sounds interesting.

+ + + + +

view this post on Zulip RGBCube (Jun 21 2024 at 20:12):

+

If I'm understanding correctly, if that was possible it wouldn't matter where the dynamic libraries are, as long as the dynamic linker can find them? So you wouldn't have to rebuild the whole world if you decided to use /nux/store instead of /nix/store as the path isn't referenced anywhere in the ELF

+ + + + +

view this post on Zulip RGBCube (Jun 21 2024 at 20:14):

+

It shouldn't be that much work to make it run, all that needs to work is the systems dynamic linker resolving the URI to a path on the FS. I wonder how it would affect other tools, though. Do binaries even rely on the "paths"(in this case, the uri that's served as a path) they dynamically loaded existing?

+ + + + +

view this post on Zulip Tim DeHerrera (Jun 21 2024 at 21:19):

+

It's one of my crazier ideas, but hypothetically the binaries would have no reliance on the filepath at all, and could simply load from the URI if it exists (could still fall back on a path, potentially).

+

I've thought about this a bit, may need some explicit support from the file-system as well. I've wanted to look further into it for a bit though, get a more solid plan

+ + + + +

view this post on Zulip RGBCube (Jun 21 2024 at 21:47):

+

Why would you need filesystem support? The dynamic linker could check for a prefix or a format match on the path field. Like if a library "path" starts with uri: it could treat that as a uri and find the equivalent path

+ + + + +

view this post on Zulip Tim DeHerrera (Jun 21 2024 at 22:03):

+

Maybe not for binaries, but probably for interpreted languages. I'm actually not 100% sure on that either though. There might be a clever way to avoid it

+ + + + +

view this post on Zulip Tim DeHerrera (Jun 21 2024 at 22:06):

+

I know someone gave a talk on a similar idea at nixcon maybe 2 years ago or so. Going over how one could extend ELF to suit Nix

+ + + + +

view this post on Zulip Tim DeHerrera (Jun 22 2024 at 01:12):

+

The point of the fs being aware is mostly so that files can be stored via their content URI and not have any true file path whatever, and every file exposed is just a virtual path to a hard uri, roughly speaking

+ + + + +

view this post on Zulip RGBCube (Jun 22 2024 at 13:58):

+

Ah I understand

+ + + + +

view this post on Zulip RGBCube (Jun 22 2024 at 13:58):

+

Would this be possible to implement as a kernel module? without modifying every filesystem in existence

+ + + + +

view this post on Zulip RGBCube (Jun 22 2024 at 14:00):

+

Perhaps something like /proc/$PID but for /file/$HASH (/file is up for debate, doesn't sound that good)

+ + + + +

view this post on Zulip RGBCube (Jun 22 2024 at 14:13):

+

But then that's the Nix store we're talking about. Another level of indirection doesn't sound appealing

+ + + + +

view this post on Zulip RGBCube (Jun 22 2024 at 14:32):

+

Tim DeHerrera said:

+
+

I know someone gave a talk on a similar idea at nixcon maybe 2 years ago or so. Going over how one could extend ELF to suit Nix

+
+

Do you have a link to this?

+ + + + +

view this post on Zulip Tim DeHerrera (Jun 22 2024 at 18:32):

+

I tried to find it but failed. I should be able to track it down later when I have more time though. I'll post when I do

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/topic/Convering.20Islands.20to.20Derivations.20Efficiently.html b/stream/442953-cull-os/topic/Convering.20Islands.20to.20Derivations.20Efficiently.html new file mode 100644 index 00000000000..7b67a025f0c --- /dev/null +++ b/stream/442953-cull-os/topic/Convering.20Islands.20to.20Derivations.20Efficiently.html @@ -0,0 +1,61 @@ + +Convering Islands to Derivations Efficiently · cull-os · Zulip Chat Archive +

Stream: cull-os

+

Topic: Convering Islands to Derivations Efficiently

+ +
+ + + + + + +

view this post on Zulip RGBCube (Oct 24 2024 at 16:54):

+

Converting Islands To Derivations

+

Fetching entire source trees using islands will be very inefficient. Say when we're doing:

+
packages.cargoBuild {
+  source = <github:cull-os/cab>,
+}
+
+

The build derivation will depend on the source derivation. But we don't have a derivation, we only have an island.

+

Then what will we do? We will have to fetch it all and reupload it to our realizer, as a derivation (via toDerivation).

+

This could be fixed with fixed output derivations, but specifying hashes manually is cumbersome.

+

Instead of that, the implementation of toDerivation island will output a super tiny program (ideally written in Zig with -Osmall) that fetches the island and places the contents in a fixed output derivation.

+

There is one minor issue. There is no way to do cab build --update without instructing the realizer to re-run the fetcher program with the found hash instead of expected one. This will be terrible for huge downloads.

+

The fix is to have "self-fixing" derivations where the derivation will set its own fixed hash itself. Then we can have our "updating" program set its fixed hash and exit.

+

This will be done with a fifo in the programs working directory where it will write the final hash right before exiting.

+ + + + +

view this post on Zulip RGBCube (Oct 25 2024 at 13:18):

+

Converting Islands To Derivations

+

Fetching entire source trees using islands will be very inefficient. Say when we're doing:

+
packages.cargoBuild {
+  source = <github:cull-os/cab>,
+}
+
+

The build derivation will depend on the source derivation. But we don't have a derivation, we only have an island.

+

Then what will we do? We will have to fetch it all and reupload it to our realizer, as a derivation (via toDerivation island).

+

This could be fixed with fixed output derivations, but specifying hashes manually is cumbersome.

+

Instead of that, the implementation of toDerivation island will output a derivation using a super tiny WASM file (which is shared for all builtin islands, and requires requiredRealizerFeatures = [ "wasm" ]) that fetches the island and places the contents in a fixed output derivation.

+

There is one minor issue. There is no way to do cab build --update (and fetch new islands without the flag) without instructing the realizer to re-run the fetcher program with the found hash after failing initially by running with a random one. This will be terrible for huge downloads.

+

The fix is to have "self-fixing" derivations where the derivation will set its own fixed hash itself. Then we can have our "updating" program set its fixed hash and exit.

+

This will be done with a fifo in the programs working directory where it will write the final hash in a number of formats (like our git fetcher can write the git revision at the start, before fetching and writing the Cab hash), and when each format is written the realizer has the right to terminate the derivation as it might already have it stored somewhere.

+ + + + +

view this post on Zulip RGBCube (Oct 25 2024 at 13:20):

+

(updated to say WASM, for truly system independent building)

+ + + + +

view this post on Zulip RGBCube (Oct 25 2024 at 13:21):

+

Which makes me think, does having system be something special make sense at all? Why not make it a feature in the protocol too?

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/topic/Current.20status.html b/stream/442953-cull-os/topic/Current.20status.html new file mode 100644 index 00000000000..193ffa5c691 --- /dev/null +++ b/stream/442953-cull-os/topic/Current.20status.html @@ -0,0 +1,306 @@ + +Current status · cull-os · Zulip Chat Archive +

Stream: cull-os

+

Topic: Current status

+ +
+ + + + + + +

view this post on Zulip RGBCube (Jun 21 2024 at 18:07):

+

Currently, I've only completed the tokenizer. But the general way I want to continue forward is like so:

+
    +
  • Create AST
  • +
  • Create the lazy interpreters
  • +
  • At this point, the program will be able to create files similar to Nix or Guix's .drv that specify environment variables, the builder & arguments to that builder and other derivations that this derivation depends on
  • +
+

That will be all that's done by the cab CLI tool. You will be able to import code from islands (e.g <github:cull-os/cab>) and create derivations (as well as convert islands into derivations). But you won't be able to import or inspect contents of derivations as Cab doesn't know how to build them, which is IMO a feature.

+ + + + +

view this post on Zulip Srid (Jun 21 2024 at 18:10):

+

Essentially, cull-os/cab provides its own language (not Nix) and cross-repo abstraction (not flakes) - but using the underlying .drv language, right?

+ + + + +

view this post on Zulip RGBCube (Jun 21 2024 at 18:11):

+

And then cab will invoke the configured derivation builder and copy the result to the current filesystem (if the builder is remote). The builder has to adhere to the "builder protocol"; something that I want to create and write a specification for. Unlike Nix or Guix, it will be documented and will allow for custom builders that accomplish custom needs. The specification will only require the builder to return a result matching the specified derivation, making it super flexible.

+ + + + +

view this post on Zulip Srid (Jun 21 2024 at 18:11):

+

FTR, I am able to use the tokenizer (had to use Nix shell from a different Rust project since shell.nix doesn't provide cargo and friends):

+

image.png

+
+ + + + +

view this post on Zulip Srid (Jun 21 2024 at 18:12):

+

RGBCube said:

+
+
    +
  • similar to Nix or Guix's .drv
  • +
+
+

Ah, wait, you said similar to. So nothing's shared with Nix/nixpkgs?

+ + + + +

view this post on Zulip RGBCube (Jun 21 2024 at 18:13):

+

Srid said:

+
+

Essentially, cull-os/cab provides its own language (not Nix) and cross-repo abstraction (not flakes) - but using the underlying .drv language, right?

+
+

Yes, it's essentially just a simple tool to compose derivation files (though, I do not think I will use Nix's .drv syntax or even the .drv extension)

+ + + + +

view this post on Zulip RGBCube (Jun 21 2024 at 18:14):

+

Srid said:

+
+

RGBCube said:

+
+
    +
  • similar to Nix or Guix's .drv
  • +
+
+

Ah, wait, you said similar to. So nothing's shared with Nix/nixpkgs?

+
+

Yes, I'm not planning to be compatible. What Cab essentially is is a frontend to the Builder Protocol, it creates derivation files required by the protocol and communicates with the backend (the builder server) to produce results

+ + + + +

view this post on Zulip RGBCube (Jun 21 2024 at 18:15):

+

One could even use Nix for the (currently non existent) protocol to build things, as what Nix does it also create derivation files. Like another frontend

+ + + + +

view this post on Zulip Srid (Jun 21 2024 at 18:15):

+

I'm specifically wondering if it would be possible to use (ie., import <github:NixOS/nixpkgs>) the existing packages from nixpkgs in a Cull package file.

+ + + + +

view this post on Zulip Andreas (Jun 21 2024 at 18:17):

+

I am wondering if @Tim DeHerrera might not be interested in this. Because he and I talked about about separating evaluation and builder functions of Nix, potentially distributing them somehow.

+ + + + +

view this post on Zulip RGBCube (Jun 21 2024 at 18:17):

+

That would require Cab to be compatible with Nix syntax, so no. But if Nix ever gets support for the builder protocol, it wouldn't be that hard to use Nix alongside Cab to build things on your system (with the same daemon managing both)

+ + + + +

view this post on Zulip Tim DeHerrera (Jun 21 2024 at 19:07):

+

Definitely interesting, especially the builder protocol, as that as something I've been itching to improve for years now with Nix.

+

Have begun to wonder if a full scale rearch wasn't necessary. I've had some other more outlandish ideas like extending ELF to link dynamic libs via a content addressed URI instead of a file path

+

That way, you could make the file system layer a virtual abstraction, and maybe even present the files as a regular FHS while still retaining the benefits of a Nix build.

+

In any case, I'll keep a close eye on your project, and maybe even contrib at some point if it helps. Seems like you have a solid plan so far. Bravo :clap:

+ + + + +

view this post on Zulip RGBCube (Jun 28 2024 at 12:47):

+

Almost finished the AST, the macros are done for automatic code generation

+ + + + +

view this post on Zulip RGBCube (Jun 28 2024 at 13:53):

+

I'll continue monday, I'm done

+ + + + +

view this post on Zulip RGBCube (Jul 03 2024 at 09:38):

+

AST node and token structures are done, as well as the tokenizer and stuff. Only need to create a parser that creates them, which shouldn't be more than 600 loc

+ + + + +

view this post on Zulip RGBCube (Jul 03 2024 at 09:39):

+

Also I finally understand how rowan actually works, which will help

+ + + + +

view this post on Zulip RGBCube (Jul 05 2024 at 15:33):

+

image.png

+
+ + + + +

view this post on Zulip RGBCube (Jul 05 2024 at 15:33):

+

Parsing and formatting for debug output works! Currently I haven't implemented much of the parser but the formatter is working nicely now

+ + + + +

view this post on Zulip RGBCube (Jul 05 2024 at 15:34):

+

I need to clean up a little bit, however. But that's for after the parser

+ + + + +

view this post on Zulip RGBCube (Jul 09 2024 at 17:17):

+

Found a much better way to write parsers, using chumsky. It's exactly like the megaparsec haskell library

+ + + + +

view this post on Zulip RGBCube (Jul 09 2024 at 17:18):

+

I'm going to ditch the current implementation and rewrite it all. Did I waste the last 10 days? absolutely not

+ + + + +

view this post on Zulip RGBCube (Jul 09 2024 at 19:30):

+

Actually no. I can't use chumsky because I need a lossless parser for the formatter. I'll continue doing this, it already parses pretty well

+ + + + +

view this post on Zulip RGBCube (Jul 09 2024 at 19:33):

+

Unless there's a way to do lossless parsing with chumsky... I'm so unsure right now

+ + + + +

view this post on Zulip RGBCube (Jul 11 2024 at 10:45):

+

image.png

+

IT WORKS

+ + + + +

view this post on Zulip RGBCube (Jul 11 2024 at 10:46):

+

After this, everything should be easy

+ + + + +

view this post on Zulip Tim DeHerrera (Jul 11 2024 at 17:00):

+

lol, famous last words? :sweat_smile:

+ + + + +

view this post on Zulip RGBCube (Jul 12 2024 at 11:58):

+

image.png

+
+ + + + +

view this post on Zulip RGBCube (Jul 12 2024 at 12:00):

+

image.png

+
+ + + + +

view this post on Zulip RGBCube (Jul 12 2024 at 12:00):

+

image.png
+meanwhile, nix without a recovering parser

+
+ + + + +

view this post on Zulip RGBCube (Jul 12 2024 at 12:04):

+

image.png

+
+ + + + +

view this post on Zulip Tim DeHerrera (Jul 12 2024 at 15:21):

+

very nice!

+ + + + +

view this post on Zulip RGBCube (Jul 23 2024 at 12:19):

+

Parser is 100% complete!

+ + + + +

view this post on Zulip RGBCube (Jul 23 2024 at 12:20):

+

I implemented pratt parsing & appliation today and yesterday after a long while

+ + + + +

view this post on Zulip RGBCube (Jul 23 2024 at 12:20):

+

I should update the examples to reflect the design changes I did

+ + + + +

view this post on Zulip RGBCube (Jul 25 2024 at 15:34):

+

Cleaned up a lot of parsing code, wrote a fuzzer (which optionally saves valid code to test later for regressions) and checker

+ + + + +

view this post on Zulip RGBCube (Jul 25 2024 at 15:34):

+

https://x.com/RGBCubed/status/1816471661803127214

+ + + + +

view this post on Zulip RGBCube (Jul 25 2024 at 15:34):

+

Also wrote an sexpr formatter

+ + + + +

view this post on Zulip Tim DeHerrera (Sep 18 2024 at 19:32):

+

How goes it? Are you still actively developing this? Just curious because I have been building some things that may be useful for your (or any Nix like) system, but act as a more general format for them to leverage, rather than tightly coupling with a particular tool. I'd be interested to see if you'd find it useful here.

+ + + + +

view this post on Zulip RGBCube (Oct 07 2024 at 07:57):

+

I forgot to check this chat, but no I haven't had the chance to develop it further because of school. I have refined the design and direction I want to take the language and builder protocol though

+ + + + +

view this post on Zulip RGBCube (Oct 07 2024 at 07:59):

+

What have you created? I'm not really looking to use an older format because I want to use Cap'n Proto for this, and a single Cap'n file can be leveraged by lots of languages so it's a de facto standard

+ + + + +

view this post on Zulip Andreas (Oct 10 2024 at 19:07):

+
+

use Cap'n Proto for this

+
+

Believe it or not, we've I've had some discussions with Tim on that one as well :grinning_face_with_smiling_eyes: did you already build something with that?

+ + + + +

view this post on Zulip RGBCube (Oct 11 2024 at 13:18):

+

Nope, but it does seem pretty useful for creating APIs that can be used across multiple languages (thanks to the community) while enabling you to trivially extend the protocol

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/topic/Derivation.20storing.20service.html b/stream/442953-cull-os/topic/Derivation.20storing.20service.html new file mode 100644 index 00000000000..40e4b3cfed0 --- /dev/null +++ b/stream/442953-cull-os/topic/Derivation.20storing.20service.html @@ -0,0 +1,315 @@ + +Derivation storing service · cull-os · Zulip Chat Archive +

Stream: cull-os

+

Topic: Derivation storing service

+ +
+ + + + + + +

view this post on Zulip RGBCube (Oct 07 2024 at 08:22):

+

I've been thinking about this for a bit, but what if we had a thing to store all versions of a certain derivation and its outputs, while making it possible for people to query them with names and versions? This is not so different from the current nix package management commands with added version storage.

+

But what I had in mind was letting people patch these derivations. By default, if you want to install a package X, which depends on package Y@3.2, but you have Y version 3.3 on your system, the tool could trivially pull X, rename it to a different drv path (calculated with the new Y version) and patch it. This would be done for any backwards compatible version upgrade, or hash mismatch for when the versions match

+ + + + +

view this post on Zulip RGBCube (Oct 07 2024 at 08:23):

+

This would make the tool useful for casual efficient package management

+ + + + +

view this post on Zulip RGBCube (Oct 07 2024 at 13:27):

+

This would be a completely different thing from Cab (built on top of it; very optional) and I'm thinking of calling it the "Cab Package Registry" (cli tool would be aptly named cpr)

+ + + + +

view this post on Zulip Andreas (Oct 10 2024 at 19:08):

+

I think Tim might have some comments on that one as well. I'll let him know so that he gets back to you.

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 10 2024 at 20:15):

+

I have already spent some months working on just such a format, and I think you may appreciate some of its novelties. So far I already have the publishing code and a convenient URI syntax for addressing them. I can open up the codebase to you if you'd like to take a look. Also happen to maybe introduce the concept in an meeting if you prefer

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 10 2024 at 20:17):

+

However, I'm not sure if what I am working on is exactly what you are looking for here. What I am working on is a sort of decentralized publishing mechanism for Nix (or Nix like, could easily work with Cab) code that would alleviate the growing burden of fetching an ever growing nixpkgs n times, along with some other nice properties, such as efficient and decentralized querying, and I also have plans for a full version resolution scheme for efficient dependency management

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 10 2024 at 20:20):

+

We also have a private mattermost instance for discussing the project and some other random stuff as well

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 10 2024 at 20:26):

+

One thing I am particularly proud of is a novel identifcation format which allows us to track a large number of these "atoms" as I call them across repositories without collisions, which will be extremely useful for efficiently caching them and returning results without any evaluation necessary (assuming its been cached).

+

Perhaps this will give you a hint:
+https://github.com/Byron/gitoxide/pull/1610

+ + + + +

view this post on Zulip RGBCube (Oct 11 2024 at 13:29):

+

This is interesting. Not sure what to make of the PR, but the concept I had in mind was fundamentally incompatible with using the cached derivations in Cab expressions, because every derivation must be produced by an expression itself, which the storing service does not provide.

+ + + + +

view this post on Zulip RGBCube (Oct 11 2024 at 13:31):

+

Aside: I love the use of Result as Either and Ok, Err as named variants, will definitely use that in the future.

+ + + + +

view this post on Zulip RGBCube (Oct 11 2024 at 13:33):

+

How do you "cache" the Nix expressions? That's the part I don't fully understand, as my understanding is that Nix always needs Nix code to evaluate derivations. Sure, primitive versions of caching is possible but how do you mitigate fetching nixpkgs _n_ times?

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 11 2024 at 15:46):

+

Well my approach is a fundamental shift in how we would run a Nix evaluation, based on 10 years of being annoyed at how costly evaluation can be sometimes, and the experience I gained in that time from Nix and software engineering in general.

+

So far includes two components, a novel Nix module system that actually provides sensible boundaries for Nix code for not much cost (it is actually insanely fast compared to the NixOS module system). This piece makes the Nix code bounded and trvially statically analyzeable. It perpusefully bucks the trend of depending on nixpkgs and being super complex and heavy. The core of it took me two hours to write and I have kept it purposefully small since. Besides performance and predictability, another nice feature is trivial tracing (unlike the monsterous traces produced by the nixos module system). There is still some work to do to integrate it more cleanly with my CLI, and I am almost at that stage.

+

As for the Rust based cli, there are a few core planned features but right now all I really have (although its pretty solid at this point) is a publish subcommand. This CLI is not meant to be just another Nix wrapper, but instead, a higher level frontend to a Nix like build service (I envision a Guix integration at some point in the future as well). Publishing is somewhat abstracted to allow different storage backends but the inaugural implementation, and probably source of truth for all other backends, is an implementation in pure git.

+

I use gitoxide to do some non-standard git things in a very efficient and secure manner. Essentially I detect my format (based on a unique file-extension), and create a detached (orphaned) history containing just that "atom" as I call it. Similar to a crate, it contains a manifest and some source files (in a self-contained directory). Since some usecases in Nix may be aided by shared static config, the source dir is optional.

+

These are then versioned (a semver is required in the manifest) and stored in unique gitrefs under a custom prefix. The contents are simply new git trees (references to already existing blobs). There is nowhere in the code that writes new blobs anywhere, so this essentially ensures that there is no way to "corrupt" the files during publishing, and also makes the format extremely light on gits store, since tree objects are akin to mere references, they are cheap to create, store and crucially, fetch.

+

I store some additional, non-standard, meta-data in the commit header, such as the commit from which the atom originates, and commit it using a constant timestamp and author information, making the atom commit fully reproducible. Not implemented yet, but I plan to also allow for optionally signing the atom commit with a tag object. This way one can short circuit manual verification if they trust the key, but even so, manually verifying the contents of an atom is trivial.

+

A ref pointing to the original source commit is also made in the atom's ref prefix, so that as long as an atom exists, so to will the source it came from. Verifying is as trivial as pulling it and checking the objectid of the source tree and manifest blob, if you are ever in doubt. You might be wondering "why bother"? I was trying to think of a system that could be incrementally adopted in a repo as large as nixpkgs, which would also make it more efficient to pull different packages from various points in history (different versions) without having to grab the entire nixpkgs tree n times, which is a persistent, and growing burden, that flakes actually made far worse.

+

I am close to ready to start working on a full blown version resolver that resolves version constraints for these atom's across repositories, and produces a truly minimal set of dependencies (much unlike our friend the flake), directly from source while also remaining extremely cheap to fetch and totally self-contained in git. The versions themselves are contained in the refspec, so resolving the atoms a repository has does not require fetching any of its contents, which is why I spent a lot of time ensuring I do not break this property when writing the publishing code.

+

I envision a 3rd critical piece which we have only been brainstorming, and only have a skeleton repo for so far, but it would essentially serve as a much more efficient backend for Nix like evaluators, and serve to decouple evaluation from the caller (our cli binary). This is where my atom id concept (implemented during publishing) comes in to bolster caching. An atom contains a unicode id in the manifest, however, in order to make its identity fully unambiguos and avoid an annoying global namespace (like rust crates suffer from), I also include the concept of a "root" which is used as a key input for a blake3 sum over the atom unicode id.

+

This "root" key, in the git implementation I just described, is the oldest, parentless commit in the repositories history (the origin of the repository). I decided on this as I was trying to think of a way to unambiguously identify a git repo, without replying on emphermal information like remote names, etc (since those can change but you still have the same code and history underneath).

+

If the very root of your history changes, you very clearly no longer have quite the same codebase, so to me it seemed like the perfect identifier. This also makes the atom format decentralized, just as git, since you can just publish them to as many remotes as you like. In any case, this ID will be used extensively to track information in this backend we are still designing. We plan to use capt-proto as the exchange format to make it extremely efficient to offload builds and evaluations to multiple instances.

+

Everything this backend builds or evals will be tracked, by atomid and then also by derivation information which already exists, creating a trivial mapping to the final artifact (if it exists). This is what will (once fully implemented) allow a user to simply call for a package and instantly start to download it, avoiding evaluation entirely (if it was already built).

+

I arrived at all this not to try to replace or even compete with Nix, but through my observation after all these years that Nix is actually quite good as a low-level build tool. It is a not a high level piece, and we shouldn't try to make it so (flakes), as it is fundamentally working at a different level of abstraction. Users simply don't care about derivations, as useful as they are. Everybody does already know what a version is though, and it is an abstraction we have sort of lost in Nix, pinning everything exactly. This model tries to essentially reintroduce it in a principled manner, while retaining the benefits of Nix and mitgating many of its pains.

+

So again, this is a backend agnostic system envisioned to provide a proper, user (and developer) level abstraction which makes working with the low-level concept of derivations a breeze, by abstracting the nuisance, creating clean boundaries, reducing reliance on Nix code outright (I envision a plugin system for the cli to generate inputs), and only use it strictly as the DSL it was designed to be, and not the monsterous and growing beast it has become a la the module system, etc.

+

None of the pieces I have so far are tied to Nix in any way, and that would be an indication of a boundary violation. It should remain abstract enough to be useful for any Nix like tool (and perhaps future usecases I haven't envisioned). In any case, we are going to be going public soon.

+

If I could give a high-level principle that has motivated this whole thing it would be something like, "nothing is cheaper than static". If you keep as much as possible about the build statically knowable (the manifest, the refs, the atomids in the backend, the evaluation and build history) you don't have to worry about some eval taking an indeterminate amount of time in between you and the thing you want to use, at least not more than once (for the inital build).

+

Sorry for the novel, but its hard to explain the plan without all the pieces :joy:

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 11 2024 at 15:51):

+

We plan to also release a whitepaper when we go public, so that I cam formalize all the novel pieces and make it clear our direction

+ + + + +

view this post on Zulip Srid (Oct 11 2024 at 16:02):

+

That’s a pretty good introduction actually

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 11 2024 at 16:03):

+

haha yeah I was just thinking I can maybe reuse this somewhere

+ + + + +

view this post on Zulip Srid (Oct 11 2024 at 16:19):

+

Milestones would also be good to see. In particular, I want to see at what point I can replace flakes+nixpkgs use in real-world projects (while retaining same functionality).

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 11 2024 at 16:23):

+

Yep, that's what comes next now that the format is stable and the code for it is properly tested. Next piece is integrating my novel Nix module system with the atom format produced by the cli, which should be fairly simple, I am really only missing one piece there that I already have a plan for.

+

At that point it should be usable, although dependencies would have to be wired up manually, which is a pain. When it would be a truly nobrainer replacement for flakes is what comes after, I will start working on the resolver right after that, and once that's done, I can't imagine any reason why you would want a "flake" again at that point, even without the backend implemented. The resolver is a bit of a technical challenge, but there are some good libraries in the Rust ecosystem to lesson the burden somewhat.

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 11 2024 at 16:26):

+

Its also worth noting that I take abstraction and boundaries quite seriously after paying the price for over a decade of not having them respected. So my Nix module system is independantly useful inside of a flake if you really wanted to use it, just to help you organize your code.

+ + + + +

view this post on Zulip RGBCube (Oct 11 2024 at 18:30):

+

For the resolver: https://lib.rs/pubgrub
+For the standard: Have you looked into how https://radicle.xyz works?

+ + + + +

view this post on Zulip RGBCube (Oct 11 2024 at 18:34):

+

I haven't fully understood the concept but it sounds really similar to how Radicle stores data, at least in the root level. Sharing that could simplify things a ton (and might even remove the need to explicitly store those files when interacting with a Radicle repository). Could you show me the codebase / practical examples on how the tool is used?

+ + + + +

view this post on Zulip RGBCube (Oct 11 2024 at 18:34):

+

Also sorry for the late reply, I don't get Zulip notifications for some reason

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 11 2024 at 20:08):

+

Radicle is more of a blockchain thing right? I am aware of it, tested it years ago. I just don't want any exeternal dependencies outside of git. We also talked about how Radicle is a bit redundant just recently, given that git is already decentralized by nature (even if it isn't used that way). I don't know enough about its architecture beyond that to know if there is cross-over though.

+

I have seen pubgrub as well. I am leaning toward resolvo though, at this point. Haven't started though, so it could change. No worries though, no rush

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 11 2024 at 20:08):

+

but yeah, I can open the codebase to you. As far as practical examples, that is where I am at now, trying to actually take the format that I have somewhat stabilized now, and put it to actual use

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 11 2024 at 20:09):

+

but you can use it to publish anything in the format right now, just need to put in some of the nix pieces to make a more "full demo". Also what is your GH handle, I'll add you to the repos

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 11 2024 at 20:15):

+

Perhaps the thing to emphasize is the "orphaned" and truncated history. And atom only contains the files pertinent to itself, with nothing else from the repo. Also has no history so there is no "fetching the entire damn history" for tools that don't know or care was a shallow clone is.

+

So with that, you could reference thousands of different package versions across nixpkgs (even if it stays a mono-repo) and never have to fetch the entire tree, only the data pertinent to your actual build (or whatever else you have, deployment, config, etc, etc)

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 11 2024 at 20:39):

+

you could maybe think of it as a "view" or "slice" into a larger history

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 11 2024 at 20:42):

+

I should add, one that is static an immutable (preproducible)

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 11 2024 at 21:14):

+

actually one thing I do have implemented already is a more general replacement for flake uris. One that is extensible (one can configure any url shortener they like). So you could do something like:
+my-repo::my-atom@^1 and the cli will look in your config file for an "alias" called my-repo and resolve it to whatever you have set, say example.com/work-repo.git. You can also add a fragment after like flake uri:
+gh:owner/repo::atom, etc, etc

+

It took some pains, but its fairly robust and I got some good tests for it

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 11 2024 at 21:29):

+

found your github, gave you read:
+https://github.com/ekala-project/eka
+https://github.com/ekala-project/atom

+

eka is the Rust cli, atom the Nix module system I've been talking about. I made some effort to document the latter, I have a wip branch with some higher level docs as well, but still early. eka is not very well documented at all, however I did just go through and ensure the atom crate is extensivvely documented in code at least, just not much higher level doc outside the clap cli help messages (which are hopefully helpful though)

+

Gonna start integrating the two right now actually, so there should be more cohesion between the two soonish

+ + + + +

view this post on Zulip RGBCube (Oct 12 2024 at 04:51):

+

Oh I get it now!

+ + + + +

view this post on Zulip RGBCube (Oct 12 2024 at 04:53):

+

By limiting the allowed operations of the module system (no import) you can trivially track changes & re-eval only that subset of the tree to re-record the effects it produces

+ + + + +

view this post on Zulip RGBCube (Oct 12 2024 at 04:54):

+

And this thing is trivially applicable to package evaluation as well, as the client can just assume that the atoms stored in each "branch"(?) are up to date. Updating them is the job of the author, after all

+ + + + +

view this post on Zulip RGBCube (Oct 12 2024 at 04:56):

+

And since if you don't clean your atom history up, you get ever "derivation" that has ever existed stored in your git repository as atoms. Aha

+ + + + +

view this post on Zulip RGBCube (Oct 12 2024 at 04:58):

+

But how do you traverse those headless atoms to find the version 3 of let's say root.foo? Assuming that the current version is newer and that older version is never referenced anywhere in the graph that touches master

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 12 2024 at 14:23):

+

probably should have showed you this as well:

+
❯ g ls-remote
+From ssh://git@github.com/ekala-project/eka
+50378b2dace5628160724e9e6e855bc0d062865a        HEAD
+ceebaca6d44c4cda555db3fbf687c0604c4818eb        refs/atoms/ひらがな/0.1.0
+a87bff5ae43894a158dadf40938c775cb5b62d4b        refs/atoms/ひらがな/_specs/0.1.0
+9f17c8c816bd1de6f8aa9c037d1b529212ab2a02        refs/atoms/ひらがな/_srcs/0.1.0
+
+

This is how atom refs are stored. Essentially atoms are a way of bringing back versions in a meaningful way. They really should just be immutable (similar to version tags) unless something terrible happens (like a critical CVE) in which case you should maybe just delete the troubled version and release a patch update.

+

I use the semver crate, so you can also release dev or pre releases as well (anything semver accepts), but the point is, these are resolvable without a fetch (listing references is the only git operation that does not require fetching or cloning, which is the reason I store them this way). So you can list all the available versions of any repository pretty cheaply. The git protocol also includes server side ref filtering, so you can limit your search to just the refs/atoms heading, or even a subset of atoms.

+

I'm thinking maybe the backend build/eval service should have some sort of federated search protocol as well, perhaps (undecided), so that you can easily search multiple repos with one subcommand (say eka search)

+

The _specs ref above is a lightweight ref that only contains the manifest and lock. This is for the resolver.

+

In order to fully traverse the dependency tree, the resolver will have to read the manifests of candidates, so I want to keep those extremely cheap to fetch (in case the source directory gets large)

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 12 2024 at 14:33):

+

so even though atoms can live under any arbitrary directory in the repo, however many levels deep, they are identified not by their filepath, but by their:

+
[atom]
+id = "my-atom"
+
+

This way, the tree of atoms is "flat" for any given repo, simplifying the search as well. For sanity, the source tree is searched before publishing to ensure no two atoms in the same commit have the same id, if they do, the request will fail unless/until you rename one. This is similar to cargo crates in a workspace. If any two have the same name, cargo will complain and not let you do anything.

+ + + + +

view this post on Zulip RGBCube (Oct 12 2024 at 18:15):

+

That makes a ton of sense. But for the refs you might want to do refs/atoms/.../0.1.0/{atom,spec,src} for a better hierarchy

+ + + + +

view this post on Zulip RGBCube (Oct 12 2024 at 18:17):

+

If I'm understanding correctly every "module" in this system will have to either have a user assigned atom id or an automatically generated one? How does your module system do it?

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 12 2024 at 18:26):

+

I did have that structure at one point, I've just been experimenting a bit, I might change it back actually, just need something that is fairly trivial to filter for just the atom ref itself during a search. git has its own semantic for filtering refs that is pretty similar to globbing in a shell, though I guess something like refs/atoms/*/*/atom would do it, so yeah you are probably right.

+

As for the AtomId, it is essentially made of two components:
+https://github.com/ekala-project/eka/blob/master/crates/atom/src/id/mod.rs#L55-L59

+

The Id is just a thin wrapper around a string, so that I can run a quick validation ensuring some basic rules. It serves as the human readable component of an atom's identity:
+https://github.com/ekala-project/eka/blob/master/crates/atom/src/id/mod.rs#L133

+

The only thing set in the manifest is one of these Ids. The other compoent, the root field is determined by where the atom is stored (why its generic). The git implementation uses my upstream patch to gitoxide to quickly calculate the very first commit in the history from which the atom is derived and uses that.

+

That is used as a derived key for a blake3 sum over the Id itself:
+https://github.com/ekala-project/eka/blob/master/crates/atom/src/id/mod.rs#L85

+

This gives us an unambiguos hash of this specific atom, independant from other atoms in other repositories, even if they have the same unicode name. We can store this hash in lock files, and backends can use it to disambiguate, essentially giving us a huge namespace, avoiding collisions even where two projects might use the same human readable unicode id.

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 12 2024 at 18:28):

+

more simply, an atom is akin to a rust crate, and a module is akin to a rust module (indicated by the mod.nix)

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 12 2024 at 18:36):

+

Right now I also post a tag containing this root and ensure that every atom comes from the posted root. It is a sort of "iitialization" akin to a git init, and also provides a sanity check that the remote and local repos agree on history. This isn't strictly necessary, I could technically remove it and am considering if I really need it or not.

+

It provides is a way for a remote user, who has not clone the repo, to calculate an atom's id, so for that reason alone I might just keep it, but also, it serves as a nice sanity check that we are not publishing atoms from inconsistent histories in a single repo. The initialization process technically targets a specific git remote, not the repository as a whole.

+

So if you wanted unrelated histories in one repo and wanted to publish atoms from both you'd just have to init the respective remotes with the relevant historical root. I was thinking you might use this for "secret" atoms that are published to a priviledged remote, as one possible usecase

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/topic/Discuss.20cull-os.html b/stream/442953-cull-os/topic/Discuss.20cull-os.html new file mode 100644 index 00000000000..e22dcc6ee06 --- /dev/null +++ b/stream/442953-cull-os/topic/Discuss.20cull-os.html @@ -0,0 +1,45 @@ + +Discuss cull-os · cull-os · Zulip Chat Archive +

Stream: cull-os

+

Topic: Discuss cull-os

+ +
+ + + + + + +

view this post on Zulip Andreas (Jun 21 2024 at 17:49):

+

alright, nice

+ + + + +

view this post on Zulip Srid (Jun 21 2024 at 17:50):

+

Alright, this repo https://github.com/cull-os/cab was just open-sourced by @RGBCube

+

For context, see this conversation on Matrix.

+ + + + +

view this post on Zulip Andreas (Jun 21 2024 at 18:06):

+

Just glancing at this, the idea looks interesting

+ + + + +

view this post on Zulip Srid (Jun 21 2024 at 22:05):

+

Welcome @DavSanchez - just added you to this channel

+

(Note: people can subscribe on their own as well)

+ + + + +

view this post on Zulip DavSanchez (Jun 21 2024 at 22:14):

+

Hi!

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/topic/Fixing.20what.20Nix.20did.20wrong.html b/stream/442953-cull-os/topic/Fixing.20what.20Nix.20did.20wrong.html new file mode 100644 index 00000000000..ed4fec467d0 --- /dev/null +++ b/stream/442953-cull-os/topic/Fixing.20what.20Nix.20did.20wrong.html @@ -0,0 +1,154 @@ + +Fixing what Nix did wrong · cull-os · Zulip Chat Archive +

Stream: cull-os

+

Topic: Fixing what Nix did wrong

+ +
+ + + + + + +

view this post on Zulip RGBCube (Jun 21 2024 at 18:38):

+

(copied from the matrix; this is about fixing flakes being a new concept and destroying the "everything is a derivation" concept of Nix; also see this post https://jade.fyi/blog/flakes-arent-real)

+

The way I want to fix this in Cab is overridable expressions.

+
{ a = 1; } ==> a * a
+
+

assuming this is assigned to b, just evaluating b will get you 1. But overriding it like b <== { a = 2; } and then evaluating that expression will get you 4. The trick here is that ==> is not a function symbol (unlike :, which has the same behavior in Cab as in Nix)

+

So you will be able to do things like

+
inputs @ {
+  packages = import <github:cull-os/packages> <== inputs;
+} ==> {
+  packages.bar = packages.buildCrate ./.;
+}
+
+

import will import /${<github:cull-os/cab>}/default.cab, which is another expression like our default.cab. Then it will override it, with our inputs. The trick here is that our inputs were already overriden by the Cab CLI, which did <== { buildSystem = ...; targetSystem = ...; } so the build and target systems get passed into CullOS packages. Then we get a neat attribute set packed with packages configured for our target.

+ + + + +

view this post on Zulip RGBCube (Jun 21 2024 at 18:42):

+

I also want to implement the "standard library" in Pure Rust, eagerly checking for types of things. This will also make it a part of the language instead of some unrelated repository like nixpkgs. And it will be faster, as a result.

+ + + + +

view this post on Zulip RGBCube (Jul 13 2024 at 21:10):

+

cc @Jonathan Ringer

+ + + + +

view this post on Zulip RGBCube (Jul 13 2024 at 21:11):

+

this would work without "overrideable expressions" in Nix too. But it would require you to call everything, which is fine I guess

+ + + + +

view this post on Zulip RGBCube (Oct 26 2024 at 19:50):

+

Don't Do The Mistakes Of Nix

+

Link: <https://md.darmstadt.ccc.de/nix2>

+

Notable stuff:

+
    +
  • Don't use ? for attribute bind defaults and attribute existence checking at the same time. Very unsure about the syntax for both of these things.
  • +
  • Support tabs in indented strings, but error out when they are mixed with spaces. We can't know the width of a tab, after all.
  • +
  • Remove .4 float syntax. Make 0x.3 invalid, too.
  • +
  • Line endings in strings will get normalized to \n no matter what. People can do string.replace "\n" "\r\n" if they desire.
  • +
  • Make multiline string normalization sane & add HUNDREDS of tests.
  • +
+ + + + +

view this post on Zulip Tim DeHerrera (Oct 26 2024 at 21:16):

+

it might ne nice, although I'm not sure how feasible, if all functions can have default args, not just functions that take a set

+ + + + +

view this post on Zulip RGBCube (Oct 27 2024 at 10:18):

+

Hmm, would be interesting. So you're saying

+

<pat> ? "default here" will default to "default here" if <pat> fails to match, ensuring the whole pattern always does?

+ + + + +

view this post on Zulip RGBCube (Oct 27 2024 at 10:18):

+

This is actually pretty generic, I like it.

+ + + + +

view this post on Zulip RGBCube (Oct 27 2024 at 10:20):

+

Though, you can't really use this to implement defaulting functions. How would you do first [1, 2, 3] and first 2 [1, 2, 3] with this? (not with type checking of the value, like \nOrXs :: list | number: if type nOrXs == number ...)

+ + + + +

view this post on Zulip RGBCube (Oct 27 2024 at 10:22):

+
\first = \n :: number ? null:
+  if n == null then # didn't match, but we can't access the list either... it's totally ignored
+    \[x, ...]: x # now the user has to do `first [] [1, 2, 3]
+  else
+    getFirstN n;
+
+ + + + +

view this post on Zulip RGBCube (Oct 27 2024 at 10:32):

+

Huh, this actually doesn't make sense at all

+ + + + +

view this post on Zulip RGBCube (Oct 27 2024 at 10:32):

+

(n :: number) ? "foo" what the hell are you even binding "foo" to?

+ + + + +

view this post on Zulip RGBCube (Oct 27 2024 at 10:32):

+

You can't possibly know, unless you invent extremely weird semantics

+ + + + +

view this post on Zulip RGBCube (Oct 27 2024 at 10:33):

+

Even then, what happens when you match this and it fails: [1, ..., 99] ? "bar"

+ + + + +

view this post on Zulip RGBCube (Oct 27 2024 at 10:33):

+

I'll think about this more today, but this concept I thought of doesn't work

+ + + + +

view this post on Zulip RGBCube (Oct 27 2024 at 10:38):

+

Currently Cab lacks these things that are in Nix:

+
    +
  • attribute check car ? headlight.lightbulb
  • +
  • attribute default in lambda parameters { n ? 0 }: n ** n
  • +
  • attribute default expressions car.headlight.lightbulb or "nope"
  • +
+ + + + +

view this post on Zulip RGBCube (Oct 27 2024 at 10:41):

+

To avoid:

+

Funky semantics of or defaults

+

9ecca769-ccd8-4983-ab88-99fea13a2ef3.png

+

Attribute select is not individual, which is wack. I don't want this behavior, I want the semantic equivalent of (a.b).c or 1.

+

Strings in attribute-check

+

Since strings are never used for identifiers in Cab, this isn't an issue. But might as well say this won't be a thing:

+
myset ? "attra".attrb."attrc"
+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/topic/Flowcharts.html b/stream/442953-cull-os/topic/Flowcharts.html new file mode 100644 index 00000000000..c5f2ea70f04 --- /dev/null +++ b/stream/442953-cull-os/topic/Flowcharts.html @@ -0,0 +1,32 @@ + +Flowcharts · cull-os · Zulip Chat Archive +

Stream: cull-os

+

Topic: Flowcharts

+ +
+ + + + + + +

view this post on Zulip RGBCube (Oct 22 2024 at 12:53):

+

89bd8095-de96-4371-a762-f5a7e1494d70.jpg

+

This photo is amazing & I could explain stuff much easier this way.

+ + + + +

view this post on Zulip RGBCube (Oct 22 2024 at 12:54):

+

I want to try and make a huge graph like this that explains what Cab is, stemming from a single What is Cab? root

+ + + + +

view this post on Zulip Srid (Oct 22 2024 at 12:57):

+

Obsidian Canvas is cool. I wonder if there exists a simple frontend framework to generate dynamic canvases like this on the web.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/topic/Language.20design.20philosophy.html b/stream/442953-cull-os/topic/Language.20design.20philosophy.html new file mode 100644 index 00000000000..f8e1603e5d4 --- /dev/null +++ b/stream/442953-cull-os/topic/Language.20design.20philosophy.html @@ -0,0 +1,69 @@ + +Language design philosophy · cull-os · Zulip Chat Archive +

Stream: cull-os

+

Topic: Language design philosophy

+ +
+ + + + + + +

view this post on Zulip RGBCube (Jul 06 2024 at 09:57):

+

Currently in Cab, there are only 3 keywords that aren't defined as infix/postfix operators: if, then and else. (and and, or which are infix, not which is a prefix opetator, just like -)

+

I believe a this doesn't fit the language because there are no other "special cased" keywords. I want to change their behavior, also removing the if keyword in the process of redesigning this approach. The new syntax for "if else" will be:

+
cond then y else n
+
+
    +
  • +

    The then operator works like this: cond then y

    +
      +
    • If cond is false, it evaluates to undefined, if it isn't, it simply evaluates to y
    • +
    +
  • +
  • +

    The else operator works like this: maybeUndefined else n

    +
      +
    • If maybeUndefined is undefined, it simply evaluates to n. If not, it evaluates to maybeUndefined
    • +
    +
  • +
+

then has higher binding power, so you can chain then and else.

+

Another benefit of this is that you will be able to do setThatDoesNotHaveFoo.foo else "foo didn't exist" without special casing (like the or in Nix), as .foo is undefined.

+

Thoughts?

+ + + + +

view this post on Zulip RGBCube (Jul 07 2024 at 19:49):

+

I think I'll keep the normal if else then right now. Have some doubts about precendence and the general ergonomics of it

+ + + + +

view this post on Zulip RGBCube (Jul 07 2024 at 19:49):

+

But I'll definitely look into it later when more stuff is done

+ + + + +

view this post on Zulip Tim DeHerrera (Jul 07 2024 at 19:56):

+

I was thinking about this a bit yesterday. FWIW, I think its a fairly nice idea. It's basically the "ternary" operation from other languages at that point, which I am fond of.

+ + + + +

view this post on Zulip RGBCube (Jul 07 2024 at 20:05):

+

It is exactly like ? and :, but each operator is seperate

+ + + + +

view this post on Zulip RGBCube (Jul 07 2024 at 20:05):

+

However this might require you to put () everywhere, which I'm not fond of. I'll look at some snippets inside nixpkgs lib and rewrite them to use this, seeing how it works

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/topic/Match.20syntax.html b/stream/442953-cull-os/topic/Match.20syntax.html new file mode 100644 index 00000000000..06bd45d8d0b --- /dev/null +++ b/stream/442953-cull-os/topic/Match.20syntax.html @@ -0,0 +1,92 @@ + +Match syntax · cull-os · Zulip Chat Archive +

Stream: cull-os

+

Topic: Match syntax

+ +
+ + + + + + +

view this post on Zulip RGBCube (Oct 13 2024 at 08:23):

+

I just decided on this syntax for match-case:

+
if <expr> is
+  <pat> then <expr>,
+  <pat> then <expr>,
+  else <expr>
+
+ + + + +

view this post on Zulip RGBCube (Oct 13 2024 at 08:26):

+

Since patterns will be able to have expressions in them for things like type checking (<pat> :: <expr>, same as just <pat> but with and <expr>.check <pat-bind>) and conditionals <pat> and <expr> you won't need to hard code an if into the match-case

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 13 2024 at 14:30):

+

interesting, could you maybe give a few concrete examples to demonstrate to help grok?

+ + + + +

view this post on Zulip RGBCube (Oct 14 2024 at 04:33):

+

https://dl.acm.org/doi/pdf/10.1145/3689746 inspired from this

+ + + + +

view this post on Zulip RGBCube (Oct 14 2024 at 04:35):

+

I was thinking of this earlier but I hadn't thought of using a different keyword after if to do a match. My initial idea was just

+
match <expr> with
+  <pat> then <expr>,
+  <pat> then <expr>,
+  else <expr>
+
+ + + + +

view this post on Zulip RGBCube (Oct 14 2024 at 04:35):

+

This only replaces match-with with if-is

+ + + + +

view this post on Zulip RGBCube (Oct 14 2024 at 04:37):

+
concatString = \s :: string | list string:
+  if s is
+    xs :: list then insert `+` xs,
+    x :: string then x;
+
+ + + + +

view this post on Zulip RGBCube (Oct 14 2024 at 05:00):

+
insert = \f: \xs :: list:
+  if xs is
+    [] then throw "cannot insert with zero items",
+    [x] then x,
+    [x] ++ xs then f x $ insert xs;
+
+toString = \x:
+  if x is
+    s :: string then s,
+    n :: number then numberToString n,
+    xs :: list then insert `+` $ map toString xs;
+
+ + + + +

view this post on Zulip RGBCube (Oct 26 2024 at 19:52):

+

Update on this: if is won't have else, as that's a duplicate of _ then at the end (like in Rust)

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/topic/Novel.20LSP.20features.html b/stream/442953-cull-os/topic/Novel.20LSP.20features.html new file mode 100644 index 00000000000..e45deef4b93 --- /dev/null +++ b/stream/442953-cull-os/topic/Novel.20LSP.20features.html @@ -0,0 +1,33 @@ + +Novel LSP features · cull-os · Zulip Chat Archive +

Stream: cull-os

+

Topic: Novel LSP features

+ +
+ + + + + + +

view this post on Zulip RGBCube (Oct 28 2024 at 17:35):

+

You know how it's really cumbersome to provide patch files for derivations in nixpkgs? I thought I could do something with islands where when in the LSP, the action menu (of the island) has the option "Patch island" which preemptively clones it (or maybe lazily clones it, anything is possible with FUSE) and sends you to that directory. And when you save your changes in there and open the action menu (while on the files in the island) and select "Save patches", it edits your code so that it turns into:

+
patch <github:cull-os/cab> ./promptedname.patch
+
+ + + + +

view this post on Zulip RGBCube (Oct 28 2024 at 17:36):

+

I think this would be really neat for quick patching of software

+ + + + +

view this post on Zulip RGBCube (Oct 28 2024 at 17:38):

+

And when you bump a git island and try to edit it, it would query saved edits' remotes to see if it could just pull instead of cloning the whole thing again.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/topic/Realizer.20Protocol.html b/stream/442953-cull-os/topic/Realizer.20Protocol.html new file mode 100644 index 00000000000..bb979d8759b --- /dev/null +++ b/stream/442953-cull-os/topic/Realizer.20Protocol.html @@ -0,0 +1,67 @@ + +Realizer Protocol · cull-os · Zulip Chat Archive +

Stream: cull-os

+

Topic: Realizer Protocol

+ +
+ + + + + + +

view this post on Zulip RGBCube (Oct 24 2024 at 16:18):

+

Content Addressed Derivations

+

This won't be an explicit feature in the protocol, but something that will be implementable with the following feature.

+

Graph Mutation

+

A realizer will be able to communicate back that the derivation graph. So instead of:

+
fn realize(&Graph<Derivation>, &[Realizer]) -> Result<(), RealizationError>
+
+

The interface of telling a realizer to realize a derivation will be similar to;:

+
fn realize(&mut Graph<Derivation>, &[Realizer]) -> Result<(), RealizationError>
+
+

Where the realizer will be able to modify the graph to change paths / files / whatever.

+

This will also allow a theoretical realizer to:

+
    +
  • Receive a derivation graph.
  • +
  • Start realizing from the roots.
  • +
  • After every derivation realization:
      +
    • If the realization self references, we replace the self reference with a fixed magic value of the same size. And then we calculate the hash, and rename the store path to it and replace our magic value with the hash.
    • +
    • If not, we simply rename the store path to the hash of the contents.
    • +
    +
  • +
  • Now we have a completely content addressed realization. For trivially content addressed ones, one can verify it by hashing the contents and comparing it with the path. For non-trivial ones, one will need to calculate the hash of the contents after replacing the self-references with our magic value.
  • +
  • We now modify the realization graph of the client to reflect our model.
  • +
+

Derivation Recalling From Mutated Realizations

+

Considering that if our realizer mutates our graphs, we cannot know the store path of the final realization without realizing. This is catastrophic for caching, as using store paths to fetch will not work.

+

Unless we also link the every input-addressed store path to the content-addressed equivalent. This way, we also ensure that we cannot have more than a single canonical content-addressed version of an input addressed derivation.

+

Though, none of this will be exposed through the realizer protocol. This is simply an implementation detail, the real API will look more like this:

+
fn fetch(&mut Graph<Derivation>, &[Cacher]) -> Result<(), FetchError>
+
+

Did you notice how similar this is to the realize function above? Yes, we did too. And so we can just unify these, making "realizing" and "caching" the exact same concept.

+

The only difference between a "cacher" and a general "realizer" will be that the cacher refuses to actually realize derivations, instead opting to only serve already realized ones.

+

Communication Between Realizers

+

The way realizers will communicate with each other is that the client will only send the derivations it wants them to realize one by one. No realizer will see the whole build graph at once.

+

Every derivation that has already been realized (for example, dependencies of a derivation which is ready to be realized) will be accompanied by a realizer where the realizing realizer can fetch it from (the sent realizer being the realizer we're sending it to means that the dependency was built on the same realizer).

+

This way, we will not mess up our state.

+ + + + +

view this post on Zulip RGBCube (Oct 24 2024 at 16:21):

+

Note: The client will never store anything at all. The way we will ensure that the realization result is copied locally (if configured to) is by telling our local realizer to realize the final derivation. This is why we can conflate caching and realizing.

+ + + + +

view this post on Zulip RGBCube (Oct 25 2024 at 13:26):

+

System? What's that?

+

When you think about it, the system field of Nix doesn't make sense, as it's just a feature.

+

Thus, the realizer protocol will not be special cased for Arch + OS combinations.

+

The way it will be is as follows: Every realizer will append the Arch and OS to its feature set. For example if I configure my realizer to support WASM execution, it will advertise its features set as [ "x86_64", "linux", "wasm" ].

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/topic/Recursive.20Realization.html b/stream/442953-cull-os/topic/Recursive.20Realization.html new file mode 100644 index 00000000000..779d1275853 --- /dev/null +++ b/stream/442953-cull-os/topic/Recursive.20Realization.html @@ -0,0 +1,19 @@ + +Recursive Realization · cull-os · Zulip Chat Archive +

Stream: cull-os

+

Topic: Recursive Realization

+ +
+ + + + + + +

view this post on Zulip RGBCube (Nov 09 2024 at 09:42):

+

TODO: Write this. It's like Recursive Nix but doesn't couple the Nix frontend with the protocol. It will be done with a fifo in the realization's scope.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/topic/Things.20to.20not.20do.20in.20the.20realizer.20protocol.html b/stream/442953-cull-os/topic/Things.20to.20not.20do.20in.20the.20realizer.20protocol.html new file mode 100644 index 00000000000..10461502aba --- /dev/null +++ b/stream/442953-cull-os/topic/Things.20to.20not.20do.20in.20the.20realizer.20protocol.html @@ -0,0 +1,110 @@ + +Things to not do in the realizer protocol · cull-os · Zulip Chat Archive +

Stream: cull-os

+

Topic: Things to not do in the realizer protocol

+ +
+ + + + + + +

view this post on Zulip RGBCube (Nov 01 2024 at 15:46):

+

Well, this will be a list of weird things in the Nix store protocol for now and I'll decide on what to do to avoid them later

+ + + + +

view this post on Zulip RGBCube (Nov 01 2024 at 16:06):

+

First off: no copying files into realizers. Only derivations.

+

You know how when you do

+
derivation {
+  builder = ./builder;
+}
+
+

Nix first

+
    +
  1. Copies the file to the store
  2. +
  3. Then it actually creates the the derivation files with that path referenced
  4. +
+

And how that file itself isn't actually a derivation? But instead is just a file?

+ + + + +

view this post on Zulip RGBCube (Nov 01 2024 at 16:31):

+

We can avoid this by letting people specify paths inside derivations:

+
derive {
+  paths.builder = executable $ fileContent "binary contents of it here";
+
+  command = "builder"; # relative to pwd by default
+}
+
+

These "paths" inside derivations will be an attribute of the derivation itself.

+

Now, when the command is run, the process will see this filesystem layout:

+
/
+  var/lib/real/xxxxx-that-drv/ # this is our pwd
+    builder
+
+

But of course this is quite inefficient. Every time we change that derivation, we have to write another file with the exact same contents. How do we avoid this?

+

By making a derivation with only that file, of course:

+
\thatfileder = derive {
+  paths = outputDirectory {
+    builder = executable $ fileContent "binary contents here";
+  };
+};
+
+derive {
+  command = pathOf thatfileder + "/builder";
+}
+
+

This will also mandate that our derivation should not require a command, which is a good thing.

+

This will be what things like ./foo.sh and ./mydir desugar to too. These two are equivalent:

+
derive {
+  paths.`foo.sh` = ./foo.sh;
+  paths.mydir = ./mydir;
+}
+
+
derive {
+  paths.foo = (pathOf $ derive {
+    paths = outputDirectory {
+      # that executable flag for the file object is automatically determined
+      `foo.sh` = executable $ fileContents $ read "foo.sh";
+    };
+  }) + "/foo.sh";
+
+  paths.mydir = (pathOf $ derive {
+    paths = outputDirectory {
+      idk = fileContents $ readFile "aaa";
+      # and so on, no nested derivations (or maybe there will be?)
+    };
+  });
+}
+
+ + + + +

view this post on Zulip RGBCube (Nov 01 2024 at 16:54):

+

Notice how we don't need the concept of "outputs" where we magically get mutable store paths, as we can now specify output directories in the filesystem layout, right inside our derivation? These directories will persist even after the derivation builds. But we have another problem now:

+

How do we make them content addressed and garbage collect them individually, without affecting the integrity? Luckily there is a smart way out.

+

We now hash the derivation individually with separate views for every output directory, while replacing self references with a fixed magic hash, and move them to their respective /var/lib/real/xxhashofthisoutput-llvm/ and finally replace the cross and self references with the respective hashes of the output derivations.

+ + + + +

view this post on Zulip RGBCube (Nov 01 2024 at 17:01):

+

Though, as discussed earlier, this will require even more communication for clients to find out paths. I'll tackle this when I'm actually implementing it.

+ + + + +

view this post on Zulip RGBCube (Nov 01 2024 at 17:10):

+

One thing this WILL break is binaries not using absolute references when cross referencing other outputs, but I'm sure nothing ever does that so it's fine.

+

Or maybe we can fix this by symlinking the other output directories (of which are not the content addressed one) into every output derivation.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/topic/Typed.20Lambda.20Arguments.html b/stream/442953-cull-os/topic/Typed.20Lambda.20Arguments.html new file mode 100644 index 00000000000..b450cd3c592 --- /dev/null +++ b/stream/442953-cull-os/topic/Typed.20Lambda.20Arguments.html @@ -0,0 +1,43 @@ + +Typed Lambda Arguments · cull-os · Zulip Chat Archive +

Stream: cull-os

+

Topic: Typed Lambda Arguments

+ +
+ + + + + + +

view this post on Zulip RGBCube (Jul 13 2024 at 08:58):

+

I was thinking about this yesterday. Even though a lot of the stdlib will be in Rust, which eagerly checks for types, we need a way to do it in userspace too.

+

So I decided on this:

+
{
+  filter = x :: lambda any boolean: y :: list (typeOf x).input: <impl here>
+}
+
+

This would sugar down into something that's equivalent to this but with better error messages:

+
{
+  filter = x: assert (typeOf x) == lambda any boolean ==> y: assert (typeOf y) == (typeOf x).input ==> <impl here>;
+}
+
+

How this works is you can specify expressions between the :: and :, and they get compared to the type of the argument every time the lambda is called.

+

==> is normally for importing namespaces, but it can be used for an equivalent of Nix's builtins.seq without the parens by making functions return empty attribute sets or maybe even some information in that attribute set when they pass and throw if they don't, making it bubble up with a trace.

+ + + + +

view this post on Zulip RGBCube (Jul 13 2024 at 09:02):

+

I want to take a shot at implementing this in Nix. It's backwards compatible syntax and shouldn't be that hard to implement, and having a nice demo would be neat

+ + + + +

view this post on Zulip RGBCube (Oct 26 2024 at 19:50):

+

This will now be done with pattern matching and will work everywhere. <pat> :: <expr> is a valid pattern match: \x :: number: x + 1

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/topic/WASM.20.2B.20WASI.20for.20running.20Cab.20on.20the.20builder.20to.20do.20the.20buil.2E.2E.2E.html b/stream/442953-cull-os/topic/WASM.20.2B.20WASI.20for.20running.20Cab.20on.20the.20builder.20to.20do.20the.20buil.2E.2E.2E.html new file mode 100644 index 00000000000..07e8904136c --- /dev/null +++ b/stream/442953-cull-os/topic/WASM.20.2B.20WASI.20for.20running.20Cab.20on.20the.20builder.20to.20do.20the.20buil.2E.2E.2E.html @@ -0,0 +1,73 @@ + +WASM + WASI for running Cab on the builder to do the buil... · cull-os · Zulip Chat Archive +

Stream: cull-os

+

Topic: WASM + WASI for running Cab on the builder to do the buil...

+ +
+ + + + + + +

view this post on Zulip RGBCube (Oct 26 2024 at 16:11):

+

This is just a very experimental idea, but I mentioned before that realizers will support WASM execution (for truly cross platform island->derivation conversion) and I thought: Why not do this for Cab itself?

+ + + + +

view this post on Zulip RGBCube (Oct 26 2024 at 16:17):

+
\program = runtime ==> (
+  execute "${lib.getExe packages.cargo}" [ "build" ];
+  exit 0
+);
+
+derive {
+  features = [ "wasm" ],
+
+  command = ./cab-runtime.wasm,
+  arguments = [ (lib.compile program).wasmExecutablePath ],
+}
+
+ + + + +

view this post on Zulip RGBCube (Oct 26 2024 at 16:18):

+

This is definitely worth exploring IMO

+ + + + +

view this post on Zulip RGBCube (Oct 26 2024 at 16:24):

+

Here we have a minimal WASM runtime for Cab (via Rust WASM cross compilation) that runs Cab bytecode (made to be tiny)

+ + + + +

view this post on Zulip RGBCube (Oct 26 2024 at 16:31):

+

@Tim DeHerrera @Andreas what do you guys think?

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 26 2024 at 16:34):

+

so the "builder" is a wasm binary, essentialy?

+ + + + +

view this post on Zulip RGBCube (Oct 26 2024 at 19:46):

+

Yup

+ + + + +

view this post on Zulip Tim DeHerrera (Oct 26 2024 at 21:29):

+

looks like someone just asked a similar question to the tvix guys, might be good to review their response:
+https://matrix.to/#/!YUnRYAzgytLSZbBhbx:hackint.org/$Sbspe2NOL3nYD2MQnmARWrnQ0SI2tOfT0GuK3s6qQck?via=hackint.org&via=matrix.org&via=envs.net

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/topic/What.20does.20.22Cab.22.20mean.2C.20anyway.3F.html b/stream/442953-cull-os/topic/What.20does.20.22Cab.22.20mean.2C.20anyway.3F.html new file mode 100644 index 00000000000..4da3394a123 --- /dev/null +++ b/stream/442953-cull-os/topic/What.20does.20.22Cab.22.20mean.2C.20anyway.3F.html @@ -0,0 +1,27 @@ + +What does "Cab" mean, anyway? · cull-os · Zulip Chat Archive +

Stream: cull-os

+

Topic: What does "Cab" mean, anyway?

+ +
+ + + + + + +

view this post on Zulip RGBCube (Oct 17 2024 at 10:17):

+

C{ompose,ommand,ontrol}
+A
+Build

+ + + + +

view this post on Zulip RGBCube (Oct 17 2024 at 10:19):

+

"Compose A Build Graph" -> cabg didn't sound so good, and cabbage was too long so I settled for this

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/topic/Where.20is.20the.20Language.20in.20the.20Computability.20Hierarchy.3F.html b/stream/442953-cull-os/topic/Where.20is.20the.20Language.20in.20the.20Computability.20Hierarchy.3F.html new file mode 100644 index 00000000000..df81095d7b9 --- /dev/null +++ b/stream/442953-cull-os/topic/Where.20is.20the.20Language.20in.20the.20Computability.20Hierarchy.3F.html @@ -0,0 +1,90 @@ + +Where is the Language in the Computability Hierarchy? · cull-os · Zulip Chat Archive +

Stream: cull-os

+

Topic: Where is the Language in the Computability Hierarchy?

+ +
+ + + + + + +

view this post on Zulip Tim DeHerrera (Jul 09 2024 at 17:24):

+

One thing I have come to realize as I study Nix's architecture more, and after years of experience and just dealing with the pain points, is that Nix may have actually missed a critical opportunity for itself by being turing-complete.

+

In order to address some of the inefficiency concerns (changing hashes over added whitespace, reformatting, etc), the most formal solution would be to use a total programming language that can be reliably reduced to normal form (since it's not turing complete). You can then compute the hash over this normal form and use it to verify the "semantic integrity" of the code (as Dhall puts it).

+

This hash could also equally function as a cache key, for more granular and correct expression caching. Also keeps the complexity of expressions capped, which puts a cap on the overall complexity of evaluation (which keeps getting worse and worse in nixpkgs, for example).

+

Nix has already missed the boat on this, since any changes of this magnitude would break all backward compatibility, but when starting a new project completely from scratch you have the opportunity to design a language with these things in mind up front, before you get locked in.

+

For that reason, I just wanted to suggest, if you haven't thought of it already, specifying the language as a "total" programming language, which would give you a compelling advantage over Nix. Yes there is already Dhall, but that lang has some of its own problems (too rigid of typing, mostly).

+ + + + +

view this post on Zulip RGBCube (Jul 09 2024 at 17:42):

+
    +
  1. When cab eval is run, it hashes the file. If that hash already exists in the hash table that maps file hashes to structure hashes, it skips to step 3. If not, step 2.
  2. +
  3. It evaluates the structure of the file (since the language is reproducible and does not do IO, the same expression will always evaluate to the same thing) and places it inside the hash table that maps structure hashes to results.
  4. +
  5. It then returns the result.
  6. +
+

This way, changing whitespace won't do anything as it does not affect the AST. You don't need the language to not be turning complete to achieve this, either.

+ + + + +

view this post on Zulip RGBCube (Jul 09 2024 at 17:43):

+

This could be performed for every single thunk evaluation, but initial evaluation would be quite super slow, so we need to find a middle ground.

+ + + + +

view this post on Zulip RGBCube (Jul 09 2024 at 17:44):

+

Top-level is also quite bad, which is the way Nix does it. I'm thinking of doing it per island, which is either a git repository, a zip file, etc. Like flake inputs, one might say

+ + + + +

view this post on Zulip Tim DeHerrera (Jul 09 2024 at 17:44):

+

Makes sense, but the benefit of reducing to normal form and then hashing would be that refactors would still maintain the same hash, basically any two expressions that are semantically equivalent would have the same hash, also I think a turing-complete language is a bit overkill for what should have been a DSL, no?

+ + + + +

view this post on Zulip RGBCube (Jul 09 2024 at 17:45):

+

"reducing to normal form" is evaluation, though. And the result of that would still be the same derivation files, so you wouldn't end up building anything

+ + + + +

view this post on Zulip RGBCube (Jul 09 2024 at 17:46):

+

I don't think we are going to have any performance issues, as I'm planning to implement the standard library in Rust, instead of Nix. That is what takes the most time in Nix to evaluate modules. Nix itself is just slow and shouldn't be used to create huge things, only use them as glue.

+ + + + +

view this post on Zulip Tim DeHerrera (Jul 09 2024 at 17:49):

+

reducing to normal form would be the first step in eval sure. That isn't even technically always possible in turing complete languages though, due to arbitrary complexity, the point is that it is always possible and should be computationally fairly inexpensive in a total language.

+

The point about two expressions building the same derivation anyway is also true, but if you wanted to cache that evaluation, you'd have know way of knowing they are equivalent beforehand unless you first reduced them to normal form.

+

Anyway, just wanted to share my thoughts with you since you are doing this, as it's something I've been thinking about lately in my effort to understand how one might improve Nix. Ultimately I am looking for something that is backwards compatible, but for someone in your position it is more feasible.

+ + + + +

view this post on Zulip Tim DeHerrera (Jul 09 2024 at 17:50):

+

if my ideas are fuzzy or useless, that is also fine, I didn't fully flesh it out

+ + + + +

view this post on Zulip RGBCube (Jul 09 2024 at 19:29):

+

It should also be possible to do ast-hashing in Nix. Not sure why it doesn't do it though.

+ + + + +

view this post on Zulip RGBCube (Jul 09 2024 at 19:29):

+

Maybe because in C++, you can't just #[derive(Hash)]?

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/topic/Why.20no.20IFD.html b/stream/442953-cull-os/topic/Why.20no.20IFD.html new file mode 100644 index 00000000000..5d407ba5ff7 --- /dev/null +++ b/stream/442953-cull-os/topic/Why.20no.20IFD.html @@ -0,0 +1,31 @@ + +Why no IFD · cull-os · Zulip Chat Archive +

Stream: cull-os

+

Topic: Why no IFD

+ +
+ + + + + + +

view this post on Zulip RGBCube (Oct 12 2024 at 07:50):

+

Why no IFD is Good, Actually

+
    +
  • Faster evaluation
  • +
  • No need to have a configured builder to evaluate the derivation graph
  • +
  • Evaluator simplicity
  • +
  • It will also enable me or someone else to create a LSP that interprets the expression with intermediate steps and gives you suggestions, without taking a year or doing anything impure or requiring a builder
  • +
+ + + + +

view this post on Zulip Tim DeHerrera (Oct 12 2024 at 14:28):

+

Indeed, this is also the reason I am (eventually) planning to add a language agnostic plugin boundary to eka. I imagine most things you might want IFD for you can do more easily in the native language of concern, and then just feed them into the evaluation via a json stream or something

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/442953-cull-os/topic/channel.20events.html b/stream/442953-cull-os/topic/channel.20events.html new file mode 100644 index 00000000000..08a24ec7da2 --- /dev/null +++ b/stream/442953-cull-os/topic/channel.20events.html @@ -0,0 +1,22 @@ + +channel events · cull-os · Zulip Chat Archive +

Stream: cull-os

+

Topic: channel events

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Jun 21 2024 at 17:47):

+

Web-public channel created by Srid. Description:

+
+

Discussion about https://github.com/cull-os

+
+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/446608-rust-flake/index.html b/stream/446608-rust-flake/index.html new file mode 100644 index 00000000000..f63f7b15c30 --- /dev/null +++ b/stream/446608-rust-flake/index.html @@ -0,0 +1,14 @@ + +Zulip Chat Archive +

Stream: rust-flake

+
+ +

Topics:

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/446608-rust-flake/topic/Trunk.20.2B.20Wasm.html b/stream/446608-rust-flake/topic/Trunk.20.2B.20Wasm.html new file mode 100644 index 00000000000..6297e7e3b59 --- /dev/null +++ b/stream/446608-rust-flake/topic/Trunk.20.2B.20Wasm.html @@ -0,0 +1,261 @@ + +Trunk + Wasm · rust-flake · Zulip Chat Archive +

Stream: rust-flake

+

Topic: Trunk + Wasm

+ +
+ + + + + + +

view this post on Zulip Quinn (Jul 13 2024 at 17:41):

+

oh cool. NCI is frustrating me with wasm and trunk right now. so if you have an example for wasm and trunk, that might get me to switch

+ + + + +

view this post on Zulip Srid (Jul 13 2024 at 22:45):

+

@Quinn rust-flake is designed to be basically a (flake-parts) wrapper over https://crane.dev/ - so if you can get something working with crane, it should map straightforwardly to rust-flake.

+ + + + +

view this post on Zulip Shivaraj B H (Jul 17 2024 at 19:03):

+
+

oh cool. NCI is frustrating me with wasm and trunk right now. so if you have an example for wasm and trunk, that might get me to switch

+
+

Do you have an existing repo with wasm and trunk? I could try to package it using rust-flake

+ + + + +

view this post on Zulip Quinn (Jul 17 2024 at 19:05):

+

this is the current deal https://github.com/quinn-dougherty/gatekept-traffic-PoC/tree/master/src.rs i haven't done a ton of debugging as to why its not working. I will say my emacs lsp is jank in that it works when i direnv to an NCI full rust environment of the project, but it all depends on rustup not being installed. it all comes crashing down if emacs finds a rustup. that's a separate issue tho-- it'd be dope if it even built in CI.

+ + + + +

view this post on Zulip Shivaraj B H (Jul 17 2024 at 19:07):

+

Alright, I will give it a try tomorrow, its almost bed time here.

+ + + + +

view this post on Zulip Shivaraj B H (Jul 18 2024 at 10:03):

+

@Quinn it should be simple with crane: https://crane.dev/examples/trunk-workspace.html?highlight=trunk-work#

+

I used the same flake in your src.rs dir and it worked fine. There are some unrelated code errors, which you will have to fix, here’s the tail of it:

+
error[E0599]: no function or associated item named `new` found for struct `Pixels` in the current scope
+  --> site/src/components/pixels.rs:54:34
+   |
+54 |             let pixels = Pixels::new(width, height, gl_context).unwrap();
+   |                                  ^^^ function or associated item not found in `Pixels`
+
+ + + + +

view this post on Zulip Shivaraj B H (Jul 18 2024 at 10:04):

+

Here’s the file (src.rs/flake.nix) that worked for me:

+
{
+  description = "Build a cargo project";
+
+  inputs = {
+    nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
+
+    # The version of wasm-bindgen-cli needs to match the version in Cargo.lock
+    # Update this to include the version you need
+    nixpkgs-for-wasm-bindgen.url = "github:NixOS/nixpkgs/4e6868b1aa3766ab1de169922bb3826143941973";
+
+    crane = {
+      url = "github:ipetkov/crane";
+      inputs.nixpkgs.follows = "nixpkgs";
+    };
+
+    flake-utils.url = "github:numtide/flake-utils";
+
+    rust-overlay = {
+      url = "github:oxalica/rust-overlay";
+      inputs.nixpkgs.follows = "nixpkgs";
+    };
+  };
+
+  outputs = { self, nixpkgs, crane, flake-utils, rust-overlay, nixpkgs-for-wasm-bindgen, ... }:
+    flake-utils.lib.eachDefaultSystem (system:
+      let
+        pkgs = import nixpkgs {
+          inherit system;
+          overlays = [ (import rust-overlay) ];
+        };
+
+        inherit (pkgs) lib;
+
+        rustToolchainFor = p: p.rust-bin.stable.latest.default.override {
+          # Set the build targets supported by the toolchain,
+          # wasm32-unknown-unknown is required for trunk.
+          targets = [ "wasm32-unknown-unknown" ];
+        };
+        craneLib = ((crane.mkLib pkgs).overrideToolchain rustToolchainFor).overrideScope (_final: _prev: {
+          # The version of wasm-bindgen-cli needs to match the version in Cargo.lock. You
+          # can unpin this if your nixpkgs commit contains the appropriate wasm-bindgen-cli version
+          inherit (import nixpkgs-for-wasm-bindgen { inherit system; }) wasm-bindgen-cli;
+        });
+
+        # When filtering sources, we want to allow assets other than .rs files
+        src = lib.cleanSourceWith {
+          src = ./.; # The original, unfiltered source
+          filter = path: type:
+            (lib.hasSuffix "\.html" path) ||
+            (lib.hasSuffix "\.scss" path) ||
+            # Example of a folder for images, icons, etc
+            (lib.hasInfix "/assets/" path) ||
+            # Default filter from crane (allow .rs files)
+            (craneLib.filterCargoSources path type)
+          ;
+        };
+
+        commonArgs = {
+          inherit src;
+          strictDeps = true;
+
+          buildInputs = [
+            # Add additional build inputs here
+          ] ++ lib.optionals pkgs.stdenv.isDarwin [
+            # Additional darwin specific inputs can be set here
+            pkgs.libiconv
+          ];
+        };
+
+        # Wasm packages
+
+        wasmArgs = commonArgs // {
+          pname = "trunk-workspace-wasm";
+          cargoExtraArgs = "--package=site";
+          CARGO_BUILD_TARGET = "wasm32-unknown-unknown";
+        };
+
+        cargoArtifactsWasm = craneLib.buildDepsOnly (wasmArgs // {
+          doCheck = false;
+        });
+
+        mySite = craneLib.buildTrunkPackage (wasmArgs // {
+          pname = "trunk-workspace-site";
+          cargoArtifacts = cargoArtifactsWasm;
+          trunkIndexPath = "site/index.html";
+          # The version of wasm-bindgen-cli here must match the one from Cargo.lock.
+          wasm-bindgen-cli = pkgs.wasm-bindgen-cli.override {
+            version = "0.2.92";
+            hash = "sha256-1VwY8vQy7soKEgbki4LD+v259751kKxSxmo/gqE6yV0=";
+            cargoHash = "sha256-aACJ+lYNEU8FFBs158G1/JG8sc6Rq080PeKCMnwdpH0=";
+          };
+        });
+        serve-app = pkgs.writeShellScriptBin "serve-app" ''
+          ${pkgs.python3Minimal}/bin/python3 -m http.server --directory ${mySite} 8000
+        '';
+      in
+      {
+        checks = {
+          inherit mySite;
+        };
+        packages.default = mySite;
+
+        apps.default = flake-utils.lib.mkApp {
+          name = "server";
+          drv = serve-app;
+        };
+
+        devShells.default = craneLib.devShell {
+          # Inherit inputs from checks.
+          checks = self.checks.${system};
+
+          # Extra inputs can be added here; cargo and rustc are provided by default.
+          packages = [
+            pkgs.trunk
+          ];
+        };
+      });
+}
+
+ + + + +

view this post on Zulip Notification Bot (Jul 18 2024 at 10:07):

+

7 messages were moved here from #nix > rust-flake (Nixify Rust projects) by Shivaraj B H.

+ + + + +

view this post on Zulip Shivaraj B H (Jul 18 2024 at 10:27):

+

It should not be hard to support this in rust-flake. The only difference is the usage of buildTrunkPackage in place of buildPackage.
+This is a schema I propose:

+
{
+  rust-project = {
+    crates = {
+      "site" = {
+           isTrunkPackage = true;
+           extraBuildArgs = {
+             wasm-bindgen-cli = 
+             trunkIndexPath = "site/index.html";
+       };
+      "cli" = {  };
+      "holodeck" = {  };
+    };
+  };
+}
+
+

This would replace the 100+ line of flake.nix from above

+ + + + +

view this post on Zulip Srid (Jul 18 2024 at 14:50):

+

Perhaps we should have a freeform type that can build all types of derivations, using:

+
    +
  • buildPackage
  • +
  • buidTrunkPackage
  • +
  • cargoClippy
  • +
  • cargoDoc
  • +
  • cargoFmt
  • +
  • cargoLlvmCov
  • +
  • cargoNextest
  • +
  • etc.
  • +
+

(Search for -> drv in https://crane.dev/API.html to find these)

+

For e.g.,

+
{
+  rust-project.crates."foo" = {
+    packages.trunk = { extraBuildArgs = { ... } };
+  };
+}
+
+ + + + +

view this post on Zulip Srid (Jul 18 2024 at 14:51):

+

Eventually, we can even allow the user to build a custom package.

+ + + + +

view this post on Zulip Srid (Jul 18 2024 at 14:51):

+

packages.NAME maps to a known builder if NAME is known (eg: trunk maps to buildTrunkPackage). The user can define their own builders.

+ + + + +

view this post on Zulip Srid (Jul 18 2024 at 14:53):

+

In the meanwhile, @Quinn can already use rust-flake to call buildTrunkPackage because we expose crane-lib anyway.

+ + + + +

view this post on Zulip Srid (Jul 18 2024 at 14:53):

+

As an aside, it would be good to have a template for Trunk projects, especially as part of https://github.com/juspay/rust-flake/issues/15

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/stream/446608-rust-flake/topic/channel.20events.html b/stream/446608-rust-flake/topic/channel.20events.html new file mode 100644 index 00000000000..ab95dbe11f0 --- /dev/null +++ b/stream/446608-rust-flake/topic/channel.20events.html @@ -0,0 +1,28 @@ + +channel events · rust-flake · Zulip Chat Archive +

Stream: rust-flake

+

Topic: channel events

+ +
+ + + + + + +

view this post on Zulip Notification Bot (Jul 18 2024 at 10:06):

+

Public channel created by Shivaraj B H. Description:

+
+

Discussions about https://github.com/juspay/rust-flake

+
+ + + + +

view this post on Zulip Notification Bot (Jul 18 2024 at 15:15):

+

Srid changed the access permissions for this channel from Public to Web-public.

+ + + +

Last updated: Nov 13 2024 at 14:34 UTC

+ \ No newline at end of file diff --git a/streams.yaml b/streams.yaml new file mode 100644 index 00000000000..0f0e5f4e6e2 --- /dev/null +++ b/streams.yaml @@ -0,0 +1,2 @@ +included: + - 'web-public:*' diff --git a/style.css b/style.css new file mode 100644 index 00000000000..4d34676ea21 --- /dev/null +++ b/style.css @@ -0,0 +1 @@ +.msg { margin-left: 2em; } diff --git a/zulip_json/413948-nixos/.E2.9C.94.20Automate.20NixOS.20install.20on.20bare.20metal.20-.20howto.3F.json b/zulip_json/413948-nixos/.E2.9C.94.20Automate.20NixOS.20install.20on.20bare.20metal.20-.20howto.3F.json new file mode 100644 index 00000000000..e949f6ca2be --- /dev/null +++ b/zulip_json/413948-nixos/.E2.9C.94.20Automate.20NixOS.20install.20on.20bare.20metal.20-.20howto.3F.json @@ -0,0 +1,26 @@ +[ + { + "content": "

I am not dissing your tutorial here, no worries :smile:

\n

I just had this question coming in from someone else 2 days ago.

\n

But it's good to know that nixos-anywhere works with any live ISO. That is neat, I didn't know that.

", + "id": 439858503, + "sender_full_name": "Andreas", + "timestamp": 1716309950 + }, + { + "content": "

Yes, it is cool

", + "id": 439859012, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716310086 + }, + { + "content": "

Anyways, thanks for the answers.

", + "id": 439859102, + "sender_full_name": "Andreas", + "timestamp": 1716310115 + }, + { + "content": "

Andreas has marked this topic as resolved.

", + "id": 439859123, + "sender_full_name": "Notification Bot", + "timestamp": 1716310120 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/.E2.9C.94.20VM.20-.20QEMU.json b/zulip_json/413948-nixos/.E2.9C.94.20VM.20-.20QEMU.json new file mode 100644 index 00000000000..8f11060154c --- /dev/null +++ b/zulip_json/413948-nixos/.E2.9C.94.20VM.20-.20QEMU.json @@ -0,0 +1,50 @@ +[ + { + "content": "

How do you fake the net devices to a NixOS VM specialization that is simply built with standard Nixos module system components:

\n
nix build .\\#nixosConfigurations.deploy-test-roble\\\n  .config.system.build.vm\n
\n

It's stuck until timeout on this startup:

\n

image.png

\n

This is my current qemu flag setting:

\n
QEMU_KERNEL_PARAMS=console=ttyS0 \\\nQEMU_NET_OPTS="hostfwd=tcp:127.0.0.1:80-:80,hostfwd=tcp:127.0.0.1:443-:433" \\\nsudo ./result/bin/run-roble-vm -nographic; reset\n
\n

Added qemu expert question: why don't I see the boot sequence when run with sudo despite QEMU_KERNEL_PARAMS=console=ttyS0?

", + "id": 425041515, + "sender_full_name": "David Arnold", + "timestamp": 1709717657 + }, + { + "content": "

These env variables are NixOS specific, yes? I wasn't able to find anything on the QEMU_KERNEL_PARAMS variable. But I would say that QEMU_KERNEL_PARAMS=console=ttyS0looks odd without quotation marks. Shouldn't it be like QEMU_KERNEL_PARAMS=\"console=ttyS0\"?

", + "id": 425055019, + "sender_full_name": "Andreas", + "timestamp": 1709721588 + }, + { + "content": "

Yes, these are a way to inject into the nixos-specific bash wrapper:

\n
#! /nix/store/r9h133c9m8f6jnlsqzwf89zg9w0w78s8-bash-5.2-p15/bin/bash\n\nexport PATH=/nix/store/rk067yylvhyb7a360n8k1ps4lb4xsbl3-coreutils-9.3/bin${PATH:+:}$PATH\n\nset -e\n\n# Create an empty ext4 filesystem image. A filesystem image does not\n# contain a partition table but just a filesystem.\ncreateEmptyFilesystemImage() {\n  local name=$1\n  local size=$2\n  local temp=$(mktemp)\n  /nix/store/vvgmw7dmbpfzli5bbcks63j08ajdrl83-qemu-host-cpu-only-8.1.5/bin/qemu-img create -f raw \"$temp\" \"$size\"\n  /nix/store/l9sv8g6xlv06wwbsmqxx4hwpa22q7nq0-e2fsprogs-1.47.0-bin/bin/mkfs.ext4 -L nixos \"$temp\"\n  /nix/store/vvgmw7dmbpfzli5bbcks63j08ajdrl83-qemu-host-cpu-only-8.1.5/bin/qemu-img convert -f raw -O qcow2 \"$temp\" \"$name\"\n  rm \"$temp\"\n}\n\nNIX_DISK_IMAGE=$(readlink -f \"${NIX_DISK_IMAGE:-./roble.qcow2}\") || test -z \"$NIX_DISK_IMAGE\"\n\nif test -n \"$NIX_DISK_IMAGE\" && ! test -e \"$NIX_DISK_IMAGE\"; then\n    echo \"Disk image do not exist, creating the virtualisation disk image...\"\n\n    createEmptyFilesystemImage \"$NIX_DISK_IMAGE\" \"1024M\"\n\n    echo \"Virtualisation disk image created.\"\nfi\n\n# Create a directory for storing temporary data of the running VM.\nif [ -z \"$TMPDIR\" ] || [ -z \"$USE_TMPDIR\" ]; then\n    TMPDIR=$(mktemp -d nix-vm.XXXXXXXXXX --tmpdir)\nfi\n\n\n\n# Create a directory for exchanging data with the VM.\nmkdir -p \"$TMPDIR/xchg\"\n\n\n\n\n\n\n\ncd \"$TMPDIR\"\n\n\n\n\n# Start QEMU.\nexec /nix/store/vvgmw7dmbpfzli5bbcks63j08ajdrl83-qemu-host-cpu-only-8.1.5/bin/qemu-kvm -cpu max \\\n    -name roble \\\n    -m 1024 \\\n    -smp 1 \\\n    -device virtio-rng-pci \\\n    -net nic,netdev=user.0,model=virtio -netdev user,id=user.0,\"$QEMU_NET_OPTS\" \\\n    -virtfs local,path=/nix/store,security_model=none,mount_tag=nix-store \\\n    -virtfs local,path=\"${SHARED_DIR:-$TMPDIR/xchg}\",security_model=none,mount_tag=shared \\\n    -virtfs local,path=\"$TMPDIR\"/xchg,security_model=none,mount_tag=xchg \\\n    -drive cache=writeback,file=\"$NIX_DISK_IMAGE\",id=drive1,if=none,index=1,werror=report -device virtio-blk-pci,bootindex=1,drive=drive1,serial=root \\\n    -device virtio-keyboard \\\n    -usb \\\n    -device usb-tablet,bus=usb-bus.0 \\\n    -kernel ${NIXPKGS_QEMU_KERNEL_roble:-/nix/store/w13hckxyqaqjaf9xxx7s889mbfhnv5iq-nixos-system-roble-23.11pre-git/kernel} \\\n    -initrd /nix/store/ayvzq5hpdx552w092k0mbmr1qfia9inb-initrd-linux-6.6.19/initrd \\\n    -append \"$(cat /nix/store/w13hckxyqaqjaf9xxx7s889mbfhnv5iq-nixos-system-roble-23.11pre-git/kernel-params) init=/nix/store/w13hckxyqaqjaf9xxx7s889mbfhnv5iq-nixos-system-roble-23.11pre-git/init regInfo=/nix/store/xss2c6kv0rjjawcwf7vwjhcnlda8wq5q-closure-info/registration console=ttyS0,115200n8 console=tty0 $QEMU_KERNEL_PARAMS\" \\\n    $QEMU_OPTS \\\n    \"$@\"\n
", + "id": 425056541, + "sender_full_name": "David Arnold", + "timestamp": 1709722071 + }, + { + "content": "

Looking at this wrapper, console=ttyS0,115200n8 console=tty0 appears to be the default, right? So you wouldn't have to set this yourself?

", + "id": 425059641, + "sender_full_name": "Andreas", + "timestamp": 1709723069 + }, + { + "content": "

I figured it out -- under virtualisation.vmVariant one can modify the vm variant.

\n

And similarly, I could modify the network interfaces.

\n
    virtualisation.vmVariant.networking.useDHCP = lib.mkForce true;\n    virtualisation.vmVariant.networking.interfaces = lib.mkForce {};\n
", + "id": 425084884, + "sender_full_name": "David Arnold", + "timestamp": 1709731365 + }, + { + "content": "

David Arnold has marked this topic as resolved.

", + "id": 425084897, + "sender_full_name": "Notification Bot", + "timestamp": 1709731369 + }, + { + "content": "

Alright, would you care posting a snippet of the whole working thing @David Arnold ? I wanna play with it maybe in the coming days. Is it possible to create Non-NixOS VMs this way?

", + "id": 425097090, + "sender_full_name": "Andreas", + "timestamp": 1709734666 + }, + { + "content": "

Yep, any NixOS is also a VM under config.system.build.vm...

\n

It's just that virtualisation.vmVariant.* is made so that under that namespace, you can override any other option that would otherwise be set in the \"main\" NixOS.

\n

I'm currently using this for testing a Frappix deployment, but the deployment itself is private, so I can't share too much. I try to sketch some domain-specific gotchas in the docs, though.

", + "id": 425104595, + "sender_full_name": "David Arnold", + "timestamp": 1709736630 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/.E2.9C.94.20Weird.20behavior.20in.20socat.json b/zulip_json/413948-nixos/.E2.9C.94.20Weird.20behavior.20in.20socat.json new file mode 100644 index 00000000000..3d84a25e109 --- /dev/null +++ b/zulip_json/413948-nixos/.E2.9C.94.20Weird.20behavior.20in.20socat.json @@ -0,0 +1,44 @@ +[ + { + "content": "

I started python -m http.server -b 127.0.0.1 8193
\nand ran socat TCP6-LISTEN:8192,reuseaddr,fork TCP:127.0.0.1:8193 to forward all IPv6 incoming traffic at [::1]:8192 to 127.0.0.1:8193
\nBut I can even get the data using curl 127.0.0.1:8192

\n

Can someone please explain? I tried asking GPT-3.5 and Gemini, but didn't get any satisfactory answer.
\nnetstat -tulpn output

\n
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name\ntcp6       0      0 :::8192                 :::*                    LISTEN      7448/socat\n
", + "id": 424475558, + "sender_full_name": "majorkaks", + "timestamp": 1709443298 + }, + { + "content": "

My final goal is to use this to allow playing games which support IPv4 over IPv6.

", + "id": 424475637, + "sender_full_name": "majorkaks", + "timestamp": 1709443364 + }, + { + "content": "

What’s the result of running curl on your ipv6 loopback on port 8192? Do you still get the response?

", + "id": 424928777, + "sender_full_name": "Shivaraj B H", + "timestamp": 1709662064 + }, + { + "content": "

Yeah, curl http://[::1]:8192 works as expected.

", + "id": 425041261, + "sender_full_name": "majorkaks", + "timestamp": 1709717596 + }, + { + "content": "

Ah nvm, figured it out on RTFM.
\nsocat TCP6-LISTEN:8192,reuseaddr,fork,ipv6only TCP:127.0.0.1:8193 works as expected in IPv6 only mode
\nimage.png

\n
", + "id": 425042246, + "sender_full_name": "majorkaks", + "timestamp": 1709717870 + }, + { + "content": "

trying to mark the stream resolved

\n

Please resolve this stream.

\n
    \n
  • I cannot click resolve without having a recent message.
  • \n
  • I don't have permission if it's older than 7 days.
  • \n
", + "id": 426939751, + "sender_full_name": "majorkaks", + "timestamp": 1710632323 + }, + { + "content": "

Srid has marked this topic as resolved.

", + "id": 427087664, + "sender_full_name": "Notification Bot", + "timestamp": 1710673601 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/.E2.9C.94.20systemd.20host.20resolve.20.28matrix.2Ftwisted.29.json b/zulip_json/413948-nixos/.E2.9C.94.20systemd.20host.20resolve.20.28matrix.2Ftwisted.29.json new file mode 100644 index 00000000000..d44e28609c8 --- /dev/null +++ b/zulip_json/413948-nixos/.E2.9C.94.20systemd.20host.20resolve.20.28matrix.2Ftwisted.29.json @@ -0,0 +1,92 @@ +[ + { + "content": "

within a systemd service

\n
synapse.http.client: [sentinel] Error sending request to  GET https://sistema.frx.localhost/.well-known/openid-configuration: RequestTimedOutError 504: Timeout [...]\n
\n

From the host:

\n
❯ curl -L https://sistema.frx.localhost/api/method/frappe.integrations.oauth2.openid_configuration\nHTTP/2 200\nserver: nginx\ndate: Wed, 06 Mar 2024 19:42:27 GMT\ncontent-type: application/json\ncontent-length: 763\nvary: Accept-Encoding\nset-cookie: sid=Guest; Expires=Sat, 09 Mar 2024 14:42:26 GMT; Secure; HttpOnly; Path=/; SameSite=Lax\nset-cookie: system_user=no; Secure; Path=/; SameSite=Lax\nset-cookie: full_name=Guest; Secure; Path=/; SameSite=Lax\nset-cookie: user_id=Guest; Secure; Path=/; SameSite=Lax\nset-cookie: user_image=; Secure; Path=/; SameSite=Lax\nx-frame-options: SAMEORIGIN\nx-content-type-options: nosniff\nx-xss-protection: 1; mode=block\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\nreferrer-policy: same-origin, strict-origin-when-cross-origin\n\n{\n    "issuer": "https://sistema.frx.localhost",\n    "authorization_endpoint": "https://sistema.frx.localhost/api/method/frappe.integrations.oauth2.authorize",\n    "token_endpoint": "https://sistema.frx.localhost/api/method/frappe.integrations.oauth2.get_token",\n    "userinfo_endpoint": "https://sistema.frx.localhost/api/method/frappe.integrations.oauth2.openid_profile",\n    "revocation_endpoint": "https://sistema.frx.localhost/api/method/frappe.integrations.oauth2.revoke_token",\n    "introspection_endpoint": "https://sistema.frx.localhost/api/method/frappe.integrations.oauth2.introspect_token",\n    "response_types_supported": [\n        "code",\n        "token",\n        "code id_token",\n        "code token id_token",\n        "id_token",\n        "id_token token"\n    ],\n    "subject_types_supported": [\n        "public"\n    ],\n    "id_token_signing_alg_values_supported": [\n        "HS256"\n    ]\n}\n
\n

What's the matter?

", + "id": 425165093, + "sender_full_name": "David Arnold", + "timestamp": 1709754172 + }, + { + "content": "
❯ cat /etc/nsswitch.conf\n───────┬────────────────────────────────────────────────────────────────────────\n       │ File: /etc/nsswitch.conf\n───────┼────────────────────────────────────────────────────────────────────────\n   1   │ passwd:    files systemd\n   2   │ group:     files [success=merge] systemd\n   3   │ shadow:    files\n   4   │\n   5   │ hosts:     mymachines resolve [!UNAVAIL=return] files myhostname dns\n   6   │ networks:  files\n   7   │\n   8   │ ethers:    files\n   9   │ services:  files\n  10   │ protocols: files\n  11   │ rpc:       files\n───────┴────────────────────────────────────────────────────────────────────────\n
\n

^^ it doesn't matter whether I use systemd-resolved or not...

\n
❯ cat /etc/hosts\n───────┬────────────────────────────────────────────────────────────────────────\n       │ File: /etc/hosts\n───────┼────────────────────────────────────────────────────────────────────────\n   1   │ 127.0.0.1 localhost\n   2   │ ::1 localhost\n───────┴────────────────────────────────────────────────────────────────────────\n
\n
❯ cat /etc/hostname\n───────┬────────────────────────────────────────────────────────────────────────\n       │ File: /etc/hostname\n───────┼────────────────────────────────────────────────────────────────────────\n   1   │ frx\n───────┴────────────────────────────────────────────────────────────────────────\n
", + "id": 425165394, + "sender_full_name": "David Arnold", + "timestamp": 1709754284 + }, + { + "content": "

is the systemd service configured in a private network namespace or something?

", + "id": 425165782, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1709754425 + }, + { + "content": "

I'm not really sure if I can tell anything apart here:

\n
  17   │ ExecStartPre=/nix/store/l9f43mkpwah0md2gi4hhzmsxxdlc56qm-unit-script-ma\n       │ trix-synapse-pre-start/bin/matrix-synapse-pre-start\n  18   │ ExecStartPre=+/nix/store/680aj7bs2gbr5q18dgapzwy04vicn1q9-matrix-synaps\n       │ e-fix-permissions\n  19   │ Group=matrix-synapse\n  30   │ ProtectKernelLogs=true\n  20   │ LockPersonality=true\n  21   │ NoNewPrivileges=true\n  22   │ PrivateDevices=true\n  23   │ PrivateTmp=true\n  24   │ PrivateUsers=true\n  25   │ ProcSubset=pid\n  26   │ ProtectClock=true\n  27   │ ProtectControlGroups=true\n  28   │ ProtectHome=true\n  29   │ ProtectHostname=true\n  30   │ ProtectKernelLogs=true\n  31   │ ProtectKernelModules=true\n  32   │ ProtectKernelTunables=true\n  33   │ ProtectProc=invisible\n  34   │ ProtectSystem=strict\n  35   │ ReadWritePaths=/var/lib/matrix-synapse\n  36   │ ReadWritePaths=/var/lib/matrix-synapse/media_store\n  37   │ RemoveIPC=true\n  38   │ Restart=on-failure\n  39   │ RestrictAddressFamilies=AF_INET\n  40   │ RestrictAddressFamilies=AF_INET6\n  41   │ RestrictAddressFamilies=AF_UNIX\n:\n  43   │ RestrictRealtime=true\n  44   │ RestrictSUIDSGID=true\n  45   │ SystemCallArchitectures=native\n  46   │ SystemCallFilter=@system-service\n  47   │ SystemCallFilter=~@resources\n  48   │ SystemCallFilter=~@privileged\n  49   │ Type=notify\n  50   │ UMask=0077\n  51   │ User=matrix-synapse\n  52   │ WorkingDirectory=/var/lib/matrix-synapse\n───────┴────────────────────────────────────────────────────────────────────────\n
", + "id": 425167618, + "sender_full_name": "David Arnold", + "timestamp": 1709755063 + }, + { + "content": "

From what I gather, assuming you are trying to run Synapse with OIDC, there might be some issues on Synapse's GitHub related to this:

\n

https://github.com/matrix-org/synapse/issues/9662
\nhttps://github.com/matrix-org/synapse/issues/8741
\nhttps://github.com/matrix-org/synapse/issues/16004

\n

Judging from a first look, it might have something to do with TLS certificates.

", + "id": 425168801, + "sender_full_name": "Andreas", + "timestamp": 1709755496 + }, + { + "content": "

Oh! What a deceiving traceback! :smile:

", + "id": 425169147, + "sender_full_name": "David Arnold", + "timestamp": 1709755640 + }, + { + "content": "

PrivateNetwork=true would indicate a private network namespace, so looks like that is not it. TLS would have been my next guess, but that usually doesn't result in a 504 :thinking:

", + "id": 425169185, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1709755656 + }, + { + "content": "

It appears Synapse has a use_insecure_ssl_client_just_for_testing_do_not_use: true parameter setting you might try and see if it works...

", + "id": 425169373, + "sender_full_name": "Andreas", + "timestamp": 1709755730 + }, + { + "content": "

Yeah, it just doesn't work with my frx.localhost test domain in VM...

\n

I'm setting up static certs, but it seams python doesn't acquire the root properly... I remember this is a pita and one might readily have to patch half of nixpkgs to get it into one of these certify packages that are a transitive dependency to half of the tree.

", + "id": 425169390, + "sender_full_name": "David Arnold", + "timestamp": 1709755739 + }, + { + "content": "
from twisted.internet.ssl import (\n    CertificateOptions,\n    ContextFactory,\n    TLSVersion,\n    platformTrust, # this one is twisted :-)\n)\n
\n
\n

platformTrus: [...] any process where the SSL_CERT_FILE environment variable is set to the path of a file containing your desired CA certificates bundle.

\n
", + "id": 425173862, + "sender_full_name": "David Arnold", + "timestamp": 1709757592 + }, + { + "content": "

if you are running this service on localhost, perhaps tls isn't necessary anyway?

", + "id": 425174243, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1709757751 + }, + { + "content": "

Unfortunately, it's a requirement that is part of the oidc stack, which otherwise would just error out, somewhat reasonably, actually.

", + "id": 425174497, + "sender_full_name": "David Arnold", + "timestamp": 1709757858 + }, + { + "content": "

This seemed to have ultimately appeased twisted:

\n
{\n    systemd.services.matrix-synapse.environment = {\n      SSL_CERT_FILE = config.environment.etc.\"ssl/certs/ca-certificates.crt\".source;\n    };\n}\n
\n

Thanks for the hint about certs! :smile:

", + "id": 425177103, + "sender_full_name": "David Arnold", + "timestamp": 1709758852 + }, + { + "content": "

This is what honors the effect of:

\n
      security.pki.certificateFiles = [myca];\n
", + "id": 425177486, + "sender_full_name": "David Arnold", + "timestamp": 1709759017 + }, + { + "content": "

David Arnold has marked this topic as resolved.

", + "id": 425178703, + "sender_full_name": "Notification Bot", + "timestamp": 1709759516 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/Automate.20NixOS.20install.20on.20bare.20metal.20-.20howto.3F.json b/zulip_json/413948-nixos/Automate.20NixOS.20install.20on.20bare.20metal.20-.20howto.3F.json new file mode 100644 index 00000000000..f5a73e74ca7 --- /dev/null +++ b/zulip_json/413948-nixos/Automate.20NixOS.20install.20on.20bare.20metal.20-.20howto.3F.json @@ -0,0 +1,68 @@ +[ + { + "content": "

What is the easiest way to automate a NixOS install on bare metal? I had this question coming from someone, and I didn't quite know how to answer it.

\n

Make a custom boot image I guess?

\n

Partition disks with disko I guess?

\n

But after that, is there a straightforward way to set up the boot image in such a way to pull in a (private) github nixosConfiguration from a flake to do all this stuff on first boot automatically?

", + "id": 439757403, + "sender_full_name": "Andreas", + "timestamp": 1716279462 + }, + { + "content": "

I would say this: https://nixos.asia/en/nixos-install-oneclick, once the tutorial is complete.

", + "id": 439855776, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716309082 + }, + { + "content": "

ah awesome @Shivaraj B H I will check it out.

\n

But I do not want to enter any commands on the machine I am installing NixOS on.

", + "id": 439855925, + "sender_full_name": "Andreas", + "timestamp": 1716309128 + }, + { + "content": "

Then it would be nixos-anywhere. Assuming you have wired ethernet and ssh access, it should work.

", + "id": 439856686, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716309390 + }, + { + "content": "

yeah so the idea is then this?

\n

1) Make a custom boot iso for NixOS with ssh access and ssh keys and stuff
\n2) Boot machine from that ISO
\n3) Use nixos-anywhere remotely to do disk configuration and proper installation

", + "id": 439857010, + "sender_full_name": "Andreas", + "timestamp": 1716309489 + }, + { + "content": "

You wouldn’t need NixOS in Step 1, it could be any Linux distro

", + "id": 439857558, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716309676 + }, + { + "content": "

Yeah okay, technically that is true, but assuming I don't wanna mess with that and have a fundamentalist-purist approach :smile:

\n

Also we are talking bare-metal install here, so I have physical access to the machine, I can put a USB drive in with whatever I have.

", + "id": 439857834, + "sender_full_name": "Andreas", + "timestamp": 1716309746 + }, + { + "content": "

The important point is also: I don't want to install any other Linux distro first. I just want to boot a live ISO.

", + "id": 439857918, + "sender_full_name": "Andreas", + "timestamp": 1716309776 + }, + { + "content": "

Can I use nixos-anywhere with, let's say, an Arch Linux Live USB boot?

", + "id": 439858013, + "sender_full_name": "Andreas", + "timestamp": 1716309808 + }, + { + "content": "

Yes

", + "id": 439858255, + "sender_full_name": "Srid", + "timestamp": 1716309867 + }, + { + "content": "
\n

Can I use nixos-anywhere with, let's say, an Arch Linux Live USB boot?

\n
\n

Yes

\n
\n

The important point is also: I don't want to install any other Linux distro first. I just want to boot a live ISO.

\n
\n

In this case, I would still say https://nixos.asia/en/nixos-install-oneclick is most reliable approach

", + "id": 439858294, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716309877 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/Bitwarden.20for.20SSH.20authentication.20and.20git.20commit.20signing.json b/zulip_json/413948-nixos/Bitwarden.20for.20SSH.20authentication.20and.20git.20commit.20signing.json new file mode 100644 index 00000000000..e867384d723 --- /dev/null +++ b/zulip_json/413948-nixos/Bitwarden.20for.20SSH.20authentication.20and.20git.20commit.20signing.json @@ -0,0 +1,86 @@ +[ + { + "content": "

Has anyone used Bitwarden with a vaultwarden instance to sign git commits and store ssh keys?

", + "id": 442066311, + "sender_full_name": "RGBCube", + "timestamp": 1717343121 + }, + { + "content": "

cc @Shivaraj B H

\n

(Also, related: this topic)

", + "id": 442067443, + "sender_full_name": "Srid", + "timestamp": 1717343777 + }, + { + "content": "

I wanted to try out self-hosted vaultwarden soonishly. Does it have that kind of capability?

", + "id": 442082389, + "sender_full_name": "Andreas", + "timestamp": 1717350849 + }, + { + "content": "

I use vaultwarden, but it’s only limited to my passwords at the moment. I don’t store my SSH keys there yet as I was looking for a better solution (related topic that srid linked ^). Bitwarden has Secrets manager, but the last I checked, it was proprietary.

\n

I was planning to try this out myself with existing vaultwarden. Storing the keys and retrieving them using the “bw” CLI seems straightforward, but signing commits is what would be interesting to see.

\n

Anyways, I will update this thread with my progress.

", + "id": 442082737, + "sender_full_name": "Shivaraj B H", + "timestamp": 1717351046 + }, + { + "content": "
\n

Storing the keys and retrieving them using the “bw” CLI seems straightforward

\n
\n

So you would store them as what in vaultwarden? As a secure note? I still use regular Bitwarden for my passwords, so I am not sure which capabilities vaultwarden actually has.

", + "id": 442083135, + "sender_full_name": "Andreas", + "timestamp": 1717351217 + }, + { + "content": "

Signing shouldn't be that hard, let me see

", + "id": 442084129, + "sender_full_name": "RGBCube", + "timestamp": 1717351686 + }, + { + "content": "

@Shivaraj B H For storing SSH private keys I use https://github.com/charmbracelet/melt and store the melted key physically in my wallet. works well and is offline

", + "id": 442084262, + "sender_full_name": "RGBCube", + "timestamp": 1717351760 + }, + { + "content": "

If everything goes wrong, I can use that key to redeploy everything and ssh into my servers which is great. it's not really possible for me to lose access this way

", + "id": 442084341, + "sender_full_name": "RGBCube", + "timestamp": 1717351802 + }, + { + "content": "

@RGBCube how do you manage the seed phrases used to create the melted key?

", + "id": 442085996, + "sender_full_name": "Shivaraj B H", + "timestamp": 1717352667 + }, + { + "content": "

Andreas said:

\n
\n
\n

Storing the keys and retrieving them using the “bw” CLI seems straightforward

\n
\n

So you would store them as what in vaultwarden? As a secure note? I still use regular Bitwarden for my passwords, so I am not sure which capabilities vaultwarden actually has.

\n
\n

Yes, I believe it should be secure note. I am guessing that’s what @RGBCube is doing with his melted keys

", + "id": 442086131, + "sender_full_name": "Shivaraj B H", + "timestamp": 1717352757 + }, + { + "content": "

No, it's not in any password manager, i wrote the melted key down on a piece of paper and put it in my physical wallet.

", + "id": 442086561, + "sender_full_name": "RGBCube", + "timestamp": 1717352995 + }, + { + "content": "

And the melted key doesn't have a passphrase, when you unmelt it it asks you for a passphrase

", + "id": 442086632, + "sender_full_name": "RGBCube", + "timestamp": 1717353016 + }, + { + "content": "

Asks you for a passphrase as in ssh-keygening on the melted key to add a passphrase to the restored one

", + "id": 442086735, + "sender_full_name": "RGBCube", + "timestamp": 1717353080 + }, + { + "content": "

We have a vaultwarden at work to share passwords and some keys. I would say it's not really appropriate for our usecase.

\n

It'd probably be better to use short lived ssh certs

", + "id": 442091324, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1717355589 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/Darwin.27s.20linux-builder.json b/zulip_json/413948-nixos/Darwin.27s.20linux-builder.json new file mode 100644 index 00000000000..a874144eafa --- /dev/null +++ b/zulip_json/413948-nixos/Darwin.27s.20linux-builder.json @@ -0,0 +1,38 @@ +[ + { + "content": "

Srid said:

\n
\n

The linux-builder in nix-darwin would streamline it even further,

\n

https://nixcademy.com/2024/02/12/macos-linux-builder/

\n

However, it:

\n
    \n
  • does not support rosetta
  • \n
  • does not build packages with IFD
  • \n
\n
\n

Turns out I'm wrong here re: IFD.

\n

This won't work:

\n
nix --option system aarch64-linux build -L\n
\n

But this will:

\n
nix build -L .#packages.aarch64-linux.default\n
\n

cf. https://github.com/NixOS/nixpkgs/issues/39664

\n

That said, I still couldn't get x86_64-linux builds to work. It requires improving the nix-darwin linux builder to take arbitrary configuration, so I can set a binfmt.emulatedSystems.

", + "id": 422873371, + "sender_full_name": "Srid", + "timestamp": 1708624844 + }, + { + "content": "

A message was moved here from #nixos > Home CI machine (portable) by Srid.

", + "id": 422873411, + "sender_full_name": "Notification Bot", + "timestamp": 1708624859 + }, + { + "content": "

What will it take to merge all these PRs?

\n

image.png

\n
", + "id": 422875092, + "sender_full_name": "Srid", + "timestamp": 1708625345 + }, + { + "content": "

x86 builds

\n

Using https://github.com/LnL7/nix-darwin/pull/878

\n

I can get x86 packages to build via linux-builder. The config,

\n
  # To build Linux derivations whilst on macOS.\n  nix.linux-builder = {\n    enable = true;\n    systems = [\n      \"x86_64-linux\"\n      \"aarch64-linux\"\n    ];\n    config = { lib, ... }: {\n      boot.binfmt.emulatedSystems = [ \"x86_64-linux\" ];\n      virtualisation = {\n        # Larger linux-builder cores, ram, and disk.\n        cores = 6;\n        memorySize = lib.mkForce (1024 * 16);\n        diskSize = lib.mkForce (1024 * 1); # In MB.\n      };\n    };\n  };\n
\n

Incidentally, I gain the impression that the linux-builder is draining my battery faster than the parallels VM.

", + "id": 422882375, + "sender_full_name": "Srid", + "timestamp": 1708627503 + }, + { + "content": "

Timing for a) macOS native, b) arm linux, c) x86 emulation when building haskell-template. I'll do a thorough benchmark latter.

\n

image.png

\n
", + "id": 422888671, + "sender_full_name": "Srid", + "timestamp": 1708629685 + }, + { + "content": "

Got something working on macOS. Along with https://github.com/srid/nixci/pull/39 I can now build Emanote (PR) on arm Linux and mac, using the builders hosted on the same host (macbook),

\n
jobs:\n  nix:\n    runs-on: self-hosted\n    strategy:\n      matrix:\n        # TODO: Disablig x86_64-linux for now, as it is causing qemu segfault.\n        # Fix treefmt check causing qemu segfault: https://nixos.zulipchat.com/#narrow/stream/413948-nixos/topic/QEMU.20internal.20SIGSEGV\n        system: [aarch64-linux, aarch64-darwin]\n    steps:\n      - uses: actions/checkout@v4\n      - name: Build Nix\n        run: |\n          nixci --build-systems \"github:nix-systems/${{ matrix.system }}\"\n
", + "id": 423032262, + "sender_full_name": "Srid", + "timestamp": 1708700392 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/Deploying.20to.20DigitalOcean.json b/zulip_json/413948-nixos/Deploying.20to.20DigitalOcean.json new file mode 100644 index 00000000000..38514eb5043 --- /dev/null +++ b/zulip_json/413948-nixos/Deploying.20to.20DigitalOcean.json @@ -0,0 +1,44 @@ +[ + { + "content": "

I'm trying to find the best way to deploy NixOS to DigitalOcean.

\n

Traditional way

\n
    \n
  • Create a Ubuntu 22.04 droplet
  • \n
  • Install NixOS atop using nixos-infect
  • \n
  • Enable flakes, copy hardware configuration to Git repo, refactor the flake
  • \n
\n

New way

\n

In particular, can all of this be automated by directly installing from a Git flake input? Similar to nixos-anywhere.

\n

(Will update this topic based on what I find out)

", + "id": 405388696, + "sender_full_name": "Srid", + "timestamp": 1701445221 + }, + { + "content": "

Building DigitalOcean NixOS Image

\n

In flake.nix,

\n
      perSystem = { pkgs, ... }: {\n        packages.doImage =\n          let\n            config = {\n              imports = [\n                \"${pkgs.path}/nixos/modules/virtualisation/digital-ocean-image.nix\"\n              ];\n              nix.settings.experimental-features = [ \"nix-command\" \"flakes\" ];\n              users.users.admin = {\n                isNormalUser = true;\n                openssh.authorizedKeys.keys = [\n                  # Srid's public key\n                  \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHQRxPoqlThDrkR58pKnJgmeWPY9/wleReRbZ2MOZRyd\"\n                ];\n              };\n              system.stateVersion = \"23.11\";\n            };\n          in\n          (pkgs.nixos config).digitalOceanImage;\n      };\n
\n

nix build .#doImage => ./result/nixos.qcow2.gz

\n

Then you upload it to DO console

\n
", + "id": 405409825, + "sender_full_name": "Srid", + "timestamp": 1701452282 + }, + { + "content": "

Needs a services.openssh.enable = true; in the config, but yes - that works to one-click install the latest NixOS with flakes enabled.

\n

SSH session on droplet

\n
", + "id": 405419902, + "sender_full_name": "Srid", + "timestamp": 1701456571 + }, + { + "content": "

Deployment

\n

Next, need to figure out deployment ...

\n

Gonna try colmena, rather than deploy-rs, this time because it has built-in support for secrets: https://colmena.cli.rs/unstable/features/keys.html

", + "id": 405421361, + "sender_full_name": "Srid", + "timestamp": 1701457194 + }, + { + "content": "

Needed to add admin to Nix's trusted-users in the DO image. Then deployment works.

\n

Proof of concept: https://github.com/fpindia/fpindia-chat/pull/1

\n

colmena deployment

\n
", + "id": 405429704, + "sender_full_name": "Srid", + "timestamp": 1701460778 + }, + { + "content": "

Two potential shortcomings of colmena, per https://lobste.rs/s/pka4na/nixops_is_easier_than_i_thought

\n
    \n
  • No automatic rollbacks
  • \n
  • Doesn't recognize nixosConfigurations output like deploy-rs does
  • \n
", + "id": 405432026, + "sender_full_name": "Srid", + "timestamp": 1701461762 + }, + { + "content": "

Secrets

\n

https://colmena.cli.rs/unstable/features/keys.html

\n

colmena configured to read secrets form 1Password during deployment:

\n
  deployment.keys.\"matrix-shared-secret.secret\" = {\n    keyCommand = [ \"op\" \"read\" \"op://Juspay/fpindia-chat secrets/matrix-shared-secret\" ];\n    user = config.systemd.services.matrix-synapse.serviceConfig.User;\n  };\n
\n

(This could be any secret manager of course; in 1Password's case I get prompted to use TouchID)

\n

We don't really need the complexity of sops-nix!

", + "id": 405440088, + "sender_full_name": "Srid", + "timestamp": 1701465821 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/Home.20CI.20machine.20.28portable.29.json b/zulip_json/413948-nixos/Home.20CI.20machine.20.28portable.29.json new file mode 100644 index 00000000000..bcbe238bd86 --- /dev/null +++ b/zulip_json/413948-nixos/Home.20CI.20machine.20.28portable.29.json @@ -0,0 +1,236 @@ +[ + { + "content": "

For macOS builds, the answer to what \"the simplest and space efficient & portable way to setup a CI machine at home\" is clearly the Mac Mini.

\n

What would be the answer for x86 Linux (NixOS) builds? Is there an equivalent hardware? I'd like to move away from Hetzner Dedicated to something hosted at home.

\n

cc @Tim DeHerrera @Shivaraj B H

", + "id": 422415894, + "sender_full_name": "Srid", + "timestamp": 1708435222 + }, + { + "content": "

Note: 'portable' as in I can throw it all in an international-flight allowed luggage.

", + "id": 422416151, + "sender_full_name": "Srid", + "timestamp": 1708435296 + }, + { + "content": "

I have only experience of self-hosting a raspberry pi model 4 and an old ASUS fx503vd laptop of mine. I host DNS server, password manager, file syncing service and a reverse proxy on my pi. I use the Asus laptop to play around with GitHub runners.

", + "id": 422447076, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708444272 + }, + { + "content": "

I am looking for a portable Linux box as well, in the same form factor as the Mac mini

", + "id": 422447195, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708444314 + }, + { + "content": "

For portability, I tend to carry around the SSD, I got an SSD enclosure that supports upto 10gbps of transfer speeds if I want to carry only the data around. I am still yet to play around with encrypting the disk for security and hardware RAID for redundancy

", + "id": 422447905, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708444516 + }, + { + "content": "

Have you looked at intel's NUC boxes? Some of those have fairly decent compute and are basically the same size as a mac mini.

", + "id": 422469515, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708450896 + }, + { + "content": "

Interesting, I think I'll buy one of those NUCs.

", + "id": 422469888, + "sender_full_name": "Srid", + "timestamp": 1708451055 + }, + { + "content": "

66500FAF-187B-4E03-94B1-59F7EB30DB24.jpg

\n
", + "id": 422470540, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708451307 + }, + { + "content": "

Great, I am getting one as well

", + "id": 422470560, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708451317 + }, + { + "content": "

Oh wait, let me see if I can even buy this in India :smile:

", + "id": 422470635, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708451349 + }, + { + "content": "

Okay, I can.

", + "id": 422470840, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708451422 + }, + { + "content": "

Which NUC will you be getting?

", + "id": 422471003, + "sender_full_name": "Srid", + "timestamp": 1708451496 + }, + { + "content": "

Intel NUC 13 pro is what I was thinking

", + "id": 422471656, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708451740 + }, + { + "content": "

https://amzn.eu/d/bTINAUA

", + "id": 422471668, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708451744 + }, + { + "content": "

This looks like barebones configuration without memory/SSD?

\n

I'm looking at the same, but with memory/SSD installed: https://www.amazon.ca/Canyon-i5-1340P-Support-Thunderbolt-Windows/dp/B0CC2P1TVH/

\n

Though it makes sense to get the barebones one and install whatever you need on top.

", + "id": 422472498, + "sender_full_name": "Srid", + "timestamp": 1708452028 + }, + { + "content": "

Yeah, I want to swap stuff based on need

", + "id": 422472708, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708452109 + }, + { + "content": "

NUCs are dead?

\n
\n

The popular Intel NUC Mini PCs were to be scrapped - an austerity measure that was necessary after Intel's mounting losses. The processor giant has now reached an agreement with Asus to continue manufacturing existing NUC models and to develop new mini PCs. https://www.notebookcheck.com/Intel-NUC-Mini-PCs-werden-kuenftig-von-Asus-entwickelt-und-vertrieben.735057.0.html

\n
", + "id": 422473928, + "sender_full_name": "Srid", + "timestamp": 1708452527 + }, + { + "content": "

That's a German article, but I learned of it from this English one

", + "id": 422474009, + "sender_full_name": "Srid", + "timestamp": 1708452558 + }, + { + "content": "

Huh, well you can still buy them on Amazon for now at least :sweat_smile:

", + "id": 422474020, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708452562 + }, + { + "content": "

I wish the world switched to ARM, then I can just run a Linux VM on my arm Mac.

", + "id": 422474088, + "sender_full_name": "Srid", + "timestamp": 1708452585 + }, + { + "content": "

Well, it is really easy to setup an x86 NixOS box to emulate arm at least. I know that's the opposite of what you want though :sweat_smile:

", + "id": 422474399, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708452691 + }, + { + "content": "

I am thinking that the NUC is a little too expensive for only the CPU, ports and the box. I might go scavenging in the local market nearby, see if I can find something cheap

", + "id": 422475164, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708452939 + }, + { + "content": "

Tim DeHerrera said:

\n
\n

Well, it is really easy to setup an x86 NixOS box to emulate arm at least. I know that's the opposite of what you want though :sweat_smile:

\n
\n

You know what I am thinking? Just get a Mac Studio and setup a x86 Linux VM on it providing Linux CI.

\n

But if I'm going with that option, I should probably just wait for the M3 studio in second half of this year.

", + "id": 422476776, + "sender_full_name": "Srid", + "timestamp": 1708453553 + }, + { + "content": "

Shivaraj B H said:

\n
\n

I am thinking that the NUC is a little too expensive for only the CPU, ports and the box. I might go scavenging in the local market nearby, see if I can find something cheap

\n
\n

You will find cheaper alternative. I found some in Canada,

\n", + "id": 422477027, + "sender_full_name": "Srid", + "timestamp": 1708453648 + }, + { + "content": "

Yes, I was also considering getting all teh parts separately and assembling myself.

\n

I am literally getting i5 13th gen 14 core CPU for half the price of what the NUC with 12 core variant costed.

", + "id": 422477280, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708453755 + }, + { + "content": "

Srid said:

\n
\n

Tim DeHerrera said:

\n
\n

Well, it is really easy to setup an x86 NixOS box to emulate arm at least. I know that's the opposite of what you want though :sweat_smile:

\n
\n

You know what I am thinking? Just get a Mac Studio and setup a x86 Linux VM on it providing Linux CI.

\n

But if I'm going with that option, I should probably just wait for the M3 studio in second half of this year.

\n
\n

I'll try this in the meanwhile: repurpose my M1 Max (macbook pro) to run intel x86 VM providing CI for my github projects, in addition to having a native macOS runner (maybe in a VM too) providing macOS CI for the same projects. If nothing else, it would put a good use of my mostly unused 64GB of RAM and CPU cycles.

", + "id": 422477469, + "sender_full_name": "Srid", + "timestamp": 1708453837 + }, + { + "content": "

Actually I don't even need a separate VM for it. Just use the arm NixOS VM, and setup boot.binfmt.emulatedSystems. Then I can build for intel using --option system. Parallels allows the use of rosetta somehow.

\n

image.png

\n
", + "id": 422482237, + "sender_full_name": "Srid", + "timestamp": 1708455579 + }, + { + "content": "

The linux-builder in nix-darwin would streamline it even further,

\n

https://nixcademy.com/2024/02/12/macos-linux-builder/

\n

However, it:

\n
    \n
  • does not support rosetta
  • \n
  • does not build packages with IFD
  • \n
", + "id": 422484121, + "sender_full_name": "Srid", + "timestamp": 1708456120 + }, + { + "content": "

What is the overhead of running parallels NixOS VM? Running a qemu NixOS VM consumes additional 600 MB RAM (on my M1 Pro Mac) to keep the VM running, didn’t check the CPU usage though

", + "id": 422485373, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708456413 + }, + { + "content": "

~850 MB

", + "id": 422486439, + "sender_full_name": "Srid", + "timestamp": 1708456901 + }, + { + "content": "

(That's the total usage, not just overhead, as NixOS boots up)

", + "id": 422486708, + "sender_full_name": "Srid", + "timestamp": 1708457011 + }, + { + "content": "

yeah the binfmt.emulatedSystems is what I was referring to. As for VM overhead I am currently using https://astro.github.io/microvm.nix/.

\n

The cloud-hypervisor instance I'm running seems to reserve all the memory I allocated for the machine up front, but I believe there are ways to configure it so that it doesn't do that. According to this post though, the memory overhead should be miniscule:
\nhttps://github.com/cloud-hypervisor/cloud-hypervisor/issues/1729#issuecomment-1158573430

", + "id": 422487830, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708457410 + }, + { + "content": "

A message was moved from this topic to #nixos > Darwin's linux-builder by Srid.

", + "id": 422873412, + "sender_full_name": "Notification Bot", + "timestamp": 1708624859 + }, + { + "content": "

for portable home CI (linux), I am planning to assemble myself. I will be using mini-itx motherboard for mac-mini like form factor.
\nThis guy on youtube has some pretty cool builds: https://www.youtube.com/watch?v=WN6DUjML8Eo

\n
", + "id": 423472967, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708977304 + }, + { + "content": "

Take pictures along the way for a great blog post.

", + "id": 423488452, + "sender_full_name": "Srid", + "timestamp": 1708983717 + }, + { + "content": "

Shivaraj B H said:

\n
\n

This guy on youtube has some pretty cool builds: https://www.youtube.com/watch?v=WN6DUjML8Eo

\n
\n

That looks very portable indeed!

", + "id": 423653527, + "sender_full_name": "Andreas", + "timestamp": 1709052639 + }, + { + "content": "

1243781E-3B6F-4E7F-9B9E-ED75CF220836.jpg

\n

Got my mac mini to self-host CI and other misc. stuff. Next up, linux build that I spoke of earlier. That might take a while though, temporarily I will use another rog strix laptop I got with i9 13th gen and 3070ti.

\n

Only problem is power consumption, I will try to hack my way through to have something like WOL for mac mini and also on the rog strix for now.

", + "id": 423751250, + "sender_full_name": "Shivaraj B H", + "timestamp": 1709099305 + }, + { + "content": "
\n

Only problem is power consumption

\n
\n

I power expensive where you live? In any case it is hard to beat the Mac Mini when you put in a dedicated GPU I guess...

", + "id": 423795568, + "sender_full_name": "Andreas", + "timestamp": 1709118486 + }, + { + "content": "

It’s not expensive, but I like to be efficient :laughing:

", + "id": 423795819, + "sender_full_name": "Shivaraj B H", + "timestamp": 1709118594 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/How.20to.20apply.20gsettings.20schema.20on.20NixOS.3F.json b/zulip_json/413948-nixos/How.20to.20apply.20gsettings.20schema.20on.20NixOS.3F.json new file mode 100644 index 00000000000..e58a00f8f77 --- /dev/null +++ b/zulip_json/413948-nixos/How.20to.20apply.20gsettings.20schema.20on.20NixOS.3F.json @@ -0,0 +1,8 @@ +[ + { + "content": "

https://discourse.nixos.org/t/how-to-apply-gsettings-in-nixos/54637

", + "id": 478352340, + "sender_full_name": "majorkaks", + "timestamp": 1729624914 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/How.20to.20use.20an.20older.20version.20of.20a.20tool.20in.20NixOS.3F.json b/zulip_json/413948-nixos/How.20to.20use.20an.20older.20version.20of.20a.20tool.20in.20NixOS.3F.json new file mode 100644 index 00000000000..4409a6bd3ff --- /dev/null +++ b/zulip_json/413948-nixos/How.20to.20use.20an.20older.20version.20of.20a.20tool.20in.20NixOS.3F.json @@ -0,0 +1,26 @@ +[ + { + "content": "

On the latest stable, uptime command gives wrong uptime on raspberry pi. It used to work fine before

\n
shivam@vivy ~ $ uptime\n 20:30:24  up 216 days 18:21,  1 user,  load average: 0.04, 0.13, 0.10\nshivam@vivy ~ $ uptime --version\nuptime (GNU coreutils) 9.5\nPackaged by https://nixos.org\nCopyright (C) 2024 Free Software Foundation, Inc.\nLicense GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.\n\nWritten by Joseph Arceneaux, David MacKenzie, and Kaveh Ghazi.\nshivam@vivy ~ $\n
\n

How would I go about using uptime from an older version of coreutils in a temporary shell?

", + "id": 450478235, + "sender_full_name": "majorkaks", + "timestamp": 1720623796 + }, + { + "content": "
nix shell github:nixos/nixpkgs/nixos-23.05#coreutils -c uptime\n
", + "id": 450494652, + "sender_full_name": "Srid", + "timestamp": 1720627101 + }, + { + "content": "

Replace nixos-23.05 with the appropriate branch name or revision of https://github.com/NixOS/nixpkgs

", + "id": 450494729, + "sender_full_name": "Srid", + "timestamp": 1720627127 + }, + { + "content": "

Thanks

\n
shivam@vivy ~ $ nix --extra-experimental-features nix-command --extra-experimental-features flakes shell github:nixos/nixpkgs/23.11#coreutils -c uptime\n 22:30:52  up   0:34,  3 users,  load average: 0.26, 2.86, 3.02\nshivam@vivy ~ $ uptime\n 22:30:56  up 216 days 20:22,  3 users,  load average: 0.24, 2.82, 3.00\n
", + "id": 450509528, + "sender_full_name": "majorkaks", + "timestamp": 1720630875 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/ISO.20download.20speed.json b/zulip_json/413948-nixos/ISO.20download.20speed.json new file mode 100644 index 00000000000..be6abf74b4d --- /dev/null +++ b/zulip_json/413948-nixos/ISO.20download.20speed.json @@ -0,0 +1,14 @@ +[ + { + "content": "

releases.nixos.org used to be faster before, but has now gotten slower:

\n

image.png

\n

They should do torrents.

", + "id": 440399328, + "sender_full_name": "Srid", + "timestamp": 1716498685 + }, + { + "content": "

This morning in Europe I get 25 MBytes/s. Maybe you should move to Europe?

", + "id": 440463315, + "sender_full_name": "Andreas", + "timestamp": 1716539084 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/Installing.20a.20flake.20directly.json b/zulip_json/413948-nixos/Installing.20a.20flake.20directly.json new file mode 100644 index 00000000000..49bec5c68cd --- /dev/null +++ b/zulip_json/413948-nixos/Installing.20a.20flake.20directly.json @@ -0,0 +1,14 @@ +[ + { + "content": "

Per @John Bargman nixos-install --flake github:URL also works during a manual install.

\n

I thought only nixos-anywhere allowed direct flake references when installing.

", + "id": 407473811, + "sender_full_name": "Srid", + "timestamp": 1702387181 + }, + { + "content": "
\n

It turns out nix-shell -p nixUnstable git is enough to enable nixos-install --flake

\n
", + "id": 407477271, + "sender_full_name": "Srid", + "timestamp": 1702388249 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/Is.20there.20a.20way.20to.20test.20how.20reproducible.20my.20system.20is.3F.json b/zulip_json/413948-nixos/Is.20there.20a.20way.20to.20test.20how.20reproducible.20my.20system.20is.3F.json new file mode 100644 index 00000000000..49bf0f9991e --- /dev/null +++ b/zulip_json/413948-nixos/Is.20there.20a.20way.20to.20test.20how.20reproducible.20my.20system.20is.3F.json @@ -0,0 +1,26 @@ +[ + { + "content": "

Is any configuration.nix file _guaranteed_ to be reproducible, or is it not? Is there a best practice of testing this? Is trying to install it on VM sufficient to test this?

", + "id": 440457510, + "sender_full_name": "Muhammad Rizqi Ardiansyah", + "timestamp": 1716536636 + }, + { + "content": "

What do you mean by guaranteed to be reproducible? :smile:

", + "id": 440463082, + "sender_full_name": "Andreas", + "timestamp": 1716538994 + }, + { + "content": "

Well what I meant is that it's going to be the same system on every device

\n

...or is my understanding of the definition of said word incorrect?

", + "id": 440464567, + "sender_full_name": "Muhammad Rizqi Ardiansyah", + "timestamp": 1716539590 + }, + { + "content": "

If its only a configuration.nix file, it might not be reproducible because the packages might be coming from different nixpkgs on each of those devices, based on whatever is set in nix-channel.

\n

But if you use flake.nix, it will be reproducible as you will be pinning the nixpkgs revision in flake.lock. See this tutorial to flakeify your existing configuration.nix: https://nixos.asia/en/nixos-install-flake#flakeify

", + "id": 440466615, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716540458 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/Multi-config.20repos.20and.20sharing.20of.20nixpkgs.json b/zulip_json/413948-nixos/Multi-config.20repos.20and.20sharing.20of.20nixpkgs.json new file mode 100644 index 00000000000..c34e44cc297 --- /dev/null +++ b/zulip_json/413948-nixos/Multi-config.20repos.20and.20sharing.20of.20nixpkgs.json @@ -0,0 +1,26 @@ +[ + { + "content": "

Ideas on this are welcome:

\n

https://github.com/srid/nixos-flake/issues/51

\n

(Need this for a Juspay internal repo, actually)

", + "id": 440167696, + "sender_full_name": "Srid", + "timestamp": 1716406352 + }, + { + "content": "

I tried this: https://github.com/shivaraj-bh/nixos-flake/commit/183fc4d5a38875a9e2cf97728f3b354a25295f2e

\n

It works if we don’t use nixosModules.home-manager.That can be fixed, if we allowspecifying home-manger input as well

", + "id": 440318449, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716469474 + }, + { + "content": "

This will break the existing API though

", + "id": 440318518, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716469494 + }, + { + "content": "

I have tried that approach. Two disadvantages to it:

\n
    \n
  • it breaks with colmena-flake (but that's more a design fault of colmena than anything else).
  • \n
  • coupling
  • \n
\n

To address the coupling issue, I thought of just dedicating a flake to each host, whilst sharing common modules from the root flake. So:

\n
# Root flake, with common modules and inputs\n./flake.nix\n\n# Host A with its own nixpkgs, etc.\n./hosts/a/flake.nix\n\n# Host B with its own nixpkgs, etc.\n./hosts/b/flake.nix\n
\n

There are still some issues with it; I'll have revisit it.

", + "id": 440341865, + "sender_full_name": "Srid", + "timestamp": 1716476304 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/NixBSD.2C.20it.27s.20NixOS.20on.20FreeBSD.json b/zulip_json/413948-nixos/NixBSD.2C.20it.27s.20NixOS.20on.20FreeBSD.json new file mode 100644 index 00000000000..56b7a4edf84 --- /dev/null +++ b/zulip_json/413948-nixos/NixBSD.2C.20it.27s.20NixOS.20on.20FreeBSD.json @@ -0,0 +1,26 @@ +[ + { + "content": "

Yesterday I came across a particular project trying to port something like NixOS to the FreeBSD ecosystem.

\n

https://github.com/nixos-bsd/nixbsd

\n

For now they are maintaining their own fork of nixpkgs and some patches to the nix evaluator and are now trying to build something like a module system for FreeBSD.

\n

As I've been redoing my OPNsense router, which is based on FreeBSD 13, I had an idea. I am not so much interested in having an entire NixOS on FreeBSD. However: Would it be possible to build something like process-compose flakes on FreeBSD-based systems with this?

\n

That would be really neat for extending OPNsense or PFsense with just about anything that can be compiled for FreeBSD.

", + "id": 430952626, + "sender_full_name": "Andreas", + "timestamp": 1712134631 + }, + { + "content": "

Nobody here any interested in being Free with Nix on FreeBSD? :grinning_face_with_smiling_eyes:

", + "id": 431300401, + "sender_full_name": "Andreas", + "timestamp": 1712233371 + }, + { + "content": "

Well I tried Nix on freebsd a few years ago. It would be pretty cool to use it more like NixOS for sure, might give me more incentive to use it again

", + "id": 431316550, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1712238165 + }, + { + "content": "

I wouldn't want to redo the whole FreeBSD system to be like a Nix-infected borg drone. First and foremost my use-case would be to extend firewalls like pfsense / opnsense with Nix-managed services.

\n

Using something like process-compose flake on FreeBSD would be really great. Containerization is still a bit iffy on the platform, even though there is an experimental podman built now I believe.

", + "id": 431318910, + "sender_full_name": "Andreas", + "timestamp": 1712238834 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/NixOS.20.20nat.20race.20condition.3F.json b/zulip_json/413948-nixos/NixOS.20.20nat.20race.20condition.3F.json new file mode 100644 index 00000000000..374e28ef305 --- /dev/null +++ b/zulip_json/413948-nixos/NixOS.20.20nat.20race.20condition.3F.json @@ -0,0 +1,20 @@ +[ + { + "content": "

https://github.com/NixOS/nixpkgs/blob/nixos-23.11/nixos/modules/services/networking/nat.nix Line 181 through 191
\nthe commands all and default should be swapped

\n

Explanation:

\n
 Minor nitpick. When you set the following sysctls:\n\nnet.ipv6.conf.all.forwarding=2\nnet.ipv6.conf.default.forwarding=2\n\nThere is a slight race condition in between the two. "all" includes all existing interfaces, but not future interfaces. "default" includes all future interfaces, but no existing interfaces.\n\nSo if an interface (i.e. ppp0) is created in between the two statements, it will not have that applied. To do it race-free, just reverse the order:\n\nnet.ipv6.conf.default.forwarding=2\nnet.ipv6.conf.all.forwarding=2\n
\n

Reference: search \"race\" on https://vk5tu.livejournal.com/37206.html

", + "id": 426937440, + "sender_full_name": "majorkaks", + "timestamp": 1710631688 + }, + { + "content": "

Should be pretty rare tho, interfaces normally just don't come up and go away.

", + "id": 426938036, + "sender_full_name": "majorkaks", + "timestamp": 1710631849 + }, + { + "content": "

Tonight I was setting up NixOS for rpi5. Thanks to https://github.com/NixOS/nixpkgs/issues/260754#issuecomment-1908664693 it was a pretty smooth experience. Compiling aarch64 on rpi5 with sdcard was quite slow - took about 3-4 hours or so.
\nThe final goal was to replace rpi3 in my home which was running a hotspot with ipv6 capability.
\nI spent some time trying hostapd - but it just wouldn't stay connected for more than a second. I got some error 13 = INVALID_AE. Can share detailed logs in another thread.
\ncreate_ap worked as is, but it didn't have ipv6. Started a radvd server to assign ipv6 and then struggled with forwarding. Finally got it all working! And in all the struggle found this random blog + bug. There may be similar issues in networking

", + "id": 426939540, + "sender_full_name": "majorkaks", + "timestamp": 1710632266 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/NixOS.20Anywhere.json b/zulip_json/413948-nixos/NixOS.20Anywhere.json new file mode 100644 index 00000000000..79795c43dfc --- /dev/null +++ b/zulip_json/413948-nixos/NixOS.20Anywhere.json @@ -0,0 +1,92 @@ +[ + { + "content": "

Shrink the initrd, how?

\n

The documentation states a minimum 1.5GB RAM requirement, but my target host has only 900MB (yeah!, needs to be a cheap proxy).

\n

Does anyone know how I can shrink the initrd (makeInitrdNG?)? — and even more importantly test that reliably?

\n\n

What is all that is there in an initrd and how can I minimalize that which there is? — I've never touched this topic and am finding myself on the bottom of a climb that I wouldn't want to do on my own, alone.

", + "id": 417271466, + "sender_full_name": "David Arnold", + "timestamp": 1705941831 + }, + { + "content": "

kexec image uses netboot-base.nix module which depends on profiles/base.nix, and this base module has a lot of packages by default, you can probably override it to remove unwanted base packages, which will reduce the kexec image size.

", + "id": 417286014, + "sender_full_name": "Shivaraj B H", + "timestamp": 1705946446 + }, + { + "content": "

(deleted)

", + "id": 417286696, + "sender_full_name": "Shivaraj B H", + "timestamp": 1705946699 + }, + { + "content": "

I think it's here in the squashfsStore where it get's heavy:

\n
    # Create the initrd\n    system.build.netbootRamdisk = pkgs.makeInitrdNG {\n      inherit (config.boot.initrd) compressor;\n      prepend = [ \"${config.system.build.initialRamdisk}/initrd\" ];\n\n      contents =\n        [ { object = config.system.build.squashfsStore;\n            symlink = \"/nix-store.squashfs\";\n          }\n        ];\n    };\n
\n

and then here:

\n
  initialRamdisk = pkgs.makeInitrdNG {\n    name = \"initrd-${kernel-name}\";\n    inherit (config.boot.initrd) compressor compressorArgs prepend;\n    inherit (cfg) strip;\n\n    contents = map (path: { object = path; symlink = \"\"; }) (subtractLists cfg.suppressedStorePaths cfg.storePaths)\n      ++ mapAttrsToList (_: v: { object = v.source; symlink = v.target; }) (filterAttrs (_: v: v.enable) cfg.contents);\n  };\n
\n

with

\n
      contents = {\n        \"/tmp/.keep\".text = \"systemd requires the /tmp mount point in the initrd cpio archive\";\n        \"/init\".source = \"${cfg.package}/lib/systemd/systemd\";\n        \"/etc/systemd/system\".source = stage1Units;\n\n        \"/etc/systemd/system.conf\".text = ''\n          [Manager]\n          DefaultEnvironment=PATH=/bin:/sbin\n          ${cfg.extraConfig}\n          ManagerEnvironment=${lib.concatStringsSep \" \" (lib.mapAttrsToList (n: v: \"${n}=${lib.escapeShellArg v}\") cfg.managerEnvironment)}\n        '';\n\n        \"/lib\".source = \"${modulesClosure}/lib\";\n\n        \"/etc/modules-load.d/nixos.conf\".text = concatStringsSep \"\\n\" config.boot.initrd.kernelModules;\n\n        # We can use either ! or * to lock the root account in the\n        # console, but some software like OpenSSH won't even allow you\n        # to log in with an SSH key if you use ! so we use * instead\n        \"/etc/shadow\".text = \"root:${if isBool cfg.emergencyAccess then optionalString (!cfg.emergencyAccess) \"*\" else cfg.emergencyAccess}:::::::\";\n\n        \"/bin\".source = \"${initrdBinEnv}/bin\";\n        \"/sbin\".source = \"${initrdBinEnv}/sbin\";\n\n        \"/etc/sysctl.d/nixos.conf\".text = \"kernel.modprobe = /sbin/modprobe\";\n        \"/etc/modprobe.d/systemd.conf\".source = \"${cfg.package}/lib/modprobe.d/systemd.conf\";\n        \"/etc/modprobe.d/ubuntu.conf\".source = pkgs.runCommand \"initrd-kmod-blacklist-ubuntu\" { } ''\n          ${pkgs.buildPackages.perl}/bin/perl -0pe 's/## file: iwlwifi.conf(.+?)##/##/s;' $src > $out\n        '';\n        \"/etc/modprobe.d/debian.conf\".source = pkgs.kmod-debian-aliases;\n\n        \"/etc/os-release\".source = config.boot.initrd.osRelease;\n        \"/etc/initrd-release\".source = config.boot.initrd.osRelease;\n\n      } // optionalAttrs (config.environment.etc ? \"modprobe.d/nixos.conf\") {\n        \"/etc/modprobe.d/nixos.conf\".source = config.environment.etc.\"modprobe.d/nixos.conf\".source;\n      };\n
", + "id": 417287157, + "sender_full_name": "David Arnold", + "timestamp": 1705946866 + }, + { + "content": "

If you have an embedded usecade, clever's not-os might be a better choice fundamentally, as this is its goal from the outset.

", + "id": 417287178, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1705946875 + }, + { + "content": "

That'd be fun, but in my case not really necessary. I just got a cheap IPv6-only 900mb vps collocated in Bogota (which is key, and otherwise very expensive).

", + "id": 417287335, + "sender_full_name": "David Arnold", + "timestamp": 1705946930 + }, + { + "content": "

I doubt it is the initialRamdisk, on my nixos machine when I check the size of initrd it shows just 12 MB:

\n
ls -lah /nix/store/l8qssxmf3ff1c6g2iq6klcfahclxxgzb-initrd-linux-6.1.71/initrd\n.r--r--r-- root root 12 MB Thu Jan  1 05:30:01 1970  /nix/store/l8qssxmf3ff1c6g2iq6klcfahclxxgzb-initrd-linux-6.1.71/initrd\n
\n

This is how I built the initrd:

\n
nix build .#nixosConfigurations.nixos.config.system.build.initialRamdisk\n
", + "id": 417303743, + "sender_full_name": "Shivaraj B H", + "timestamp": 1705952949 + }, + { + "content": "

I'll re-check tomorrow. I somehow need a better testing handle on this piece of software to be able to actually assess the max- memory consumption.

\n

Last time I felt lucky and just deployed, then the VM got stuck and hanged and I had to wait two business days for a manual intervention. Not fun :smile:

", + "id": 417326520, + "sender_full_name": "David Arnold", + "timestamp": 1705962185 + }, + { + "content": "

900mb is pretty tight. Definitely use an OOM killer daemon on that thing. That will at least help you avoid another manual intervention :sweat_smile:

", + "id": 417344640, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1705970201 + }, + { + "content": "

this will get you much further

\n
  zramSwap = {\n    enable = true;\n    memoryPercent = 150;\n  };\n
", + "id": 417376084, + "sender_full_name": "sedlund", + "timestamp": 1705989147 + }, + { + "content": "

Yeah, I just need it as a reverse proxy with stable IP as failover route in front of a mobile network backup internet link for a site with normally static IP wire-line link, where the site tunnels via wireguard onto that machine to establishes a stable route in case of issue with the main link.

\n

I think an OOM daemon might not do much, because it's already after the kexec when this happens and apparently during the loading of the initrd.

\n

@sedlund , I'll try your suggestion, although the docs say that swap wouldn't help much and that the requirement is 1.5gb (exclusive of swap). I didn't know about zram, this is really interesting!

\n

They don't explain _why_ \"no swap\" and maybe they should be more precise and change that to \"no disk swap\" if your suspicion is right.

", + "id": 417382646, + "sender_full_name": "David Arnold", + "timestamp": 1705993409 + }, + { + "content": "

With nixos-anywhere you are looking to format your disk while being on the ram and swap exists on the disk, which is why it doesn’t help.

", + "id": 417498394, + "sender_full_name": "Shivaraj B H", + "timestamp": 1706032261 + }, + { + "content": "

I haven't come around to test this yet, but it looks like zramSwap is a compressed swap on ram, effectively making the RAM apparently bigger than it really is through compression. If that work's that'd be fun and really nice.

", + "id": 417515488, + "sender_full_name": "David Arnold", + "timestamp": 1706038649 + }, + { + "content": "

right, 150% is what google uses on ChromeOS. you will see typically 4:1 compression in regular workloads. the setting is not particular to nixos-anywhere (when building remotely), just useful on ram limited machines and in general. Windows does ram compression by default as does Fedora with zram

", + "id": 417567243, + "sender_full_name": "sedlund", + "timestamp": 1706065586 + }, + { + "content": "

fwiw I also use a cheap RAM limited vps from digitalocean (1G). I haven't yet installed nixos on it (intended to, but I was in a rush at the time).

\n

Its only use is as a nebula lighthouse to create a network between some of my personal devices, and it hasn't had any issue since I set it up so I kinda forgot about it.

\n

Might have to circle back around at some point, if just for usage comparison's sake.

", + "id": 417568638, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1706066538 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/NixOS.20Cloud-init.20images.json b/zulip_json/413948-nixos/NixOS.20Cloud-init.20images.json new file mode 100644 index 00000000000..8bd93afeb44 --- /dev/null +++ b/zulip_json/413948-nixos/NixOS.20Cloud-init.20images.json @@ -0,0 +1,44 @@ +[ + { + "content": "

I'd like to deploy NixOS VMs on Proxmox via terraform using Cloud-init images. (Potentially other real cloud providers with Terraform support as well)

\n

On the legacy nix community there was this one thread I found: https://discourse.nixos.org/t/a-cloudinit-image-for-use-in-proxmox/27519

\n

Any ideas on that anyone?

", + "id": 430968513, + "sender_full_name": "Andreas", + "timestamp": 1712139207 + }, + { + "content": "

The official documentation has a tutorial for deploying to AWS specifically with Terraform.

\n

https://nix.dev/tutorials/nixos/deploying-nixos-using-terraform.html

\n

But I am not looking for AWS. I am not sure the AWS image would do much good then.

", + "id": 430969954, + "sender_full_name": "Andreas", + "timestamp": 1712139704 + }, + { + "content": "

you can build VM images with NixOS out of the box. They use qemu by default so you should be able to wire those up with proxmox if desired. I have also made some of my own cloud images for digitalocean and aws in the past, there are nixos modules in nixpkgs that you can simply import that will then give you a build target for the image under config.system.build

", + "id": 431114051, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1712156459 + }, + { + "content": "

but so if I build VM images, they won't support cloud-init, will they? So if I want to have a cluster of NixOS machines and set their IP address and authorized ssh-keys via cloud-init that won't work this way?

\n

I might try and see what I can make out of this guy's gist from legacy nix discourse:

\n

https://gist.github.com/voidus/1230b200043b7f815e2513663d16353b

\n

That doesn't look too bad actually.

", + "id": 431300305, + "sender_full_name": "Andreas", + "timestamp": 1712233337 + }, + { + "content": "

I know the do and aws images do respect ssh keys you set up through their api. Not sure if it uses cloud-init specifically for that or some ad hoc code path, but it works :sweat_smile:

", + "id": 431316114, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1712238044 + }, + { + "content": "

There may be a nixos module for cloyd-init as well, haven't checked

", + "id": 431316216, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1712238072 + }, + { + "content": "

yeah there is such a module afaik... I will try to build something myself and share it here if it works... or if I run into issues.

", + "id": 431318572, + "sender_full_name": "Andreas", + "timestamp": 1712238729 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/NixOS.20for.20small.20datacenter.json b/zulip_json/413948-nixos/NixOS.20for.20small.20datacenter.json new file mode 100644 index 00000000000..c7c517a3c07 --- /dev/null +++ b/zulip_json/413948-nixos/NixOS.20for.20small.20datacenter.json @@ -0,0 +1,134 @@ +[ + { + "content": "

Srid told mit that you @Shivaraj B H are having some kind of NixOS datacenter project going? Care to tell me more about that?

", + "id": 448127623, + "sender_full_name": "Andreas", + "timestamp": 1719760987 + }, + { + "content": "

I have it in mind, yes. But haven’t had the chance to do anything about it unfortunately. I was thinking of providing Hetzner like services here in India. It is especially important considering how expensive AWS, GCP and azure can get and their vendor lock-in strategies (these strategies might be less now, but it does exist). I don’t own racks in any datacenters, but I could either rent a few racks to start with and manage them using NixOS. All this will not matter if I don’t have clients to use this new cloud-service provider in the market. I am hoping a few clients might be ready to use it for their non-critical tasks just because of the lower price. Once the financials add up, could dream bigger and have DCs like Hetzner.

", + "id": 448156269, + "sender_full_name": "Shivaraj B H", + "timestamp": 1719772902 + }, + { + "content": "

Idk if you have seen this, but this project looks interesting: https://github.com/SaumonNet/proxmox-nixos

\n

Not quite there yet for clustering, but once they have that, it might be great.

\n

The only thing that isn't so great is that they put everything under a licence other than MIT and it's not clear if they intend to upstream this at all.

", + "id": 448668950, + "sender_full_name": "Andreas", + "timestamp": 1719942932 + }, + { + "content": "

but your project does sound enticing I have to say, very interesting

", + "id": 448669186, + "sender_full_name": "Andreas", + "timestamp": 1719942999 + }, + { + "content": "
\n

Idk if you have seen this, but this project looks interesting: https://github.com/SaumonNet/proxmox-nixos

\n
\n

Yes, I came across this one. It is interesting.

\n
\n

The only thing that isn't so great is that they put everything under a licence other than MIT

\n
\n

The AGPL-v3 license seems to be because upstream uses that one, I couldn’t find the source but one of the staff member of proxmox mentioned here: https://forum.proxmox.com/threads/proxmox-ve-licensing-features.87788/post-384662

", + "id": 448790877, + "sender_full_name": "Shivaraj B H", + "timestamp": 1719996382 + }, + { + "content": "

Yes but does that make sense? Aren't there many pieces of software already in nixpkgs that use that licence?

", + "id": 448790983, + "sender_full_name": "Andreas", + "timestamp": 1719996426 + }, + { + "content": "

like that for instance: https://github.com/NixOS/nixpkgs/blob/nixos-24.05/pkgs/applications/backup/proxmox-backup-client/default.nix#L152

", + "id": 448792115, + "sender_full_name": "Andreas", + "timestamp": 1719996787 + }, + { + "content": "
\n

Yes but does that make sense?

\n
\n

It does not, unless you are modifying the code you can have your own license and re-distribute it, while providing the original source code with agpl-v3 license.

", + "id": 448792575, + "sender_full_name": "Shivaraj B H", + "timestamp": 1719996956 + }, + { + "content": "

I think this only makes sense if they don't want to commit it to nixpkgs ... I will go and ask them on discourse what is going on with that.

", + "id": 448792949, + "sender_full_name": "Andreas", + "timestamp": 1719997073 + }, + { + "content": "

because the project is very nice. Once you have Proxmox clustering support and everything, you could use that as the foundational stone for NixOS-based datacenters.

", + "id": 448793072, + "sender_full_name": "Andreas", + "timestamp": 1719997107 + }, + { + "content": "

and then you could build a terraform-backend with a nice frontend for the outside to automate VM provisioning via Proxmox in your cluster

", + "id": 448793201, + "sender_full_name": "Andreas", + "timestamp": 1719997152 + }, + { + "content": "

Yup, pretty exciting

", + "id": 448793433, + "sender_full_name": "Shivaraj B H", + "timestamp": 1719997209 + }, + { + "content": "

Alright, I asked them

", + "id": 448795555, + "sender_full_name": "Andreas", + "timestamp": 1719997887 + }, + { + "content": "

but if this was working nicely for proxmox custering out of the box and wouldn't rely on a third party cache as it does right now, it'd be a really nice (and cheap!) basis for building smaller datacenters in order to offer hosting solutions with nice automated provisioning for clients.

", + "id": 448795738, + "sender_full_name": "Andreas", + "timestamp": 1719997946 + }, + { + "content": "

Idk what the alternatives would be tbh: VMware, Nutanix, maybe something like OpenStack?

", + "id": 448796530, + "sender_full_name": "Andreas", + "timestamp": 1719998190 + }, + { + "content": "

https://www.reddit.com/r/homelab/s/2eHFsh2NPW

", + "id": 448797173, + "sender_full_name": "Shivaraj B H", + "timestamp": 1719998353 + }, + { + "content": "

^ recommends xcp-ng

", + "id": 448797228, + "sender_full_name": "Shivaraj B H", + "timestamp": 1719998373 + }, + { + "content": "

yes, I am not sure on the Xen vs. KVM question. I only ever used the latter.

", + "id": 449026354, + "sender_full_name": "Andreas", + "timestamp": 1720079752 + }, + { + "content": "

I have also tried only KVM, but I might soon give Xen a shot

", + "id": 449026579, + "sender_full_name": "Shivaraj B H", + "timestamp": 1720079801 + }, + { + "content": "

I think Proxmox is fantastic for VDS services; but you will most likely want VPS services aswell;
\nOpenStack works exceptionally for those.

\n

Using Nix as a reliable backbone for a data-center is very exciting! I've got some small-scale tests in my own home, never had enough resources to make a larger system though.

", + "id": 449452185, + "sender_full_name": "John Bargman", + "timestamp": 1720250279 + }, + { + "content": "

Also, LibVirt/QEMU and/or MicroVM works very very well for stable single-deployments (such as CDN and VPN/networking runners)

", + "id": 449452266, + "sender_full_name": "John Bargman", + "timestamp": 1720250339 + }, + { + "content": "

I can only say I am very happy with Proxmox. If it came built on NixOS it might be even nicer to deploy quicker on new machines. But other than the deployment, there is a fairly capable Terraform-provider for Proxmox out there.

\n

And for larger stuff, yes, OpenStack might be a really nice solution.

", + "id": 449457937, + "sender_full_name": "Andreas", + "timestamp": 1720253590 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/NixOS.20oneclick.20install.20tutorial.json b/zulip_json/413948-nixos/NixOS.20oneclick.20install.20tutorial.json new file mode 100644 index 00000000000..b4a85b9c3b6 --- /dev/null +++ b/zulip_json/413948-nixos/NixOS.20oneclick.20install.20tutorial.json @@ -0,0 +1,218 @@ +[ + { + "content": "

https://github.com/lvnilesh/nix-one-click

\n

is this enough? will it autogenerate the lock file?

", + "id": 444066472, + "sender_full_name": "LV Nilesh", + "timestamp": 1718128905 + }, + { + "content": "

You should generate the lock file by running nix flake lock, and commit that to the repo.

", + "id": 444067012, + "sender_full_name": "Srid", + "timestamp": 1718129051 + }, + { + "content": "
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";\n
\n

Also, 24.05 was recently released.

", + "id": 444067058, + "sender_full_name": "Srid", + "timestamp": 1718129073 + }, + { + "content": "

Don't forget to add your ssh key to rootAuthorizedKeys

", + "id": 444067146, + "sender_full_name": "Srid", + "timestamp": 1718129104 + }, + { + "content": "

Assuming this is for https://nixos.asia/en/nixos-install-oneclick

", + "id": 444067228, + "sender_full_name": "Srid", + "timestamp": 1718129128 + }, + { + "content": "

I added my pubkey.
\nI did not generate lock. I could not generate lock because the git repo is remote.
\nInstall finished when I used my README in my git repo https://github.com/lvnilesh/nix-one-click
\nThen the new nix machine wont boot after a power cycle.

\n

I am now debugging.

\n

Thanks for your help.

", + "id": 444068238, + "sender_full_name": "LV Nilesh", + "timestamp": 1718129445 + }, + { + "content": "

@LV Nilesh It is not advisable to ignore generating the lock file. You won't get the reproducibility benefits of NixOS.

", + "id": 444070058, + "sender_full_name": "Srid", + "timestamp": 1718130043 + }, + { + "content": "

Just clone the git repo and add it

", + "id": 444070086, + "sender_full_name": "Srid", + "timestamp": 1718130054 + }, + { + "content": "

LV Nilesh said:

\n
\n

Then the new nix machine wont boot after a power cycle.

\n

I am now debugging.

\n
\n

Let me know how that goes. Probably something to do with boot loader configuration. I've tested that flake only on Parallels VM on mac.

", + "id": 444075089, + "sender_full_name": "Srid", + "timestamp": 1718131687 + }, + { + "content": "

can’t clone without git

", + "id": 444078380, + "sender_full_name": "LV Nilesh", + "timestamp": 1718132856 + }, + { + "content": "

Newbie does not know how to get git in a USB booted live nix environment

", + "id": 444078573, + "sender_full_name": "LV Nilesh", + "timestamp": 1718132914 + }, + { + "content": "

nix run nixpkgs#git clone <url>

", + "id": 444078642, + "sender_full_name": "Srid", + "timestamp": 1718132939 + }, + { + "content": "

(For more on that nifty nix run command, see https://nixos.asia/en/nix-first)

", + "id": 444078759, + "sender_full_name": "Srid", + "timestamp": 1718132982 + }, + { + "content": "

:+1:

", + "id": 444078898, + "sender_full_name": "LV Nilesh", + "timestamp": 1718133021 + }, + { + "content": "

nix --extra-experimental-features \"nix-command flakes\" run nixpkgs#git clone git@github:lvnilesh/nix-one-click

\n

Thanks.

", + "id": 444080588, + "sender_full_name": "LV Nilesh", + "timestamp": 1718133574 + }, + { + "content": "

nix --extra-experimental-features \"nix-command flakes\" run nix flake lock
\nnix --extra-experimental-features \"nix-command flakes\" run flake lock
\nnix --extra-experimental-features \"nix-command flakes\" flake lock

\n

all fail LOL

", + "id": 444081951, + "sender_full_name": "LV Nilesh", + "timestamp": 1718134001 + }, + { + "content": "

I cloned git - then CD into it and then don't yet know how to nix flake lock

", + "id": 444082153, + "sender_full_name": "LV Nilesh", + "timestamp": 1718134063 + }, + { + "content": "
\n

all fail LOL

\n
\n

Post the error message. Your 3rd command is correct.

", + "id": 444083915, + "sender_full_name": "Srid", + "timestamp": 1718134624 + }, + { + "content": "

git cloned https://github.com/lvnilesh/nix-one-click /tmp/nix-one-click
\ncd /tmp/nix-one-click
\nnix --extra-experimental-features \"nix-command flakes\" flake lock

\n

error: while fetching the input git+file://tmp/nix-one-click
\nerror: getting the HEAD of the git tree /tmp/nix-one-click failed with exit code 1
\nerror executing git: no such file or directory

", + "id": 444086188, + "sender_full_name": "LV Nilesh", + "timestamp": 1718135395 + }, + { + "content": "

image.png

\n
", + "id": 444089646, + "sender_full_name": "LV Nilesh", + "timestamp": 1718136585 + }, + { + "content": "

this screenshot when I try UEFI

", + "id": 444089876, + "sender_full_name": "LV Nilesh", + "timestamp": 1718136666 + }, + { + "content": "

and
\nimage.png
\nthis screenshot when I try SeaBIOS

\n
", + "id": 444089925, + "sender_full_name": "LV Nilesh", + "timestamp": 1718136686 + }, + { + "content": "

Ah, try this.

\n

First, run nix shell nixpkgs#git to enter a shell with git on PATH.

\n

Then, you can run nix flake lock, etc. normally.

", + "id": 444093574, + "sender_full_name": "Srid", + "timestamp": 1718137452 + }, + { + "content": "
nix --extra-experimental-features "nix-command flakes" run nixpkgs#git clone git@github.com:lvnilesh/nix-one-click\n\ncd nix-one-click\n\nnix --extra-experimental-features "nix-command flakes"  shell nixpkgs#git\nnix --extra-experimental-features "nix-command flakes" flake lock\n\ngit status\ngit add flake.lock\ngit commit -am "add flake lock"\ngit push\n\nbash README.md\n
\n

power off and reboot from disk and be greeted by
\nimage.png

\n
", + "id": 444096472, + "sender_full_name": "LV Nilesh", + "timestamp": 1718138311 + }, + { + "content": "

README.md contains

\n
# Assuming\n# - your system is x86_64-linux\n# - your harddrive device is /dev/sda\nFLAKE="github:lvnilesh/nix-one-click#nixoneclick"\nDISK_DEVICE=/dev/sda\nsudo nix \\\n    --extra-experimental-features 'flakes nix-command' \\\n    run github:nix-community/disko#disko-install -- \\\n    --flake "$FLAKE" \\\n    --write-efi-boot-entries \\\n    --disk main "$DISK_DEVICE"\n
", + "id": 444099387, + "sender_full_name": "LV Nilesh", + "timestamp": 1718139421 + }, + { + "content": "

Can you say more about the machine you are installing to?

", + "id": 444106524, + "sender_full_name": "Srid", + "timestamp": 1718142548 + }, + { + "content": "

image.png

\n
", + "id": 444118646, + "sender_full_name": "LV Nilesh", + "timestamp": 1718148635 + }, + { + "content": "

Was /dev/sda the right disk ?

", + "id": 444120400, + "sender_full_name": "Srid", + "timestamp": 1718149852 + }, + { + "content": "

yes

", + "id": 444127104, + "sender_full_name": "LV Nilesh", + "timestamp": 1718154689 + }, + { + "content": "

Try the graphical installer, and see what configuration.nix it generates. Then adopt that config into your flake:

\n

https://nixos.asia/en/nixos-install-flake

", + "id": 444136019, + "sender_full_name": "Srid", + "timestamp": 1718160704 + }, + { + "content": "

Did that. It created https://github.com/lvnilesh/nixos-config/blob/master/configuration.nix

\n

How would I add that to this https://github.com/lvnilesh/nix-one-click/blob/master/flake.nix

", + "id": 444139775, + "sender_full_name": "LV Nilesh", + "timestamp": 1718163477 + }, + { + "content": "

Add it to the modules list

", + "id": 444141176, + "sender_full_name": "Srid", + "timestamp": 1718164349 + }, + { + "content": "

Just like how you are importing ./disk-config.nix

", + "id": 444141191, + "sender_full_name": "Srid", + "timestamp": 1718164364 + }, + { + "content": "

Make sure to git add the new file (Nix won't see it otherwise)

", + "id": 444141201, + "sender_full_name": "Srid", + "timestamp": 1718164371 + }, + { + "content": "

Though at this point you can get rid of ./disk-config.nix, and the existing boot config from flake.

", + "id": 444141259, + "sender_full_name": "Srid", + "timestamp": 1718164423 + }, + { + "content": "

LV Nilesh said:

\n
\n

image.png

\n
\n

I recall facing this while setting up a server at Juspay. It is most likely due to Intel VMD being enabled in your BIOS, which would require the proprietary intel drivers to get it working in NixOS. I recommend just disabling it if that’s the case and you can use mdadm for raid configuration instead.

", + "id": 445164540, + "sender_full_name": "Shivaraj B H", + "timestamp": 1718638984 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/NixOS.20tutorial.20series.json b/zulip_json/413948-nixos/NixOS.20tutorial.20series.json new file mode 100644 index 00000000000..046f767f804 --- /dev/null +++ b/zulip_json/413948-nixos/NixOS.20tutorial.20series.json @@ -0,0 +1,164 @@ +[ + { + "content": "

Zapier said:

\n
\n

flake-parts system config + hm

\n

Date: 2023-12-08T07:33:48+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18dhmb5/flakeparts_system_config_hm/

\n
\n

Is there a step-by-step tutorial on how to use flake-parts for system configuration (ideally with home-manager)? The documentation is too abstract for me.

\n

The published repos on github of people using flake-parts all look very different, and I cannot comprehend why they do things different.

\n

submitted by /u/zeec123

\n

[link] [comments]
\n

\n
\n
", + "id": 406935695, + "sender_full_name": "Srid", + "timestamp": 1702129024 + }, + { + "content": "

Just a skeleton for now: https://nixos.asia/en/nixos

\n

image.png

\n
", + "id": 406962653, + "sender_full_name": "Srid", + "timestamp": 1702147614 + }, + { + "content": "

First attempt: https://github.com/nixos-asia/website/pull/12

", + "id": 406988850, + "sender_full_name": "Srid", + "timestamp": 1702169045 + }, + { + "content": "

Feedback on this ^ welcome. Planning to publish tomorrow.

", + "id": 406990798, + "sender_full_name": "Srid", + "timestamp": 1702170192 + }, + { + "content": "

First tutorial :right: https://nixos.asia/en/tutorial/nixos-install

", + "id": 407240328, + "sender_full_name": "Srid", + "timestamp": 1702301384 + }, + { + "content": "

@Shivaraj B H

\n

I propose that we repurpose this blog post into a general tutorial that complements our first one.

\n
    \n
  • It will no longer need to be associated with remote-development repo
  • \n
  • It fits in the larger scheme of producing a learning mind-map / flow-chat.
      \n
    • Specifically, there are two 'doorways' to installing NixOS: a) the usual approach via graphical installer (1st tutorial), b) a more automated approach (this blog-post-repurposed-as-tutorial)
    • \n
    \n
  • \n
\n

To give an idea of the 'larger scheme':

\n

image.png

\n
", + "id": 407491259, + "sender_full_name": "Srid", + "timestamp": 1702391957 + }, + { + "content": "

I think likewise, I was having second thoughts about publishing the above mentioned post primarily because this minimal configuration was way too specific for the device we are using.

", + "id": 407493092, + "sender_full_name": "Shivaraj B H", + "timestamp": 1702392421 + }, + { + "content": "

There is actually a third way of installing as well that can compliment the first tutorial you had written: Disko to partition your disk and Nixos-install —flake to install the OS

", + "id": 407493409, + "sender_full_name": "Shivaraj B H", + "timestamp": 1702392490 + }, + { + "content": "

Let's do it. You can rewrite it such that it achieves the same goal of first tutorial (nixos deployed with flakes enabled and config in git), but nearly automated.

\n

Yea, I assume we would be using disko for tutorial 2?

", + "id": 407493518, + "sender_full_name": "Srid", + "timestamp": 1702392516 + }, + { + "content": "

Also, screenshots are plenty useful. I liberally take screenshots and put them in Google photos. I think I took like 15 screenshots for first post, and ended up using 2 or 3 of them.

", + "id": 407493640, + "sender_full_name": "Srid", + "timestamp": 1702392545 + }, + { + "content": "

Yes we will be using disko combined with nixos-anywhere but there can also be a scenario where nixos-anywhere is not an option, like the situation I am facing now (no wired Ethernet), what if I still want to maintain my partitioning scheme in nix

", + "id": 407494034, + "sender_full_name": "Shivaraj B H", + "timestamp": 1702392642 + }, + { + "content": "

I tried this out as an experiment, it does work, I will do it again and take screenshots while I am at it

", + "id": 407494272, + "sender_full_name": "Shivaraj B H", + "timestamp": 1702392708 + }, + { + "content": "

This would be manual (not graphical) install + disko + nixos-install --flake? Yes, a tutorial on that would be great as well!

", + "id": 407495351, + "sender_full_name": "Srid", + "timestamp": 1702392966 + }, + { + "content": "

Let's do that one next, actually. nixos-anywhere can come latter if necessary

", + "id": 407495417, + "sender_full_name": "Srid", + "timestamp": 1702392986 + }, + { + "content": "

Then, we can say: \"here are 3 ways to install NixOS\" - each progressively more automated.

", + "id": 407495565, + "sender_full_name": "Srid", + "timestamp": 1702393024 + }, + { + "content": "
\n

I will do it again and take screenshots while I am at it

\n
\n

Try it on VM, better for screenshots. I used Parallels (could be VirtualBox) running aarch64-linux.

", + "id": 407495692, + "sender_full_name": "Srid", + "timestamp": 1702393057 + }, + { + "content": "

Great, sounds good

", + "id": 407497032, + "sender_full_name": "Shivaraj B H", + "timestamp": 1702393339 + }, + { + "content": "

Source for some ideas

\n
\n

Note what George says at some point: “I am interested in being able to use Nix to quickly deploy cloud instances.”

\n

So wouldn’t it be great if we had documentation for that use case?

\n
\n

--APCodes (who is looking to join their documentation team)

\n

(Not recommending that we read the rest of the thread which appears to be idle debate that goes nowhere)

", + "id": 408234862, + "sender_full_name": "Srid", + "timestamp": 1702664235 + }, + { + "content": "

I was considering to explore https://github.com/nixos/nixos-hardware for the final automated tutorial of this series

", + "id": 409134482, + "sender_full_name": "Shivaraj B H", + "timestamp": 1703066287 + }, + { + "content": "

Srid said:

\n
\n

First tutorial :right: https://nixos.asia/en/tutorial/nixos-install

\n
\n

Second tutorial using disko, written by @Shivaraj B H :right: https://nixos.asia/en/nixos-install-disko

", + "id": 422403382, + "sender_full_name": "Srid", + "timestamp": 1708430842 + }, + { + "content": "

@Shivaraj B H I just tried nixos-anywhere to install a flake on a VM.

\n

I couldn't find a rescue image for arm linux, so I just booted into the NixOS installer. And then setup its root user for ssh'ing:

\n
# from installer booted machine, set a root password\nsudo passwd root\n\n# from macos\nssh-copy-id -o PreferredAuthentications=password  root@10.211.55.13\n\n# then install the flake\nnix run github:nix-community/nixos-anywhere -- --build-on-remote --flake .#here root@10.211.55.13\n
\n

Since the core 'steps' are small, I suppose a large part of our 3rd tutorial should focus on getting it working right when deploying from macOS or Linux. I also noticed that when the configuration included packages like nixvim, nixos-anywhere fails to remotely build it.

", + "id": 422506285, + "sender_full_name": "Srid", + "timestamp": 1708465347 + }, + { + "content": "

What does it fail with while trying to build packages like nixvim?

", + "id": 422553055, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708496720 + }, + { + "content": "

It was more along the lines of,

\n
a 'aarch64-linux' with features {} is required to build '/nix/store/ziz2sfr9h5w1sss2w2bzhjf4vl2g314g-source.drv', but I am a 'aarch64-darwin' with features {benchmark, big-parallel, kvm, nixos-test}\n
", + "id": 422591584, + "sender_full_name": "Srid", + "timestamp": 1708513139 + }, + { + "content": "
\n

Since the core 'steps' are small, I suppose a large part of our 3rd tutorial should focus on getting it working right when deploying from macOS or Linux.

\n
\n

And it may also include nix-dev-home automatically? Then we can point Linux users in our company directly to this tutorial.

", + "id": 422615323, + "sender_full_name": "Srid", + "timestamp": 1708521473 + }, + { + "content": "

Srid said:

\n
\n

It was more along the lines of,

\n

a 'aarch64-linux' with features {} is required to build '/nix/store/ziz2sfr9h5w1sss2w2bzhjf4vl2g314g-source.drv', but I am a 'aarch64-darwin' with features {benchmark, big-parallel, kvm, nixos-test}\n

\n

\n
\n

Related: https://github.com/zhaofengli/colmena/issues/178

", + "id": 422695122, + "sender_full_name": "Srid", + "timestamp": 1708545210 + }, + { + "content": "

disko-install

\n

https://github.com/nix-community/disko/pull/548

\n

https://tinkering.xyz/installing-nixos/

\n

image.png

\n
", + "id": 429642800, + "sender_full_name": "Srid", + "timestamp": 1711455730 + }, + { + "content": "

3 messages were moved from this topic to #nixos > disko-install by Srid.

", + "id": 429646633, + "sender_full_name": "Notification Bot", + "timestamp": 1711457122 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/QEMU.20internal.20SIGSEGV.json b/zulip_json/413948-nixos/QEMU.20internal.20SIGSEGV.json new file mode 100644 index 00000000000..87adef17b86 --- /dev/null +++ b/zulip_json/413948-nixos/QEMU.20internal.20SIGSEGV.json @@ -0,0 +1,50 @@ +[ + { + "content": "

Looks like we can't emulate x86_64-linux builds on aarch64-linux for all packages, like the treefmt-nix check,

\n
treefmt-check> qemu-x86_64: QEMU internal SIGSEGV {code=MAPERR, addr=0x20}\ntreefmt-check> /build/.attr-0l2nkwhif96f51f4amnlf414lhl4rv9vh8iffyp431v6s28gsr90: line 22:    31 Segmentation fault      (core dumped) treefmt --version\nerror: builder for '/nix/store/rwsarq4sga22kchk3k2rhi30mjv6f4zd-treefmt-check.drv' failed with exit code 139;\n       last 3 log lines:\n       > Initialized empty Git repository in /build/project/.git/\n       > qemu-x86_64: QEMU internal SIGSEGV {code=MAPERR, addr=0x20}\n       > /build/.attr-0l2nkwhif96f51f4amnlf414lhl4rv9vh8iffyp431v6s28gsr90: line 22:    31 Segmentation fault      (core dumped) treefmt --version\n       For full logs, run 'nix log /nix/store/rwsarq4sga22kchk3k2rhi30mjv6f4zd-treefmt-check.drv'.\n
\n

https://github.com/srid/emanote/actions/runs/7980820965/job/21791270125

", + "id": 422512044, + "sender_full_name": "Srid", + "timestamp": 1708468155 + }, + { + "content": "

is this using the binfmt.emulatedSystems?

", + "id": 422512728, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708468545 + }, + { + "content": "

Yes.

", + "id": 422513382, + "sender_full_name": "Srid", + "timestamp": 1708468839 + }, + { + "content": "

https://github.com/srid/nixos-config/blob/df99c7efb60b93233ef6e626d4053afba0887ea0/systems/here.nix#L14

", + "id": 422513408, + "sender_full_name": "Srid", + "timestamp": 1708468854 + }, + { + "content": "

Another instance when building neovim-ruby-env

\n
error: builder for '/nix/store/zyh6qa2nvjp9hnm0i1biv1lfzbixwmy8-neovim-ruby-env.drv' failed with exit code 139;\n       last 3 log lines:\n       > created 12 symlinks in user environment\n       > qemu-x86_64: QEMU internal SIGSEGV {code=MAPERR, addr=0x20}\n       > /build/.attr-0l2nkwhif96f51f4amnlf414lhl4rv9vh8iffyp431v6s28gsr90: line 8:    13 Segmentation fault      (core dumped) /nix/store/lpp53qxl39gc5vwvd8qn6ps6nh6kkffk-ruby-3.1.4/bin/ruby /nix/store/bcjdfm46ck1qfgc3vqkxxvp8jfwfprjl-gen-bin-stubs.rb "/nix/store/lpp53qxl39gc5vwvd8qn6ps6nh6kkffk-ruby-3.1.4/bin/ruby" "/nix/store/vljdmnfbkn57ld6n0p3kfjpxs8cmgv6b-gemfile-and-lockfile/Gemfile" "$out/lib/ruby/gems/3.1.0" "/nix/store/nfrdd8k4q5qwwhnghkvxaap96vlxmbmm-bundler-2.5.5/lib/ruby/gems/3.1.0/gems/bundler-2.5.5" '/nix/store/gpi0yf9rmzk18p3q421hajjk0iiwgm2c-ruby3.1-msgpack-1.5.1 /nix/store/c3p395d3p9w5ri0a8pb0nb0r37mda35l-ruby3.1-multi_json-1.15.0 /nix/store/mj9z389y61dvva11fi5nhf51caf6kpmk-ruby3.1-neovim-0.9.0 /nix/store/nfrdd8k4q5qwwhnghkvxaap96vlxmbmm-bundler-2.5.5' ''\n       For full logs, run 'nix log /nix/store/zyh6qa2nvjp9hnm0i1biv1lfzbixwmy8-neovim-ruby-env.drv'.\n
\n

This is just arm64 build (no emulation). So I don't know where qemu-x86_64 is coming into picture. :-/

\n

https://github.com/srid/nixos-config/actions/runs/7989424170/job/21816714621

", + "id": 422616382, + "sender_full_name": "Srid", + "timestamp": 1708521814 + }, + { + "content": "

Huh, why is it using x86 ruby as build dependency?

\n
# nix run nixpkgs#file /nix/store/lpp53qxl39gc5vwvd8qn6ps6nh6kkffk-ruby-3.1.4/bin/ruby\n/nix/store/lpp53qxl39gc5vwvd8qn6ps6nh6kkffk-ruby-3.1.4/bin/ruby: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /nix/store/cyrrf49i2hm1w7vn2j945ic3rrzgxbqs-glibc-2.38-44/lib/ld-linux-x86-64.so.2, for GNU/Linux 3.10.0, not stripped\n
", + "id": 422617589, + "sender_full_name": "Srid", + "timestamp": 1708522161 + }, + { + "content": "

Because zyh6qa2nvjp9hnm0i1biv1lfzbixwmy8-neovim-ruby-env.drv is being built for that system
\n.

", + "id": 422617939, + "sender_full_name": "Srid", + "timestamp": 1708522258 + }, + { + "content": "

Oh, it is building the x86 configuration, because nixci (via devour-flake) will return all Linux systems,

\n

https://github.com/srid/devour-flake/blob/c89ad7a611caef31899292bc8f9aae9e7aa251cb/flake.nix#L34-L35

", + "id": 422618646, + "sender_full_name": "Srid", + "timestamp": 1708522471 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/Self-hosted.20GitHub.20runners.json b/zulip_json/413948-nixos/Self-hosted.20GitHub.20runners.json new file mode 100644 index 00000000000..c068266f158 --- /dev/null +++ b/zulip_json/413948-nixos/Self-hosted.20GitHub.20runners.json @@ -0,0 +1,308 @@ +[ + { + "content": "

Have anyone managed to do this on a personal account (not org)? To let a NixOS machine (ideally using containers) act as self-hosted runner for many personal repositories.

\n

For a single repository, I added a runner with config like this:

\n
{ pkgs, config, ... }:\n{\n  # TODO: Run inside container\n  services.github-runners = {\n    emanote-runner = {\n      enable = true;\n      name = \"emanote-runner\";\n      # TODO: use sops-nix\n      tokenFile = \"/home/srid/runner.token\";\n      url = \"https://github.com/srid/emanote\";\n      extraPackages = [ pkgs.cachix pkgs.nixci ];\n      extraLabels = [ \"nixos\" ];\n    };\n  };\n  nix.settings.trusted-users =\n    builtins.map\n      (runner: runner.user)\n      config.services.github-runners;\n}\n
\n

However, it appears you can't share a runner with other personal repos.

", + "id": 418314629, + "sender_full_name": "Srid", + "timestamp": 1706288163 + }, + { + "content": "

Apparently it is possible to share a runner across an organizations repositories. I'm not sure if this applies to user repos though

", + "id": 418340635, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1706298083 + }, + { + "content": "

https://github.blog/2020-04-22-github-actions-community-momentum-enterprise-capabilities-and-developer-improvements/#share-self-hosted-runners-across-an-organization

", + "id": 418340788, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1706298133 + }, + { + "content": "

Looks like you can only share across org, but not personal repos. Sad.

", + "id": 418392967, + "sender_full_name": "Srid", + "timestamp": 1706337098 + }, + { + "content": "

So I decided to write a small module to help with that,

\n

https://github.com/srid/nixos-config/pull/40

", + "id": 418392971, + "sender_full_name": "Srid", + "timestamp": 1706337106 + }, + { + "content": "

You still have to manually create the runner in Settings for each repository. And then copy paste the token into the config for immediate deployment (if it not be immediate the token gets invalidated).

", + "id": 418393035, + "sender_full_name": "Srid", + "timestamp": 1706337158 + }, + { + "content": "

Runners in containers: https://github.com/srid/nixos-config/pull/41

", + "id": 418413607, + "sender_full_name": "Srid", + "timestamp": 1706357849 + }, + { + "content": "

Yeah, so on my nrdxp/nrdos repo I setup 16 runners to avoid the one job at a time bottleneck. Each one is in a nixos-container for a layer of isolation, but has the nix store and daemon socket mounted so that the host daemon can manage and coordinate all the jobs, respecting its configured limits.

\n

This is coupled with divnix/std-action, which I designed to do one eval up front and distribute the derivations to multiple build matrices after, which worked great since they are all on the same disk. One of the biggest bottlenecks in the past was the network cost of transferring the evaled derivations around.

", + "id": 419068187, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1706715831 + }, + { + "content": "

You can see a sample run here:
\nhttps://github.com/nrdxp/nrdos/actions/runs/7719678719

\n

Discovery is the only bottleneck, but once that's done all the builds can kick off in parallel each in its own runner.

", + "id": 419069555, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1706716145 + }, + { + "content": "

Oh the discovery->matrix part is interesting. Is std-action really required here? I wonder how I can do the same from scratch.

", + "id": 419165886, + "sender_full_name": "Srid", + "timestamp": 1706757863 + }, + { + "content": "

It was originally designed to consume Standard's API, but it's fairly simple in practice. It should be fairly simple to port to the regular flake API if desired. The core idea is to nix eval a single json file containing a list of all the Nix derivations you plan to build. I came to this because Nix's eval cache is subpar at best, and because I noticed that multiple runners were evaling the same things over and over.

\n

The real trouble I came upon is that the cost of evaluation in that context (of multiple runners building from a shared flake) is unknowable, especially since Nix has a severe lack of any real profiling tooling (for the language itself at least). Better then, to consolidate all evaluation up front, where the single threaded Nix evaluator can share any state between derivations in a single pass, and where the cost can at least become linear and predictable.

", + "id": 419168358, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1706759315 + }, + { + "content": "

I've observed that running nix build separately for each output (whether it is specified in same CLI invocation or not) would slow down evaluation by O(n),

\n

https://github.com/srid/devour-flake?tab=readme-ov-file#why

\n

Which is how I came up with https://github.com/srid/nixci and use that in CI. But it doesn't have the nice per-output build status.

", + "id": 419187019, + "sender_full_name": "Srid", + "timestamp": 1706772278 + }, + { + "content": "

Tim DeHerrera said:

\n
\n

Yeah, so on my nrdxp/nrdos repo I setup 16 runners to avoid the one job at a time bottleneck. [..]

\n
\n

Was this fully automated? Or, like me, did you have to manually create the token for each of those runners?

", + "id": 419187245, + "sender_full_name": "Srid", + "timestamp": 1706772424 + }, + { + "content": "

Oh wait, you are using the same token for all runners?

", + "id": 419187401, + "sender_full_name": "Srid", + "timestamp": 1706772499 + }, + { + "content": "

Srid said:

\n
\n

Oh wait, you are using the same token for all runners?

\n
\n

Assuming this token was created from nrdxp/nrdos repository, your 16 runners can run only jobs from that repo, and not from elsewhere, such as nrdxp/foo

", + "id": 419190444, + "sender_full_name": "Srid", + "timestamp": 1706773853 + }, + { + "content": "

For now yes, they are only setup for that repo. I can set up more for others repo if when needed. They have almost no overhead unless/until they start building anyway.

", + "id": 419253651, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1706796545 + }, + { + "content": "

Actually, now that I think about it, I wonder if I even need to mount the /nix/store at all inside these containers. Since the host daemon will be the one to do the actual building it might not be necessary. I already have nix.enable = false in their configs. I was wondering if I should actually make these VMs instead of containers for added security isolation.

", + "id": 419287805, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1706805857 + }, + { + "content": "

Only the token needs to be bind mounted. I didn't have to mount /nix/store

", + "id": 419376688, + "sender_full_name": "Srid", + "timestamp": 1706843916 + }, + { + "content": "

Do you pass through the socket? In my case, for the sake of avoiding repeated work, I want the builds to all work from the same store, since they share dependencies.

\n

But I think bind mounting the host daemon socket is enough to accomplish that.

", + "id": 419387058, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1706851898 + }, + { + "content": "

Nope, I bind mount only the token.

\n

https://github.com/srid/nixos-config/blob/9c392f468f2b341af8a83e8061ff1a92face28f5/nixos/github-runner.nix#L110-L131

", + "id": 419458716, + "sender_full_name": "Srid", + "timestamp": 1706880956 + }, + { + "content": "

It seems to automatically use the host nix store,

\n
[root@github-runner-emanote:~]# mount| grep store\n/dev/md/nixos on /nix/store type ext4 (ro,relatime,stripe=32)\n
", + "id": 419461875, + "sender_full_name": "Srid", + "timestamp": 1706882066 + }, + { + "content": "

I still want them all to speak to the same daemon, so that the set limits on jobs and cores are globally respected between them

", + "id": 419464233, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1706882843 + }, + { + "content": "

I have two runners, and I see this:

\n
❯ ps -ef | grep nix-daemon\nroot        1459       1  0 Jan29 ?        00:00:00 nix-daemon --daemon\nroot      132628    1459  0 Jan30 ?        00:00:00 nix-daemon 132605\nroot      132971    1459  0 Jan30 ?        00:00:00 nix-daemon 132948\n
\n

Are these child daemons spawned for each container? And if so, do they inherit jobs/cores limits automatically?

", + "id": 419467430, + "sender_full_name": "Srid", + "timestamp": 1706883854 + }, + { + "content": "

The daemon does spawn child procs for each build, but if the hosts socket is not available then they could be independent instances.

\n

If the /nix/store is auto mounted though, perhaps the socket is as well. Not sure (not at my desk to check ATM)

", + "id": 419468266, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1706884133 + }, + { + "content": "

Oh yea,

\n
[root@github-runner-emanote:~]# mount| grep socket\n/dev/md/nixos on /nix/var/nix/daemon-socket type ext4 (ro,relatime,stripe=32)\n
", + "id": 419468571, + "sender_full_name": "Srid", + "timestamp": 1706884220 + }, + { + "content": "

It mounts quite a few things,

\n
[root@github-runner-emanote:~]# mount| grep /dev/md/nixos\n/dev/md/nixos on / type ext4 (rw,relatime,stripe=32)\n/dev/md/nixos on /run/host/os-release type ext4 (ro,nosuid,nodev,noexec,relatime,stripe=32)\n/dev/md/nixos on /nix/store type ext4 (ro,relatime,stripe=32)\n/dev/md/nixos on /nix/var/nix/daemon-socket type ext4 (ro,relatime,stripe=32)\n/dev/md/nixos on /nix/var/nix/db type ext4 (ro,relatime,stripe=32)\n/dev/md/nixos on /nix/var/nix/gcroots type ext4 (rw,relatime,stripe=32)\n/dev/md/nixos on /nix/var/nix/profiles type ext4 (rw,relatime,stripe=32)\n/dev/md/nixos on /etc/localtime type ext4 (ro,nosuid,nodev,relatime,stripe=32)\n
", + "id": 419468680, + "sender_full_name": "Srid", + "timestamp": 1706884254 + }, + { + "content": "
error (ignored): error: reached end of FramedSource\n[..]\nerror: opening file '/nix/store/i8jjpg7im5jgr6dvr9ikylpa1szx1kpi-treefmt-check.lock': Permission denied\n
\n

https://github.com/srid/haskell-flake/actions/runs/7885297185/job/21516934365

\n

And this is happening only in Github Runner inside containers. I wonder if this is to do with the mounted nix-store access from the container.

\n

Have you seen this? @Tim DeHerrera

", + "id": 421222981, + "sender_full_name": "Srid", + "timestamp": 1707823021 + }, + { + "content": "

I had to run the following to fix this:

\n
nix-store --verify --repair --check-contents\n
\n

But the problem reappears when doing the CI build again.

", + "id": 421243990, + "sender_full_name": "Srid", + "timestamp": 1707831047 + }, + { + "content": "

hmm, haven't seen that one yet, have you tried making the daemon socket writable (mine is)?

", + "id": 421257120, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1707835341 + }, + { + "content": "

Nope, but I'll try that if this happens again.

", + "id": 421257483, + "sender_full_name": "Srid", + "timestamp": 1707835453 + }, + { + "content": "

TIL that you can just use a single personal access token (with 'repo' scope) for all runners across one's personal repositories.

", + "id": 421407504, + "sender_full_name": "Srid", + "timestamp": 1707904067 + }, + { + "content": "

easy-github-runners.nix

\n

Now supports organizations:

\n
            services.easy-github-runners = {\n              \"srid/emanote\" = { };\n              \"srid/haskell-flake\" = { };\n              \"srid/nixos-config\" = { };\n              \"srid/ema\" = { };\n              \"EmaApps/orgself\".owner = \"srid\";\n            };\n
\n

https://github.com/srid/nixos-config/blob/master/nixos/easy-github-runners.nix

", + "id": 421418385, + "sender_full_name": "Srid", + "timestamp": 1707907596 + }, + { + "content": "

Just a heads up, I tried updating my nixos-unstable pin and somebody has modified the github runners in a way that my configuration now totally breaks. I cannot get the nix client to talk to the daemon and I am unsure why. I'll keep you posted if I figure it out

", + "id": 422030412, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708192031 + }, + { + "content": "

Alright so two things:

\n

Firstly, they appear to have removed the old services.github-runner option and only have the newer services.github-runners option now, which led to a reorganization of the code, which means my snippet to import the options and use them in containers broke. So that's the first thing.

\n

Even taking them out of the container and just running them directly on the host I was still failing to communicate with the daemon. This appears to be because the dynamically created users created by systemd were not trusted users. I thought I had already addressed that, but apparently not or I reverted it or something.

\n

In any case, I was able to add the dynamic users to the trusted users list like so:
\nnix.settings.trusted-users = lib.genList (i: \"github-runner-nrdos-${i}\") 16

\n

To match the names of the dynamically allocated users. I may swing back around and configure each runner in a minimal microvm for added isolation with just the host daemon socket mounted. But for now this is fine since I only have them configured for a private repository at this point.

", + "id": 422034536, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708195877 + }, + { + "content": "

seems kind of presumptuous to assume all runners should have Nix. Hopefully we can get this reviewed and merged quickly, cause I need it :sweat_smile:
\nhttps://github.com/NixOS/nixpkgs/pull/289607

", + "id": 422040602, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708201850 + }, + { + "content": "

I believe my module has always been using the new github-runners service.

\n

By the way, nix-darwin PR just got merged: https://github.com/LnL7/nix-darwin/pull/859

\n

I'll play with macOS support.

", + "id": 422103256, + "sender_full_name": "Srid", + "timestamp": 1708267882 + }, + { + "content": "

The service is not new, what's new is that the code has been restructured and my previous code broke.

", + "id": 422112804, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708276277 + }, + { + "content": "

Parallels VM

\n

The runner failed with a new error,

\n
The local machine's clock may be out of sync with the server time by more than five minutes. Please sync your clock with your domain or internet time and try again.\n
\n

The local time on the container and host is incorrect, though. Wonder how that happened ... I'm running this in Parallels.

", + "id": 422613996, + "sender_full_name": "Srid", + "timestamp": 1708521055 + }, + { + "content": "

Yup, it was Parallels. Rebooting the VM fixed it.

", + "id": 422614526, + "sender_full_name": "Srid", + "timestamp": 1708521217 + }, + { + "content": "

Let's see if disabling automatic time sync fixes it long-term,

\n

image.png

\n
", + "id": 422614966, + "sender_full_name": "Srid", + "timestamp": 1708521354 + }, + { + "content": "

I made the mistake of not setting a good disk size. 60GB (the default) quickly ran out in CI. Neither boot.growPartition nor systemd repart worked to repartition root on boot, after I resized the disk image in Parallels.

", + "id": 422659473, + "sender_full_name": "Srid", + "timestamp": 1708533288 + }, + { + "content": "

New nix-darwin module

\n

I upgraded nix-darwin which has a revamped github-runners module that explicitly writes the log files.

\n

Which allowed me to actually observe crash logs like this:

\n
-bash-3.2$ pwd\n/var/lib/github-runners\n-bash-3.2$ tail -5 nixci-1/_diag/Runner_20240325-120051-utc.log\n[2024-03-25 12:00:53Z ERR  Runner] GitHub.DistributedTask.WebApi.TaskAgentExistsException: A runner exists with the same name nixci-1.\n   at GitHub.Runner.Listener.Configuration.ConfigurationManager.ConfigureAsync(CommandSettings command) in /private/tmp/nix-build-github-runner-2.314.1.drv-0/src/src/Runner.Listener/Configuration/ConfigurationManager.cs:line 306\n   at GitHub.Runner.Listener.Runner.ExecuteCommand(CommandSettings command) in /private/tmp/nix-build-github-runner-2.314.1.drv-0/src/src/Runner.Listener/Runner.cs:line 126\n[2024-03-25 12:00:53Z ERR  Terminal] WRITE ERROR: A runner exists with the same name nixci-1.\n[2024-03-25 12:00:53Z INFO Listener] Runner execution has finished with return code 1\n-bash-3.2$\n
", + "id": 429370734, + "sender_full_name": "Srid", + "timestamp": 1711368180 + }, + { + "content": "

https://github.com/LnL7/nix-darwin/pull/893

", + "id": 429370976, + "sender_full_name": "Srid", + "timestamp": 1711368217 + }, + { + "content": "

As for this particular problem, there is replace = true; which solves the issue.

", + "id": 429371408, + "sender_full_name": "Srid", + "timestamp": 1711368287 + }, + { + "content": "

3 messages were moved here from #nix > Darwin: launchctl logs for a service by Srid.

", + "id": 429371860, + "sender_full_name": "Notification Bot", + "timestamp": 1711368362 + }, + { + "content": "

I decided to do this the other way. Setup runners on the NixOS VM, and do remote build on macOS as necessary.

\n

Rough notes: https://github.com/srid/nixos-config/tree/master/clusters/github-runner

", + "id": 429740801, + "sender_full_name": "Srid", + "timestamp": 1711487521 + }, + { + "content": "

Alright, based on how I'm setting CI for Juspay Github, the new approach is not to use distributed builds, but just dedicate runners to each host.

\n

Module & tutorial incoming, but here's a sneak preview:

\n

https://x.com/sridca/status/1804286220304028106

", + "id": 446194989, + "sender_full_name": "Srid", + "timestamp": 1719013110 + }, + { + "content": "

Awesome, I will look at this, once I am out of drama mindset thanks to the ongoing legacy NixOS community.

", + "id": 446239113, + "sender_full_name": "Andreas", + "timestamp": 1719041838 + }, + { + "content": "

Here it is:

\n

https://github.com/juspay/github-nix-ci

\n

I'll announce it in a bit, after some final polish, and feedback (if any).

", + "id": 446703689, + "sender_full_name": "Srid", + "timestamp": 1719258757 + }, + { + "content": "

https://x.com/nixos_asia/status/1805609192843014276

", + "id": 446903186, + "sender_full_name": "Srid", + "timestamp": 1719326404 + }, + { + "content": "

https://discourse.nixos.org/t/github-nix-ci-for-self-hosting-github-runners-on-macos-linux/47642

", + "id": 446904139, + "sender_full_name": "Srid", + "timestamp": 1719326644 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/Self-hosting.20HedgeDoc.20with.20GitHub.20auth.json b/zulip_json/413948-nixos/Self-hosting.20HedgeDoc.20with.20GitHub.20auth.json new file mode 100644 index 00000000000..68d1d80626e --- /dev/null +++ b/zulip_json/413948-nixos/Self-hosting.20HedgeDoc.20with.20GitHub.20auth.json @@ -0,0 +1,14 @@ +[ + { + "content": "

https://x.com/sridca/status/1792200864385417467

", + "id": 439442621, + "sender_full_name": "Srid", + "timestamp": 1716129022 + }, + { + "content": "

Yeah nice tutorial. But why only on X? Or is it available elsewhere?

", + "id": 439756295, + "sender_full_name": "Andreas", + "timestamp": 1716279055 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/Self-hosting.20email.json b/zulip_json/413948-nixos/Self-hosting.20email.json new file mode 100644 index 00000000000..097fc9ae628 --- /dev/null +++ b/zulip_json/413948-nixos/Self-hosting.20email.json @@ -0,0 +1,56 @@ +[ + { + "content": "

What does it take to self-host email in NixOS?

\n

Pros and cons? Why would someone not want to do it?

", + "id": 425148136, + "sender_full_name": "Srid", + "timestamp": 1709748451 + }, + { + "content": "

I guess generally email is one of the more challenging things to self-host because of all the trust issues involved for getting your little server accepted by big mail mammoths such as gmail or microsoft.

", + "id": 425159531, + "sender_full_name": "Andreas", + "timestamp": 1709752262 + }, + { + "content": "

That being said, having something like Mail-in-a-NixBox would be a nice thing

", + "id": 425159606, + "sender_full_name": "Andreas", + "timestamp": 1709752303 + }, + { + "content": "

If you check Mail-in-a-Box's Github

\n

https://github.com/mail-in-a-box/mailinabox

\n

you can see the main components are:

\n

postfix for SMTP, Dovecot or IMAP, z-push for Exchange ActiveSync, Roundcube (if you want webmail), spamassassin and postgrey for getting rid of some stuff, then a lot of automated DNS stuff plus Let's Encrypt, and finally some backups via duplicity, some fail2ban and some monitoring via munin.

", + "id": 425161272, + "sender_full_name": "Andreas", + "timestamp": 1709752875 + }, + { + "content": "

I'd use stalw.art - I'm playing with the idea for a while now. It is really well designed, however, the archiving of emails is hard to audit due to content hashing... a plain file backend would be desirable... Other than that, a premier choice.

", + "id": 425164697, + "sender_full_name": "David Arnold", + "timestamp": 1709754022 + }, + { + "content": "

Yes, stalwart looks interesting. And more modern than the Ubuntu-based thingy that is Mail-in-a-Box. Even though I had this running once with a friend of mine. But it appears with stalwart you can run that with a single database backend such as PostgreSQL? Why would you say plain files is more desirable @David Arnold ?

", + "id": 425167327, + "sender_full_name": "Andreas", + "timestamp": 1709754953 + }, + { + "content": "

This is just motivated by GAAP / Local-GAAP requirements which state that its first visual representation received by the counter party of any receipt underlying a business event must be stored for 10 years.

\n

That's just best done by \"tapping the wire\", and with a file baked email, referencing and archiving becomes easy. Having a schema-bound storage mechanism is a significant accessibility hurdle over 10 years and for a smaller team.

", + "id": 425168069, + "sender_full_name": "David Arnold", + "timestamp": 1709755212 + }, + { + "content": "

ah okay, so you would want to keep these for your business records essentially? I can't imagine there aren't some best practices for complying with these requirements. Maybe asking stalwart directly would be an idea how they'd handle this?

", + "id": 425169212, + "sender_full_name": "Andreas", + "timestamp": 1709755670 + }, + { + "content": "

Yes, the easiest way to do this is to \"tap\" the wire: store everything that comes in and out. Using the FS as a backend has the advantage that its the oldest simplest and most stable storage metadata there is and therefore has very low maintenance burdon.

\n

Obviously with many emails, the performance burdon becomes prohibitive and that's why the hash and shard them with blake..

\n

It's still recoverable, but it immediatly and essentiatlly forces you to provision a kv store for the same ten years on a rolling basis.

", + "id": 425170355, + "sender_full_name": "David Arnold", + "timestamp": 1709756125 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/Setting.20up.20personal.20caches.20using.20.60attic.60.json b/zulip_json/413948-nixos/Setting.20up.20personal.20caches.20using.20.60attic.60.json new file mode 100644 index 00000000000..826296e66fa --- /dev/null +++ b/zulip_json/413948-nixos/Setting.20up.20personal.20caches.20using.20.60attic.60.json @@ -0,0 +1,110 @@ +[ + { + "content": "

[contd convo with @Andreas ]

\n

I've been recommending people use nix run github:... for installing some of my software like Emanote, nixci, nix-health (especially as they are out-of-date on the increasingly unwieldy monorepo nixpkgs).

\n

To that end, I want to setup a small package set without IFD, providing cache for Linux and mac.

\n

I could expose the local nix store via nix-serve-ng, but https://github.com/zhaofengli/attic is probably the more reliable option down the line, especially for dealing with larger builds/caches (at work).

", + "id": 421225705, + "sender_full_name": "Srid", + "timestamp": 1707824176 + }, + { + "content": "

Yes, I was thinking about using something like attic. That might be a neat thing. IIRC it also just acts as a kind of cache overlay on cache.nixos.org, so everything that is not in your specialized cache is just forwarded to the larger official one.

\n

For setting this up you would need some hardware though I guess, and an S3 compatible storage provider of some kind. And I was wondering how much storage and bandwidth you might need for your existing Haskell packages.

", + "id": 421226237, + "sender_full_name": "Andreas", + "timestamp": 1707824406 + }, + { + "content": "

I think attic supports local storage too, if you just want store them in local disk to begin with.

", + "id": 421226342, + "sender_full_name": "Srid", + "timestamp": 1707824459 + }, + { + "content": "

As for bandwidth, for my personal projects the 1 Gbits/s should probably be good enough to begin with.

", + "id": 421226456, + "sender_full_name": "Srid", + "timestamp": 1707824514 + }, + { + "content": "

Of course cache is useless without a CI that pushes to it. For this I've been exploring GitHub runners (topic here), and eventually want to set one up on my macbook as well.

", + "id": 421226615, + "sender_full_name": "Srid", + "timestamp": 1707824577 + }, + { + "content": "

Yes it does support local storage. Which might be sufficient, right.

\n

I was just wondering what happens to your storage if your machine goes down for whatever reason.

", + "id": 421226639, + "sender_full_name": "Andreas", + "timestamp": 1707824589 + }, + { + "content": "

If store gets corrupt and recreated, just do a rebuild. There aren't a lot to rebuild.

", + "id": 421226702, + "sender_full_name": "Srid", + "timestamp": 1707824624 + }, + { + "content": "

Need to figure out a smart gcroot pinning system, that works with CI along with these 'recovery' instances.

", + "id": 421226824, + "sender_full_name": "Srid", + "timestamp": 1707824666 + }, + { + "content": "
\n

a smart gcroot pinning system

\n
\n

I am not quite sure I am following on this one

", + "id": 421227515, + "sender_full_name": "Andreas", + "timestamp": 1707824983 + }, + { + "content": "

garbage collect everything but last N commits of stable (and desired) branches of repos.

", + "id": 421227644, + "sender_full_name": "Srid", + "timestamp": 1707825031 + }, + { + "content": "

https://github.com/hercules-ci/hercules-ci-agent/issues/482

", + "id": 421227727, + "sender_full_name": "Srid", + "timestamp": 1707825062 + }, + { + "content": "

Maybe the attic tutorial https://docs.attic.rs/tutorial.html is interesting, too. It comes with some kind of garbage collection capabilities.

", + "id": 421229211, + "sender_full_name": "Andreas", + "timestamp": 1707825631 + }, + { + "content": "

FWIW, for me, digitalocean spaces is super cheap ($5 p/m) and putting it behind cloudflare CDN is free. Also they allow an unlimited number of buckets so long as you don't go over 500G so you could have multiple caches if you wanted to

", + "id": 421255969, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1707835057 + }, + { + "content": "
\n

500G

\n
\n

Cloudflare R2? What did you get this number from?

", + "id": 421257153, + "sender_full_name": "Srid", + "timestamp": 1707835354 + }, + { + "content": "

Oh I guess I misremembered, it's 250G

", + "id": 421257353, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1707835417 + }, + { + "content": "

(for $5)

", + "id": 421257475, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1707835450 + }, + { + "content": "

Any reason why I shouldn't put the cache data on one of these? https://www.hetzner.com/storage/storage-box/

", + "id": 421292925, + "sender_full_name": "Srid", + "timestamp": 1707845765 + }, + { + "content": "

Srid said:

\n
\n

Any reason why I shouldn't put the cache data on one of these? https://www.hetzner.com/storage/storage-box/

\n
\n

Do you have full SSH access to these? Not really, right. Not sure what you are planing but for attic is would probably be nice to get NixOS with Minio or something similar.

", + "id": 421294091, + "sender_full_name": "Andreas", + "timestamp": 1707846205 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/Specifying.20UUID.20in.20diskio.json b/zulip_json/413948-nixos/Specifying.20UUID.20in.20diskio.json new file mode 100644 index 00000000000..d1c1342d4d7 --- /dev/null +++ b/zulip_json/413948-nixos/Specifying.20UUID.20in.20diskio.json @@ -0,0 +1,86 @@ +[ + { + "content": "

Is there a way to specify UUIDs for partitions in diskio? Doing so would help me not update my ${hostname}-hardware-configuration.nix file everytime I need to clean-install on a host with same storage layout.

", + "id": 425994661, + "sender_full_name": "Pratham Patel", + "timestamp": 1710185407 + }, + { + "content": "

/dev/disk/by-{id,path}?

\n

cf. https://github.com/nix-community/disko/issues/14

", + "id": 426021643, + "sender_full_name": "Srid", + "timestamp": 1710196873 + }, + { + "content": "

Not the target disk... specifying the UUIDs of the partitions created themselves.

", + "id": 426038934, + "sender_full_name": "Pratham Patel", + "timestamp": 1710207942 + }, + { + "content": "

Isn't diskio responsible for creating those partitions? I haven't used it but it was my impression that was the point of the tool.

", + "id": 426116718, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1710247507 + }, + { + "content": "

You can get the same storage layout without necessarily fixing individual partition's UUID. See for example https://github.com/srid/nixos-config/blob/master/nixos/disko/trivial.nix

\n

This layout remains the same across re-installs (wherein the partition UUID will change)

", + "id": 426191357, + "sender_full_name": "Srid", + "timestamp": 1710269037 + }, + { + "content": "

Or maybe I'm not understanding your question, @Pratham Patel

", + "id": 426191433, + "sender_full_name": "Srid", + "timestamp": 1710269059 + }, + { + "content": "

If you use disko, you will not have to manually specify the UUID in hardware-configuration.nix, because disko manages it for you, if i am not wrong. I never had to do that at least.

", + "id": 426308709, + "sender_full_name": "Shivaraj B H", + "timestamp": 1710327006 + }, + { + "content": "

@Srid This question came out of my migration to deploying nixos on my machines using flakes. Flakes mandate that all files be included in the git tree and therefore, it's not possible to have the hardware-configuration.nix in the repo in advance. Specifying the UUIDs for each partition/filesystem in diskio would be nice for this, where the hardware-configuration.nix file already picks up the devices using the /dev/disk/by-uuid path. :)

", + "id": 426315346, + "sender_full_name": "Pratham Patel", + "timestamp": 1710329461 + }, + { + "content": "

So you want to introduce disko on an already-installed NixOS machine?

\n

This looks to be the same problem as https://github.com/juspay/remote-development/issues/11

", + "id": 426327482, + "sender_full_name": "Srid", + "timestamp": 1710333613 + }, + { + "content": "

This may be relevant: https://github.com/nix-community/disko/issues/295

", + "id": 426327929, + "sender_full_name": "Srid", + "timestamp": 1710333694 + }, + { + "content": "

Sort of, yes! :)

", + "id": 426328916, + "sender_full_name": "Pratham Patel", + "timestamp": 1710333859 + }, + { + "content": "

Finally got some free time to poke around in the disko src and noticed this line: https://github.com/nix-community/disko/blob/f6b72bfed7c57997aa5dccd94a3ebbc4cb824b04/lib/types/filesystem.nix#L48

\n

So, the pseudo code would be something like:

\n
    \n
  1. Check if filesystem supports the -U or -u option to specify the UUID to assign to, such that, it appears as /dev/disk/by-uuid/${UUID}.
  2. \n
  3. Append the string -U ${UUID} if some option, let's assume customUUID is specified.
  4. \n
\n

That way, the same disko config _and_ same hardware-configuration.nix can be used, even when the disk is reformatted, preserving the UUID, resulting in not needing to update the hardware-configuration.nix file, at all

", + "id": 426563619, + "sender_full_name": "Pratham Patel", + "timestamp": 1710429120 + }, + { + "content": "

@Pratham Patel Is this relevant? https://github.com/nix-community/disko/pull/548#issuecomment-1967664266

", + "id": 429643019, + "sender_full_name": "Srid", + "timestamp": 1711455818 + }, + { + "content": "

huh, this is better than what I was looking for! thank you :D

", + "id": 429766644, + "sender_full_name": "Pratham Patel", + "timestamp": 1711503303 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/Unified.20activation.json b/zulip_json/413948-nixos/Unified.20activation.json new file mode 100644 index 00000000000..fd608cb2774 --- /dev/null +++ b/zulip_json/413948-nixos/Unified.20activation.json @@ -0,0 +1,14 @@ +[ + { + "content": "

https://github.com/srid/nixos-flake/pull/54

\n

The idea is to have one command that knows how to activate system configuration regardless of system or host.

\n

ie., be it NixOS or nix-darwin.

\n

Or, be it local machine or a remote machine (accessible over SSH).

\n

Eventually, even home-manager activation too can happen as part of it.

\n

It sits in between the triviality of bash scripts and complexity of writing an entirely new deployment tool (like in Rust; cf. colmena & deploy-rs), and I'd like to keep it that way. The focus is merely on activation. Nushell has been good for this.

", + "id": 447234468, + "sender_full_name": "Srid", + "timestamp": 1719413091 + }, + { + "content": "

A new deployment tool

\n

https://community.flake.parts/nixos-flake/activate#remote

", + "id": 447299022, + "sender_full_name": "Srid", + "timestamp": 1719426925 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/Usr.20files.20persist.20after.20being.20removed.20from.20the.20configuration.json b/zulip_json/413948-nixos/Usr.20files.20persist.20after.20being.20removed.20from.20the.20configuration.json new file mode 100644 index 00000000000..942bbd13a50 --- /dev/null +++ b/zulip_json/413948-nixos/Usr.20files.20persist.20after.20being.20removed.20from.20the.20configuration.json @@ -0,0 +1,38 @@ +[ + { + "content": "

remotedev user was present in the configuration and was later removed

\n

But I still see the user’s files:
\nScreenshot-2024-02-28-at-5.25.16PM.png

\n
", + "id": 423803581, + "sender_full_name": "Shivaraj B H", + "timestamp": 1709121716 + }, + { + "content": "

Makes sense why they are not deleted, though nixos should probably offer an option to the user here, or at least inform them. This all falls under the larger category of automatic migration of stateful data, I guess.

", + "id": 423805009, + "sender_full_name": "Srid", + "timestamp": 1709122251 + }, + { + "content": "

Probably the best solution to this kind of thing so far would be:
\nhttps://nixos.wiki/wiki/Impermanence

", + "id": 423818447, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1709127277 + }, + { + "content": "

Impermenence can work for certain servers, more than shared machines. In the latter, user home directories will have various git repos checked out with direnv enabled on them, which needs to be persisted.

", + "id": 423870738, + "sender_full_name": "Srid", + "timestamp": 1709142387 + }, + { + "content": "

That's what the impermanence module is for. It's essentially a white list for files and directories you wish to be persisted across reboots. Everything else is wiped

", + "id": 423879815, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1709145588 + }, + { + "content": "

I used to use it, haven't for a little while now, but was considering adding it again on my large build server, just to keep it clean, but then I don't reboot it very often either :sweat_smile:

", + "id": 423879991, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1709145631 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/When.20you.20forget.20to.20garbage.20collect.20home.20manager.20regularly.2E.2E.2E.json b/zulip_json/413948-nixos/When.20you.20forget.20to.20garbage.20collect.20home.20manager.20regularly.2E.2E.2E.json new file mode 100644 index 00000000000..7e596ba2909 --- /dev/null +++ b/zulip_json/413948-nixos/When.20you.20forget.20to.20garbage.20collect.20home.20manager.20regularly.2E.2E.2E.json @@ -0,0 +1,14 @@ +[ + { + "content": "
deleting unused links...\nnote: currently hard linking saves 0.00 MiB\n176353 store paths deleted, 308004.80 MiB freed\n\n~ took 10m21s\n
", + "id": 444903481, + "sender_full_name": "Andreas", + "timestamp": 1718481848 + }, + { + "content": "

You can use https://github.com/nix-community/home-manager/blob/master/modules/services/nix-gc.nix to regularly do it in the background for you.

", + "id": 445164894, + "sender_full_name": "Shivaraj B H", + "timestamp": 1718639075 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/Zulip.20Nix.20packaging.json b/zulip_json/413948-nixos/Zulip.20Nix.20packaging.json new file mode 100644 index 00000000000..0f172b047ef --- /dev/null +++ b/zulip_json/413948-nixos/Zulip.20Nix.20packaging.json @@ -0,0 +1,20 @@ +[ + { + "content": "

Welcome @Stephen

\n

In regards to nixifying Zulip, it looks like this comment suggests that the upstream project (Zulip software) will need to clean up a bunch of things first,

\n
\n

Zulip was originally designed to take over the entire system, and the path to correcting that mistake has been very slow. [..] I believe the process of porting Zulip to Nix will force us to clean this all up, but it’s going to take a while.

\n
\n

(This was posted about 2 months ago)

", + "id": 404122250, + "sender_full_name": "Srid", + "timestamp": 1700927994 + }, + { + "content": "

So I believe it will be a while before we get a Zulip module in NixOS

", + "id": 404122376, + "sender_full_name": "Srid", + "timestamp": 1700928064 + }, + { + "content": "

Srid said:

\n
\n

Welcome Stephen

\n

In regards to nixifying Zulip, it looks this comment suggests that the upstream will need to clean up a bunch of things first,

\n
\n

Zulip was originally designed to take over the entire system, and the path to correcting that mistake has been very slow. [..] I believe the process of porting Zulip to Nix will force us to clean this all up, but it’s going to take a while.

\n
\n

(This was posted about 2 months ago)

\n
\n

At least it seems like it is on roadmap! Thank you @Srid. I am loving Nix haha.

", + "id": 404122381, + "sender_full_name": "Stephen", + "timestamp": 1700928065 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/disko-install.json b/zulip_json/413948-nixos/disko-install.json new file mode 100644 index 00000000000..d6eb0b1ab0f --- /dev/null +++ b/zulip_json/413948-nixos/disko-install.json @@ -0,0 +1,68 @@ +[ + { + "content": "

May not be reliable yet; disko-install failed silently on first attempt:

\n

image.png

\n
", + "id": 429646347, + "sender_full_name": "Srid", + "timestamp": 1711457033 + }, + { + "content": "

Wait, 137 is OOM

", + "id": 429646478, + "sender_full_name": "Srid", + "timestamp": 1711457069 + }, + { + "content": "

3 messages were moved here from #nixos > NixOS tutorial series by Srid.

", + "id": 429646632, + "sender_full_name": "Notification Bot", + "timestamp": 1711457122 + }, + { + "content": "

image.png

\n
", + "id": 429649853, + "sender_full_name": "Srid", + "timestamp": 1711458082 + }, + { + "content": "

PEBKAC (I didn't use sudo)

", + "id": 429651210, + "sender_full_name": "Srid", + "timestamp": 1711458520 + }, + { + "content": "

Docs are here, btw: https://github.com/nix-community/disko/blob/master/docs/disko-install.md

", + "id": 429651225, + "sender_full_name": "Srid", + "timestamp": 1711458524 + }, + { + "content": "

Got the install to work, but this warning:

\n

image.png

\n

Just using:

\n
          boot.loader = {\n            systemd-boot.enable = true;\n            efi.canTouchEfiVariables = true;\n            /* grub = {\n              efiSupport = true;\n              efiInstallAsRemovable = true;\n            }; */\n          };\n
", + "id": 429653019, + "sender_full_name": "Srid", + "timestamp": 1711459193 + }, + { + "content": "

https://github.com/NixOS/nixpkgs/issues/279362

", + "id": 429654950, + "sender_full_name": "Srid", + "timestamp": 1711459779 + }, + { + "content": "

Success!

\n

(At least on Parallels VM)

\n

https://github.com/nixos-asia/website/pull/33

", + "id": 429657019, + "sender_full_name": "Srid", + "timestamp": 1711460365 + }, + { + "content": "

The warning is due to systemd boot, is it? what’s the problem with grub?

", + "id": 429697130, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711471448 + }, + { + "content": "

IIRC, with grub it wasn't even booting (Parallels VM; goes to BIOS straight), but I haven't really debugged that any further.

", + "id": 429697681, + "sender_full_name": "Srid", + "timestamp": 1711471651 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/nixos-unified.json b/zulip_json/413948-nixos/nixos-unified.json new file mode 100644 index 00000000000..0c31a066d61 --- /dev/null +++ b/zulip_json/413948-nixos/nixos-unified.json @@ -0,0 +1,8 @@ +[ + { + "content": "

NixOS / nix-darwin and home-manager template all in one:

\n

https://github.com/juspay/nixos-unified-template

", + "id": 474907174, + "sender_full_name": "Srid", + "timestamp": 1728079736 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/sdn.20router.20using.20NixOS.20microvm.json b/zulip_json/413948-nixos/sdn.20router.20using.20NixOS.20microvm.json new file mode 100644 index 00000000000..3a2a78f05a3 --- /dev/null +++ b/zulip_json/413948-nixos/sdn.20router.20using.20NixOS.20microvm.json @@ -0,0 +1,20 @@ +[ + { + "content": "

In case anyone is interested I thought I'd share how I was able to setup a virtual router using a NixOS microvm on my build server using cloud-hypervisor. It's really quite nice, considering that most commercial routers are woefully underpowered. At some point it might be nice to try and use the XDP in eBPF to handle the firewall as efficiently as possible, but honestly this is working pretty well as is:
\nhttps://github.com/nrdxp/nrdos/commit/68d2d0e7b30d8dff5c2b58e3e4f6eebed74f170f

", + "id": 419922078, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1707164693 + }, + { + "content": "

Thanks for sharing, was meaning to try this in the past, but never got time. This makes it easier!

", + "id": 419970660, + "sender_full_name": "Shivaraj B H", + "timestamp": 1707191432 + }, + { + "content": "

yeah only thing not working atm is local dns resolution. I'll probably try to work that out soon, I'm sure I missed something simple. Even so, I mostly rely on nebula for private network communication so its not urgent for me.

\n

Also, I don't expose any ports to the outside world or even respond to pings.

", + "id": 420132740, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1707252379 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/secrets.2Fpassword.20management.json b/zulip_json/413948-nixos/secrets.2Fpassword.20management.json new file mode 100644 index 00000000000..c52a9c56138 --- /dev/null +++ b/zulip_json/413948-nixos/secrets.2Fpassword.20management.json @@ -0,0 +1,104 @@ +[ + { + "content": "

I am having a tough time choosing a secrets/password manager. If I want to manage secrets, something like sops or age or git-crypt should work well, but I am not super happy using it as I want a solution that works out to be both my password manager (on mobile and browser) and secrets manager.

\n

I spent quite some time researching for the ideal tool, came across hashicorp vault, bitwarden secrets manager (this works out well as I already self-host vaultwarden, but unlike the password manager, this is proprietary). To be honest, all these solutions seem bloated to me.

\n

Password/secrets management should not be this hard, and today I came across this simple tool that helps manage passwords with minimal dependencies: https://git.zx2c4.com/password-store/about/. There is a problem though, for every new machine that I deploy, I will have to setup the GPG keys for the first time. I know gpg-agent exists, but if it has to get authorised to decrypt from a central server, you will again need ssh agent forwarding for this.

\n

I don’t think I am ready to maintain another GPG key now, I would like to just use my SSH key to encrypt the password/secrets file in git tracked repo and the hosts I deploy on can use ssh-agent to be authorised to decrypt these files on startup and place them in files with proper user and group permissions. And I am sure using user and group permissions, we can achieve secrets management for large organisations, where different subset of users have permissions to access different keys.

\n

I am trying to solve the following problems with a simple secrets/password manager:

\n
    \n
  • SSH key to encrypt/decrypt the secrets/password
  • \n
  • use ssh-agent to authorise any device that would like to decrypt the secrets: We already know SSH protocol is secure, why not then use it instead of using something like mTLS that most password managers use to securely transfer the password.
  • \n
  • configure user/group permissions to the secrets/password file.
  • \n
", + "id": 427139745, + "sender_full_name": "Shivaraj B H", + "timestamp": 1710687635 + }, + { + "content": "

There might be flaws in the idea, so I would like some feedback.

\n

Also, I will be using this topic to keep track of my progress.

", + "id": 427140154, + "sender_full_name": "Shivaraj B H", + "timestamp": 1710687736 + }, + { + "content": "

If I am going in the right direction, I would like to spend some time over weekends trying to build the tool that satisfies the points above

", + "id": 427140488, + "sender_full_name": "Shivaraj B H", + "timestamp": 1710687833 + }, + { + "content": "

Looks like an interesting project indeed, I may consider using it even.

\n

Are you looking to design something that is cross-platform (eg: on nix-darwin) or just NixOS?

", + "id": 427145331, + "sender_full_name": "Srid", + "timestamp": 1710689080 + }, + { + "content": "

cross-platform, yes!

", + "id": 427146757, + "sender_full_name": "Shivaraj B H", + "timestamp": 1710689430 + }, + { + "content": "

Also in the future maybe re-use existing clients of password-store to also build android, IoS and desktop clients to completely replace even bitwarden/vaultwarden. Perhaps I could just use dioxus to build these clients?

", + "id": 427147775, + "sender_full_name": "Shivaraj B H", + "timestamp": 1710689701 + }, + { + "content": "

I have used pass in the past. https://srid.ca/pass

\n

But https://github.com/serokell/vault-secrets looks interesting, I may play with it via https://github.com/1Password/vault-plugin-secrets-onepassword since I already use 1Password.

", + "id": 427148000, + "sender_full_name": "Srid", + "timestamp": 1710689759 + }, + { + "content": "

https://github.com/serokell/vault-secrets also came up while I was looking, but again its tied to an organisation, they might end up doing something like bitwarden did with bitwarden secrets manager, which is fine if you think about the business aspects. And also vault is only for secrets.

\n

I just think that this problem should be solved effectively in the simplest way possible and be fully open.

", + "id": 427150848, + "sender_full_name": "Shivaraj B H", + "timestamp": 1710690512 + }, + { + "content": "

Another thing I don’t like about hashicorp vault is that their tutorial is completely focused on specific cloud providers, which I understand is because of how the industry functions, but I would have liked if they had tutorials for native setup and configuration.

", + "id": 427150883, + "sender_full_name": "Shivaraj B H", + "timestamp": 1710690520 + }, + { + "content": "

I still use pass for account passwords at least, and currently rely on colmena to place secrets completely outside of nox evaluation. Mostly from one of my few pass repos.

\n

Although it's still not super ideal, it's good enough not to bother with it for me ATM. I have thought about this problem for a while though. At work we used to use vault to distribute secrets throughout the cluster but it's a bit overkill for my little lab network I think

", + "id": 427239453, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1710714223 + }, + { + "content": "

agenix

\n

Surprised to see this never came up. Better than sops-nix in some respects (nix-darwin support; direct use of SSH keys and very simple).

\n

There's also a Rust variant: https://github.com/yaxitech/ragenix

", + "id": 445622881, + "sender_full_name": "Srid", + "timestamp": 1718809784 + }, + { + "content": "

I mean yeah, if you go with age as a backend anyways, it's a decent alternative to sops-nix I guess.

", + "id": 445664991, + "sender_full_name": "Andreas", + "timestamp": 1718818262 + }, + { + "content": "

Actually, may I suggest Secrix https://github.com/Platonic-Systems/secrix

\n

It's a home-brew solution made by a college of mine, usage is amazingly clear in my opinon:
\nHere is an example of me using it for NextCloud.

\n

https://github.com/DarthPJB/NixOS-Configuration/blob/4595f79f7b771c14ea1c43e16b5d179a6ddd4c32/server_services/nextcloud.nix#L7

", + "id": 449452602, + "sender_full_name": "John Bargman", + "timestamp": 1720250551 + }, + { + "content": "

interesting, so many more solutions :smile:

", + "id": 449460166, + "sender_full_name": "Andreas", + "timestamp": 1720254735 + }, + { + "content": "

what's the advantage over agenix over sops-nix?

", + "id": 449460182, + "sender_full_name": "Andreas", + "timestamp": 1720254756 + }, + { + "content": "

John Bargman said:

\n
\n

may I suggest Secrix

\n
\n

Does it work on macOS?

", + "id": 449511469, + "sender_full_name": "Srid", + "timestamp": 1720279620 + }, + { + "content": "
\n

All secrets are stored in virtual memory and do not end up on disk.

\n
\n

What do you do after a reboot? Re-deploy (nixos-rebuild switch)?

", + "id": 449511664, + "sender_full_name": "Srid", + "timestamp": 1720279709 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/services.2Eself-deploy.json b/zulip_json/413948-nixos/services.2Eself-deploy.json new file mode 100644 index 00000000000..704db04c61a --- /dev/null +++ b/zulip_json/413948-nixos/services.2Eself-deploy.json @@ -0,0 +1,8 @@ +[ + { + "content": "

TIL of services.self-deploy but there are hardly any docs for it.

\n

image.png

\n

https://discourse.nixos.org/t/how-to-use-services-self-deploy/20696

", + "id": 427775886, + "sender_full_name": "Srid", + "timestamp": 1710869061 + } +] \ No newline at end of file diff --git a/zulip_json/413948-nixos/stream.20events.json b/zulip_json/413948-nixos/stream.20events.json new file mode 100644 index 00000000000..79c114b1047 --- /dev/null +++ b/zulip_json/413948-nixos/stream.20events.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Web-public stream created by Srid. Description:

\n
\n

Discussions about NixOS

\n
", + "id": 403593424, + "sender_full_name": "Notification Bot", + "timestamp": 1700660079 + } +] \ No newline at end of file diff --git a/zulip_json/413949-haskell-flake/.60custom.60.20setting.20stopped.20working.json b/zulip_json/413949-haskell-flake/.60custom.60.20setting.20stopped.20working.json new file mode 100644 index 00000000000..223b69c6641 --- /dev/null +++ b/zulip_json/413949-haskell-flake/.60custom.60.20setting.20stopped.20working.json @@ -0,0 +1,128 @@ +[ + { + "content": "

Introduced by https://github.com/srid/haskell-flake/pull/253

", + "id": 429935364, + "sender_full_name": "Srid", + "timestamp": 1711568885 + }, + { + "content": "

Tangentially related: https://github.com/srid/haskell-flake/issues/192

\n

But now that we have otherOverlays I wonder if I should just get rid of custom.

", + "id": 429935907, + "sender_full_name": "Srid", + "timestamp": 1711569100 + }, + { + "content": "

Ordering is the issue

\n

I can confirm that the order in which settings are applied is the issue. If I rename custom to A_custom, it works. This suggests that custom doesn't work because it comes after buildFromSdist in alphabetical order.

", + "id": 429937742, + "sender_full_name": "Srid", + "timestamp": 1711569786 + }, + { + "content": "

Srid said:

\n
\n

Tangentially related: https://github.com/srid/haskell-flake/issues/192

\n

But now that we have otherOverlays I wonder if I should just get rid of custom.

\n
\n

Hmm, we can't do that, because overlays don't compose when import'ing.

", + "id": 429938477, + "sender_full_name": "Srid", + "timestamp": 1711570092 + }, + { + "content": "

Here's an idea: provide two settings:

\n
    \n
  • settings.<name>.init : drv: assigns the initial value before settings are applied
  • \n
  • settings.<name>.final : drv -> drv: transforms the final drv after the other settings are applied.
  • \n
", + "id": 429938892, + "sender_full_name": "Srid", + "timestamp": 1711570265 + }, + { + "content": "

Proposal for fix

\n

https://github.com/srid/haskell-flake/issues/283

\n

Need :eyes: and ideas from people.

", + "id": 429942552, + "sender_full_name": "Srid", + "timestamp": 1711571301 + }, + { + "content": "

Or,

\n
    \n
  • settings.<name>.custom.initial
  • \n
  • settings.<name>.custom.final
  • \n
", + "id": 429946774, + "sender_full_name": "Srid", + "timestamp": 1711572590 + }, + { + "content": "

Or,

\n
    \n
  • packages.<name>.drv (computed from source automatically, by default)
  • \n
  • settings.<name>.custom (applies at the end, after other settings)
  • \n
", + "id": 430086331, + "sender_full_name": "Srid", + "timestamp": 1711637679 + }, + { + "content": "

Incidentally, I began thinking about why we even need separate packages and settings option groups. Like, why not this:

\n
{\n  packages = {\n    hello_rust.drv = self'.packages.hello_rust\n    myhaskell.source = ./haskell;\n    myhaskell.setting.libraryProfiling = true;\n    aeson.source = \"1.5.0\";\n  };\n}\n
", + "id": 430086733, + "sender_full_name": "Srid", + "timestamp": 1711637771 + }, + { + "content": "

This is nice, keeps all the info about a package in one-place.

", + "id": 430095239, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711639919 + }, + { + "content": "

Will be a big ass refactoring, will try from Australia next week.

", + "id": 430095850, + "sender_full_name": "Srid", + "timestamp": 1711640035 + }, + { + "content": "

Since this bug affects only non-existent packages, it is not high prio to fix I guess.

", + "id": 430095997, + "sender_full_name": "Srid", + "timestamp": 1711640062 + }, + { + "content": "

I could add the <package-name>.drv feature for non-existent packages, which shouldn’t be hard to do and not break anything

", + "id": 430100576, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711640937 + }, + { + "content": "

Will help publish this tutorial soon: https://github.com/nixos-asia/website/pull/24

", + "id": 430101291, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711641057 + }, + { + "content": "

Shivaraj B H said:

\n
\n

I could add the <package-name>.drv feature for non-existent packages, which shouldn’t be hard to do and not break anything

\n
\n

Feel free to give it a try.

", + "id": 430102669, + "sender_full_name": "Srid", + "timestamp": 1711641308 + }, + { + "content": "

Turns out we can fix this particular bug without implementing this proposal (which should be good on its own merits, though):

\n

https://github.com/srid/haskell-flake/pull/284

", + "id": 430144537, + "sender_full_name": "Srid", + "timestamp": 1711652143 + }, + { + "content": "
srid on appreciate haskell-rust-ffi-template on  master [⇣]\n❯ g log -1\ncommit 1038ca8a87aae4e448bbd7ea6e1c41ee4e7acb2d (HEAD -> master)\nAuthor: Shivaraj B H <sbh69840@gmail.com>\nDate:   Wed Mar 27 15:04:33 2024 +0530\n\n    ci: upgrade nixci\n\nsrid on appreciate haskell-rust-ffi-template on  master [⇣]\n❯ nix build --override-input haskell-flake github:srid/haskell-flake/settings-null --show-trace\nwarning: not writing modified lock file of flake 'git+file:///Users/srid/code/haskell-rust-ffi-template':\n• Updated input 'haskell-flake':\n    'github:srid/haskell-flake/f9d17c3aa68e65529f424816c8b9346ae602d1de' (2024-02-06)\n  → 'github:srid/haskell-flake/d6a9187919cbf087b99d88d154086a20fc1b72f1' (2024-03-28)\n\nsrid on appreciate haskell-rust-ffi-template on  master [⇣] took 5s\n❯\n
", + "id": 430145537, + "sender_full_name": "Srid", + "timestamp": 1711652522 + }, + { + "content": "

Shivaraj B H has marked this topic as unresolved.

", + "id": 430733939, + "sender_full_name": "Notification Bot", + "timestamp": 1712045143 + }, + { + "content": "

seems like it is broken again: https://github.com/srid/haskell-flake/issues/283#issuecomment-2031339304

", + "id": 430734120, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712045174 + }, + { + "content": "

Does this fix it?

\n

https://github.com/srid/haskell-flake/pull/298

", + "id": 430927626, + "sender_full_name": "Srid", + "timestamp": 1712125767 + }, + { + "content": "

Yes, it does.

\n

here’s what I tried:

\n
nix build github:shivaraj-bh/haskell-rust-ffi-template --override-input haskell-flake github:srid/haskell-flake/e20cdd30ad9201bedc4977fa55f7a4765d6a56ac\n
", + "id": 430929017, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712126519 + } +] \ No newline at end of file diff --git a/zulip_json/413949-haskell-flake/.60globalSettings.60.20is.20for.20which.20package.3F.json b/zulip_json/413949-haskell-flake/.60globalSettings.60.20is.20for.20which.20package.3F.json new file mode 100644 index 00000000000..6853d8c9e3f --- /dev/null +++ b/zulip_json/413949-haskell-flake/.60globalSettings.60.20is.20for.20which.20package.3F.json @@ -0,0 +1,98 @@ +[ + { + "content": "

Does globalSettings apply to all the packages in basePackages?

", + "id": 424220209, + "sender_full_name": "Shivaraj B H", + "timestamp": 1709294549 + }, + { + "content": "

No, just the ones specified in packages attrset.

", + "id": 424223495, + "sender_full_name": "Srid", + "timestamp": 1709295706 + }, + { + "content": "

It is badly named. Certainly not 'global'.

", + "id": 424223534, + "sender_full_name": "Srid", + "timestamp": 1709295719 + }, + { + "content": "

Can be fixed along with this: https://github.com/srid/haskell-flake/issues/261

", + "id": 424223684, + "sender_full_name": "Shivaraj B H", + "timestamp": 1709295773 + }, + { + "content": "

Srid said:

\n
\n

No, just the ones specified in packages attrset.

\n
\n

Wait. Hmm. Let's confirm that first. Because line 83 here suggests it only applies if you have settings.<foo>.

", + "id": 424223905, + "sender_full_name": "Srid", + "timestamp": 1709295853 + }, + { + "content": "

Jesus, that code (I've written) is not super clear to read. :face_palm:

", + "id": 424224025, + "sender_full_name": "Srid", + "timestamp": 1709295905 + }, + { + "content": "

Srid said:

\n
\n

Srid said:

\n
\n

No, just the ones specified in packages attrset.

\n
\n

Wait. Hmm. Let's confirm that first. Because line 83 here suggests it only applies if you have settings.<foo>.

\n
\n

This is probably the case

", + "id": 424224656, + "sender_full_name": "Shivaraj B H", + "timestamp": 1709296158 + }, + { + "content": "

shouldn’t it mapAttrs on config.packages and use config.settings.${name} to get the mod for a given package

", + "id": 424224965, + "sender_full_name": "Shivaraj B H", + "timestamp": 1709296282 + }, + { + "content": "

There can be a case where you have a package in settings attrset, but not in packages.

", + "id": 424225214, + "sender_full_name": "Srid", + "timestamp": 1709296372 + }, + { + "content": "

Also, when we introduce different settings default here, we might need a way to test if the setting is actually applied.

", + "id": 424225240, + "sender_full_name": "Shivaraj B H", + "timestamp": 1709296383 + }, + { + "content": "

Right. We want to add a dedicated test/??? for this, to check all cases.

", + "id": 424225319, + "sender_full_name": "Srid", + "timestamp": 1709296416 + }, + { + "content": "

Incidentally, as of yesterday, haskell-flake master uses Nix (flake checks) for tests. No more bash scripts. https://twitter.com/sridca/status/1763528379188265314

\n

example/flake.nix, test/*/flake.nix are all candidates for defining these tests.

", + "id": 424225458, + "sender_full_name": "Srid", + "timestamp": 1709296461 + }, + { + "content": "

Srid said:

\n
\n

There can be a case where you have a package in settings attrset, but not in packages.

\n
\n

Right, so merging the attribute names looks like what we need

", + "id": 424225530, + "sender_full_name": "Shivaraj B H", + "timestamp": 1709296488 + }, + { + "content": "

Possibly. In any case, having clear tests cases should also be self-documenting in a way.

", + "id": 424225577, + "sender_full_name": "Srid", + "timestamp": 1709296513 + }, + { + "content": "

And allow us to freely refactor things without fear of breaking semantics (because the tests, which encode these semantics, will catch them).

", + "id": 424225623, + "sender_full_name": "Srid", + "timestamp": 1709296535 + }, + { + "content": "

FYI: https://github.com/srid/haskell-flake/commit/307961a20136dd75b761fa0e47b947a6fed757a8

\n

haskellProjectTests is pretty nascent right now, but we can improve it to accommodate our future tests.

", + "id": 424281174, + "sender_full_name": "Srid", + "timestamp": 1709310331 + } +] \ No newline at end of file diff --git a/zulip_json/413949-haskell-flake/.E2.9C.94.20.60custom.60.20setting.20stopped.20working.json b/zulip_json/413949-haskell-flake/.E2.9C.94.20.60custom.60.20setting.20stopped.20working.json new file mode 100644 index 00000000000..e0f11a71ab7 --- /dev/null +++ b/zulip_json/413949-haskell-flake/.E2.9C.94.20.60custom.60.20setting.20stopped.20working.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Shivaraj B H has marked this topic as resolved.

", + "id": 430203663, + "sender_full_name": "Notification Bot", + "timestamp": 1711689217 + } +] \ No newline at end of file diff --git a/zulip_json/413949-haskell-flake/.E2.9C.94.200.2E5.2E0.20plan.json b/zulip_json/413949-haskell-flake/.E2.9C.94.200.2E5.2E0.20plan.json new file mode 100644 index 00000000000..fa7702ac16c --- /dev/null +++ b/zulip_json/413949-haskell-flake/.E2.9C.94.200.2E5.2E0.20plan.json @@ -0,0 +1,14 @@ +[ + { + "content": "

Releaased and announced.

", + "id": 446674466, + "sender_full_name": "Srid", + "timestamp": 1719249898 + }, + { + "content": "

Srid has marked this topic as resolved.

", + "id": 446674911, + "sender_full_name": "Notification Bot", + "timestamp": 1719250048 + } +] \ No newline at end of file diff --git a/zulip_json/413949-haskell-flake/0.2E5.2E0.20plan.json b/zulip_json/413949-haskell-flake/0.2E5.2E0.20plan.json new file mode 100644 index 00000000000..deb0d1006ed --- /dev/null +++ b/zulip_json/413949-haskell-flake/0.2E5.2E0.20plan.json @@ -0,0 +1,44 @@ +[ + { + "content": "

Mainly I want to tighten up docs & stability of this thing.

\n

Let me know if anything else should go into this release.

\n

https://github.com/srid/haskell-flake/milestone/1

\n

Will aim to release something in a week or two.

", + "id": 423171464, + "sender_full_name": "Srid", + "timestamp": 1708782563 + }, + { + "content": "

I guess we'll add https://github.com/srid/haskell-flake/issues/261 to this release.

", + "id": 424226954, + "sender_full_name": "Srid", + "timestamp": 1709297005 + }, + { + "content": "

Pending PRs for 0.5:

\n", + "id": 429871023, + "sender_full_name": "Srid", + "timestamp": 1711549414 + }, + { + "content": "

Oh, and I should give https://github.com/srid/haskell-flake/issues/262 another attempt as well

", + "id": 429871820, + "sender_full_name": "Srid", + "timestamp": 1711549607 + }, + { + "content": "

Also this:

\n

Srid said:

\n
\n

I'll take a look later today. Actually, this may be related to the ordering of settings,

\n

https://github.com/srid/haskell-flake/blob/b5bfa21723e55590e92f4896d7bc3ad212cf425a/nix/modules/project/settings/default.nix#L76-L77

\n
", + "id": 429917103, + "sender_full_name": "Srid", + "timestamp": 1711562183 + }, + { + "content": "

#275 is close to being complete, here are the tests: https://github.com/srid/haskell-flake/pull/275#issuecomment-2063903367

", + "id": 434050808, + "sender_full_name": "Shivaraj B H", + "timestamp": 1713447936 + }, + { + "content": "

documentation should be last thing to do. Also, need to rethink the naming conventions for the defaults

", + "id": 434053966, + "sender_full_name": "Shivaraj B H", + "timestamp": 1713448814 + } +] \ No newline at end of file diff --git a/zulip_json/413949-haskell-flake/Can.E2.80.99t.20assign.20custom.20library.20packages.20in.20settings.json b/zulip_json/413949-haskell-flake/Can.E2.80.99t.20assign.20custom.20library.20packages.20in.20settings.json new file mode 100644 index 00000000000..b26d8e6a8fd --- /dev/null +++ b/zulip_json/413949-haskell-flake/Can.E2.80.99t.20assign.20custom.20library.20packages.20in.20settings.json @@ -0,0 +1,20 @@ +[ + { + "content": "

I have a reproducer:

\n

clone this repo: https://github.com/shivaraj-bh/haskell-rust-ffi-template/tree/master

\n
nix develop\njust run\n
\n

Now, update haskell-flake nix flake lock —update-input haskell-flake and it fails with (while trying to enter the devshell):

\n
error: attribute 'hello_rust' missing\n
\n

Which is a setting : https://github.com/shivaraj-bh/haskell-rust-ffi-template/blob/1038ca8a87aae4e448bbd7ea6e1c41ee4e7acb2d/haskell/default.nix#L6-L8

", + "id": 429916344, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711561938 + }, + { + "content": "

I'll take a look later today. Actually, this may be related to the ordering of settings,

\n

https://github.com/srid/haskell-flake/blob/b5bfa21723e55590e92f4896d7bc3ad212cf425a/nix/modules/project/settings/default.nix#L76-L77

", + "id": 429917075, + "sender_full_name": "Srid", + "timestamp": 1711562175 + }, + { + "content": "

FTR,

\n
• Updated input 'haskell-flake':\n    'github:srid/haskell-flake/f9d17c3aa68e65529f424816c8b9346ae602d1de' (2024-02-06)\n  → 'github:srid/haskell-flake/5dcb739e9cc4e0edf5267de665fa7a905a543baa' (2024-03-27)\n
\n

nixci build =>

\n
       error: attribute 'hello_rust' missing\n\n       at /nix/store/lz0159maimglzlpd6gmn0f02047mmih0-source/nix/modules/project/settings/default.nix:75:20:\n\n           74|           in\n           75|           lib.pipe super.${name} (\n             |                    ^\n           76|             # TODO: Do we care about the *order* of overrides?\nError: devour-flake failed to run (exited: 1)\n
", + "id": 429934842, + "sender_full_name": "Srid", + "timestamp": 1711568678 + } +] \ No newline at end of file diff --git a/zulip_json/413949-haskell-flake/Compilation.20fails.20when.20embedding.20files.20using.20TH.json b/zulip_json/413949-haskell-flake/Compilation.20fails.20when.20embedding.20files.20using.20TH.json new file mode 100644 index 00000000000..57c49fff848 --- /dev/null +++ b/zulip_json/413949-haskell-flake/Compilation.20fails.20when.20embedding.20files.20using.20TH.json @@ -0,0 +1,20 @@ +[ + { + "content": "

Hi, first off, thanks for creating haskell-flake! It got me up and running with Haskell quickly.

\n

I'm trying to deploy a Haskell project to a NixOS server and compilation fails when trying to embed files using template Haskell:

\n
src/Settings.hs:139:23: error: [GHC-87897]\n    • Exception when trying to run compile-time code:\n        config/settings.yml: withBinaryFile: does not exist (No such file or directory)\n      Code: (embedFile configSettingsYml)\n    • In the untyped splice: $(embedFile configSettingsYml)\n    |\n139 | configSettingsYmlBS = $(embedFile configSettingsYml)\n    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n[12 of 54] Compiling TodoBundleName   ( src/TodoBundleName.hs, dist/build/TodoBundleName.o, dist/build/TodoBundleName.dyn_o )\n[13 of 54] Compiling TodoName         ( src/TodoName.hs, dist/build/TodoName.o, dist/build/TodoName.dyn_o )\n[14 of 54] Compiling TodoStatus       ( src/TodoStatus.hs, dist/build/TodoStatus.o, dist/build/TodoStatus.dyn_o )\n[15 of 54] Compiling TransferFeePaidBy ( src/TransferFeePaidBy.hs, dist/build/TransferFeePaidBy.o, dist/build/TransferFeePaidBy.dyn_o )\n[16 of 54] Compiling Model            ( src/Model.hs, dist/build/Model.o, dist/build/Model.dyn_o )\n\nsrc/Model.hs:64:3: error: [GHC-87897]\n    • Exception when trying to run compile-time code:\n        config/models.persistentmodels: withBinaryFile: does not exist (No such file or directory)\n      Code: (persistFileWith\n               lowerCaseSettings "config/models.persistentmodels")\n    • In the untyped splice:\n        $(persistFileWith\n            lowerCaseSettings "config/models.persistentmodels")\n   |\n64 |   $(persistFileWith lowerCaseSettings "config/models.persistentmodels")\n   |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n
\n

The project compiles on my NixOS development machine using the devShell but the error occurs when deploying to a server running NixOS.

\n

The files exist in the project, are checked in to the repo, and our old deployment pipeline using Docker works so I think I've made some mistake when setting it up using haskell-flake.

\n

Do I have to whitelist these files to be part of the build or so? I tried reading up on it but am too new to Nix to understand.

\n

Here's the flake.nix:

\n
{\n  inputs = {\n    nixpkgs.url = "github:nixos/nixpkgs/f373ad52f1fa4187abeb7d1ce1056314bcbc9980";\n    flake-parts.url = "github:hercules-ci/flake-parts";\n    haskell-flake.url = "github:srid/haskell-flake";\n  };\n  outputs = inputs@{ self, nixpkgs, flake-parts, ... }:\n    flake-parts.lib.mkFlake { inherit inputs; } {\n      systems = nixpkgs.lib.systems.flakeExposed;\n      imports = [ inputs.haskell-flake.flakeModule ];\n      perSystem = { self', system, lib, config, pkgs, ... }: {\n        haskellProjects.default = {\n          basePackages = pkgs.haskell.packages.ghc982;\n\n          # Want to override dependencies?\n          # See https://haskell.flake.page/dependency\n          settings = {\n            slugify.check = false;\n            sendgrid-v3.check = false;\n            fast-logger.check = false;\n          };\n\n          devShell = {\n            hlsCheck.enable = false;\n          };\n\n          autoWire = [ "packages" "apps" "checks" ]; # Wire all but the devShell\n        };\n\n        packages.default = self'.packages.internal-hs;\n        # apps.default = self'.apps.internal-hs;\n\n        devShells.default = pkgs.mkShell {\n          name = "Haskell devShell";\n          inputsFrom = [\n            config.haskellProjects.default.outputs.devShell\n          ];\n          nativeBuildInputs = with pkgs; [\n            watchexec\n            pcre\n            zlib\n          ];\n        };\n      };\n    };\n}\n
", + "id": 432279676, + "sender_full_name": "Jkru", + "timestamp": 1712678355 + }, + { + "content": "

Welcome, @Jkru

\n

Did you include config/models.persistentmodels in Cabal's data-files?

", + "id": 432348509, + "sender_full_name": "Srid", + "timestamp": 1712699649 + }, + { + "content": "

Thank you, that solved the issue!

", + "id": 433058151, + "sender_full_name": "Jkru", + "timestamp": 1713024354 + } +] \ No newline at end of file diff --git a/zulip_json/413949-haskell-flake/Documentation.20updates.json b/zulip_json/413949-haskell-flake/Documentation.20updates.json new file mode 100644 index 00000000000..872712db136 --- /dev/null +++ b/zulip_json/413949-haskell-flake/Documentation.20updates.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Added two new pages,

\n", + "id": 426537240, + "sender_full_name": "Srid", + "timestamp": 1710421639 + } +] \ No newline at end of file diff --git a/zulip_json/413949-haskell-flake/Failed.20to.20parse.20.60cabal.2Eproject.60.json b/zulip_json/413949-haskell-flake/Failed.20to.20parse.20.60cabal.2Eproject.60.json new file mode 100644 index 00000000000..d058d6d75f7 --- /dev/null +++ b/zulip_json/413949-haskell-flake/Failed.20to.20parse.20.60cabal.2Eproject.60.json @@ -0,0 +1,50 @@ +[ + { + "content": "

Failed to parse /nix/store/hk9ikz0hwh3swvqmcwmgcr5dxw1f736p-source/cabal.project: {\"type\":\"error\",\"value\":{\"context\":\"parsec.string\",\"msg\":\"expected string 'packages:'\",\"offset\":0,\"str\":\"-- Generated by stackage-to-hackage
\nwith-compiler: ghc-8.10.7 .......
\nSample cabal.project

\n
-- Generated by stackage-to-hackage\n\nwith-compiler: ghc-8.10.7\n\npackages:\n    ./\n\nsource-repository-package\n    type: git\n    location: https://github.com/aravindgopall/hsaml2.git\n    tag: d4ecf51a0bf3733eb1ff8724a691b0200b3355ee\n\nallow-older: *\nallow-newer: *\n
", + "id": 422383676, + "sender_full_name": "Neeraj", + "timestamp": 1708423391 + }, + { + "content": "

@Neeraj The cabal.project parser is pretty limited.

\n

Move packages: to the first line, and see if that works.

", + "id": 422402321, + "sender_full_name": "Srid", + "timestamp": 1708430446 + }, + { + "content": "

And it will only recognizes packages, not others. You have to specify them in Nix.

", + "id": 422402358, + "sender_full_name": "Srid", + "timestamp": 1708430461 + }, + { + "content": "

The first two lines should look like:

\n
❯ head -n 2 cabal.project\npackages:\n    ./\n
", + "id": 422402745, + "sender_full_name": "Srid", + "timestamp": 1708430608 + }, + { + "content": "

Srid said:

\n
\n

And it will only recognizes packages, not others. You have to specify them in Nix.

\n
\n

For eg., source-repository-package should be specified as flake inputs and used as a dependency override. See https://community.flake.parts/haskell-flake/dependency#path

", + "id": 422402890, + "sender_full_name": "Srid", + "timestamp": 1708430670 + }, + { + "content": "

(Oops, I realized I linked to haskell-flake docs but of course you'd use the same callCabal2nix function to specify these source-repository-package using flake inputs)

", + "id": 422608668, + "sender_full_name": "Srid", + "timestamp": 1708519444 + }, + { + "content": "

How to exclude cabal.project so that nix will not parse it?

", + "id": 422768326, + "sender_full_name": "Neeraj", + "timestamp": 1708590402 + }, + { + "content": "

got it. Using nix-filter solved it

", + "id": 422771217, + "sender_full_name": "Neeraj", + "timestamp": 1708591608 + } +] \ No newline at end of file diff --git a/zulip_json/413949-haskell-flake/Missing.20gettext.json b/zulip_json/413949-haskell-flake/Missing.20gettext.json new file mode 100644 index 00000000000..3c547f7f7b1 --- /dev/null +++ b/zulip_json/413949-haskell-flake/Missing.20gettext.json @@ -0,0 +1,26 @@ +[ + { + "content": "

Getting this error while building a haskell flake.
\nerror: opening file '/nix/store/nks5377mygc1srxld9l9dmjg32lrpmf0-gettext-0.21.1.drv': No such file or directory

\n

The path to derivation shown via nix repl is different that this error despite both having the same version (0.21.1).

\n
nix-repl> pkgs = legacyPackages.x86_64-darwin\nnix-repl> pkgs.gettext\n«derivation /nix/store/4a6rg76h6gwnvqhpvd8hkd4nq3jg3f7h-gettext-0.21.1.drv»\n
\n

gettext is installed via home-manager and homebrew.
\nWhat can be done to identify why is the required derivation different from what's present in nixpkgs-unstable. I have checked all flakes couldn't find any reference regarding this package.

\n

Another observation: This flake was building last Friday (5/5/24), I believe I haven't changes anything since then.
\nLet me know what other information I can provide.

", + "id": 431959935, + "sender_full_name": "Aman Singh", + "timestamp": 1712579731 + }, + { + "content": "

I am not the big Haskell guy sadly, but I hope someone will get back to you quickly :smile:

", + "id": 431965576, + "sender_full_name": "Andreas", + "timestamp": 1712581447 + }, + { + "content": "

It's alright. @Srid will able to help me out here.

", + "id": 432010609, + "sender_full_name": "Aman Singh", + "timestamp": 1712592099 + }, + { + "content": "

@Aman Singh This may be relevant: https://discourse.nixos.org/t/how-to-get-a-missing-drv-file-for-a-derivation-from-nixpkgs/2300/13

", + "id": 432059203, + "sender_full_name": "Srid", + "timestamp": 1712607116 + } +] \ No newline at end of file diff --git a/zulip_json/413949-haskell-flake/Non-standard.20package.20set.json b/zulip_json/413949-haskell-flake/Non-standard.20package.20set.json new file mode 100644 index 00000000000..0278793fb8b --- /dev/null +++ b/zulip_json/413949-haskell-flake/Non-standard.20package.20set.json @@ -0,0 +1,20 @@ +[ + { + "content": "

haskell-flake uses the nixpkgs Haskell package set by default. But if anybody wants to use alternative package sets, like the Horizon package set by @locallycompact (which also supports newer GHC versions), follow the #horizon-haskell stream.

\n

See this post for introduction: https://nixos.zulipchat.com/#narrow/stream/424491-horizon-haskell/topic/Introduction.20To.20Horizon.20Haskell/near/420618968

", + "id": 420869449, + "sender_full_name": "Srid", + "timestamp": 1707637434 + }, + { + "content": "

Horizon supports Linux only at the moment. But @locallycompact is working on adding macOS support including CI and cache.

", + "id": 420869509, + "sender_full_name": "Srid", + "timestamp": 1707637474 + }, + { + "content": "

macOS is now supported: https://github.com/srid/haskell-template/pull/123

", + "id": 424227510, + "sender_full_name": "Srid", + "timestamp": 1709297205 + } +] \ No newline at end of file diff --git a/zulip_json/413949-haskell-flake/OOM.20during.20compilation.3F.json b/zulip_json/413949-haskell-flake/OOM.20during.20compilation.3F.json new file mode 100644 index 00000000000..e863d9beff4 --- /dev/null +++ b/zulip_json/413949-haskell-flake/OOM.20during.20compilation.3F.json @@ -0,0 +1,20 @@ +[ + { + "content": "

My builds are failing and it seems to be because cabal builds multiple packages in parallel and runs out of memory. I've had this issue before when using Docker and solved it by passing -j1 to cabal build. How do I do the same using haskell-flake?

\n

I tried sprinkling extraBuildFlags with \"-j1\" everywhere to see if it'd have an effect, but it seems it does not. I'm new to nix and haskell-flake so I'm sure I'm using it incorrectly.

\n

How would I pass a \"global\" cabal build flag like this?

\n

Here's my flake:

\n
{\n  inputs = {\n    nixpkgs.url = "github:nixos//nixpkgs/00d80d13810dbfea8ab4ed1009b09100cca86ba8";\n    flake-parts.url = "github:hercules-ci/flake-parts";\n    haskell-flake.url = "github:srid/haskell-flake";\n  };\n  outputs = inputs@{ self, nixpkgs, flake-parts, ... }:\n    flake-parts.lib.mkFlake { inherit inputs; } {\n      systems = nixpkgs.lib.systems.flakeExposed;\n      imports = [ inputs.haskell-flake.flakeModule ];\n      perSystem = { self', system, lib, config, pkgs, ... }: {\n        haskellProjects.default = {\n          basePackages = pkgs.haskell.packages.ghc982;\n\n          settings = {\n            all.extraBuildFlags = [ "-j1" ];\n            overall.extraBuildFlags = [ "-j1" ];\n          };\n\n          devShell = {\n            hlsCheck.enable = false;\n          };\n\n          defaults.settings.default = {\n            check = false;\n            extraBuildFlags = [ "-j1" ];\n          };\n\n          autoWire = [ "packages" ];\n        };\n\n        packages.default = self'.packages.overall;\n\n        devShells.default = pkgs.mkShell {\n          name = "Haskell devShell";\n          inputsFrom = [\n            config.haskellProjects.default.outputs.devShell\n          ];\n          nativeBuildInputs = with pkgs; [\n          ];\n        };\n      };\n    };\n}\n
", + "id": 448835129, + "sender_full_name": "JamesM", + "timestamp": 1720009633 + }, + { + "content": "
          settings = {\n            all.extraBuildFlags = [ \"-j1\" ];\n            overall.extraBuildFlags = [ \"-j1\" ];\n          };\n
\n

What's all and overall? Are you using latest haskell-flake?

", + "id": 448863738, + "sender_full_name": "Srid", + "timestamp": 1720016779 + }, + { + "content": "
          defaults.settings.default = {\n            check = false;\n            extraBuildFlags = [ \"-j1\" ];\n          };\n
\n

In recent haskell-flake, this should be defaults.settings.local

", + "id": 448864579, + "sender_full_name": "Srid", + "timestamp": 1720016929 + } +] \ No newline at end of file diff --git a/zulip_json/413949-haskell-flake/Removing.20IFD.json b/zulip_json/413949-haskell-flake/Removing.20IFD.json new file mode 100644 index 00000000000..1d9ab2b5bc7 --- /dev/null +++ b/zulip_json/413949-haskell-flake/Removing.20IFD.json @@ -0,0 +1,44 @@ +[ + { + "content": "

@Aravind Gopal opened https://github.com/srid/haskell-flake/pull/204 which removes the need for IFD in local packages.

\n

But IFD is still used in dependency overrides; for eg., packages.foo.source will use IFD, via callCabal2nix or callHackage. The open question here is: how do we solve it?

\n

cc @Shivaraj B H

", + "id": 406071884, + "sender_full_name": "Srid", + "timestamp": 1701787638 + }, + { + "content": "

We may have to borrow some ideas from https://horizon-haskell.net/

", + "id": 406072902, + "sender_full_name": "Srid", + "timestamp": 1701787958 + }, + { + "content": "

From @Aravind Gopal

\n
\n

maintaining package sets seems like the only possible way for this.

\n

which is same as in horizon-haskell.

\n
\n

Hmm, I'll take a look at this as a next project. Ideally we want to define package sets in Nix expressions itself, and stick close to nixpkgs (unlike horizon).

", + "id": 407264742, + "sender_full_name": "Srid", + "timestamp": 1702308662 + }, + { + "content": "

Here's one way to solve this: https://github.com/srid/haskell-flake/pull/204#pullrequestreview-1809771568

\n

Summary: copy over the hackage2nix/ callCabal2nix generated default.nix to a directory, and have the developer commit that to Git.

", + "id": 411872738, + "sender_full_name": "Srid", + "timestamp": 1704781394 + }, + { + "content": "

It looks like this (note: we overrode relude to test dependency override),

\n

image.png

\n
❯ cat .haskellSrc2nix/haskell-template.nix\n{ mkDerivation, aeson, async, base, data-default, directory\n, filepath, lib, mtl, optics-core, profunctors, relude, shower\n, time, with-utf8\n}:\nmkDerivation {\n  pname = "haskell-template";\n  version = "0.1.0.0";\n  src = /nix/store/51shzaxpi2abz3hfp4q05kcd1lls0lba-source;\n  isLibrary = false;\n  isExecutable = true;\n  executableHaskellDepends = [\n    aeson async base data-default directory filepath mtl optics-core\n    profunctors relude shower time with-utf8\n  ];\n  homepage = "https://srid.ca/haskell-template";\n  description = "A template for Haskell projects using Nix";\n  license = lib.licenses.mit;\n  mainProgram = "haskell-template";\n}\n
\n

But as you can see that hardcoded src = /nix/store/51shzaxpi2abz3hfp4q05kcd1lls0lba-source; is problematic. Looks like we have to do some hacky patching of this generated nix to have the src point back to the actual path.

", + "id": 411872872, + "sender_full_name": "Srid", + "timestamp": 1704781466 + }, + { + "content": "
\n

Looks like we have to do some hacky patching of this generated nix to have the src point back to the actual path.

\n
\n

AFAIR calling cabal2nix executable results in a relative path rather than a path linking to the /nix/store for local packages.

", + "id": 411873737, + "sender_full_name": "Shivaraj B H", + "timestamp": 1704782030 + }, + { + "content": "

But note we are using callCabal2nix which passes nix store paths,

\n

cf. src in https://github.com/NixOS/nixpkgs/blob/6a9382b8d1d9531be1a2fd611f3f91f30fb38678/pkgs/development/haskell-modules/make-package-set.nix#L140

", + "id": 411876599, + "sender_full_name": "Srid", + "timestamp": 1704783877 + } +] \ No newline at end of file diff --git a/zulip_json/413949-haskell-flake/Using.20horizon.20package.20set.20with.20haskell-flake.json b/zulip_json/413949-haskell-flake/Using.20horizon.20package.20set.20with.20haskell-flake.json new file mode 100644 index 00000000000..fc0bdaf3c97 --- /dev/null +++ b/zulip_json/413949-haskell-flake/Using.20horizon.20package.20set.20with.20haskell-flake.json @@ -0,0 +1,38 @@ +[ + { + "content": "

After talking to @locallycompact , it seems that using horizon-haskell package set with haskell-flake is a matter of setting basePackages.

\n

Though there are some issues to iron out. /thread for it.

", + "id": 416021495, + "sender_full_name": "Srid", + "timestamp": 1705496462 + }, + { + "content": "
\n

locallycompact Can we factor out cabalSdist and use it from another location?

\n
\n

What do you mean?

\n

It is used here, btw. Line 15 and 42.

", + "id": 416021709, + "sender_full_name": "Srid", + "timestamp": 1705496532 + }, + { + "content": "

One thing we should do is allow the user to disable the use of cabalSdist (toggle on/off module option).

", + "id": 416022231, + "sender_full_name": "Srid", + "timestamp": 1705496696 + }, + { + "content": "

@locallycompact Could you try https://github.com/srid/haskell-flake/pull/220 and see if that works?

", + "id": 419005350, + "sender_full_name": "Srid", + "timestamp": 1706695672 + }, + { + "content": "

https://github.com/srid/haskell-flake/pull/221 in fact

", + "id": 419165964, + "sender_full_name": "Srid", + "timestamp": 1706757908 + }, + { + "content": "

Proof of concept that works on Linux (not yet on macOS), thanks to @locallycompact

\n

https://github.com/srid/haskell-template/pull/123

", + "id": 420191600, + "sender_full_name": "Srid", + "timestamp": 1707289374 + } +] \ No newline at end of file diff --git a/zulip_json/413949-haskell-flake/cabal-install.20ignoring.20user.27s.20package.20set.json b/zulip_json/413949-haskell-flake/cabal-install.20ignoring.20user.27s.20package.20set.json new file mode 100644 index 00000000000..6edae8c88e2 --- /dev/null +++ b/zulip_json/413949-haskell-flake/cabal-install.20ignoring.20user.27s.20package.20set.json @@ -0,0 +1,368 @@ +[ + { + "content": "

@Srid I am trying to build https://hackage.haskell.org/package/rings on GHC 9.8.1, I have a flake set up with haskell-flake. I am trying to get singleton-bool (used in the test suite of lukko, a dependency of hackage-security) to be version 0.1.7 (Hackage latest). but no matter what I do, including using jailbreak = true for lukko, overriding the source of singleton-bool to be either github master or hackage 0.1.7, or check = false for lukko to avoid building the test suite altogether, my build fails building singleton-bool-0.1.6

", + "id": 418969697, + "sender_full_name": "Matt Peddie", + "timestamp": 1706677910 + }, + { + "content": "

flake.nix
\nhere is the flake I'm using

", + "id": 418970076, + "sender_full_name": "Matt Peddie", + "timestamp": 1706678274 + }, + { + "content": "

I can't figure out why version 0.1.6 is getting built at all, but nix-output-monitor shows it as a dependency of lukko

", + "id": 418970130, + "sender_full_name": "Matt Peddie", + "timestamp": 1706678308 + }, + { + "content": "

I know just enough nix to get myself into trouble, so I'm having trouble digging deeper into what's going on

", + "id": 418970184, + "sender_full_name": "Matt Peddie", + "timestamp": 1706678387 + }, + { + "content": "

Can you paste the build log?

", + "id": 418970480, + "sender_full_name": "Srid", + "timestamp": 1706678645 + }, + { + "content": "

sure, is there a way to make a collapsible text snippet in zulip?

", + "id": 418970516, + "sender_full_name": "Matt Peddie", + "timestamp": 1706678693 + }, + { + "content": "

Yes, via spoilers: https://zulip.com/help/format-your-message-using-markdown#spoilers

\n

But you can use regular Markdown code blocks as well

", + "id": 418970542, + "sender_full_name": "Srid", + "timestamp": 1706678732 + }, + { + "content": "

build.log
\nI'll just do it as a file

", + "id": 418970634, + "sender_full_name": "Matt Peddie", + "timestamp": 1706678798 + }, + { + "content": "

Is that full build log? Can you paste the entire output of nix develop -L or nix build -L?

", + "id": 418970689, + "sender_full_name": "Srid", + "timestamp": 1706678863 + }, + { + "content": "

it's pretty close. let's try a spoiler block

\n
\n

nix build -L

\n
\n

warning: Git tree '/home/peddie/programming/rings' is dirty
\nsingleton-bool> Running phase: setupCompilerEnvironmentPhase
\nsingleton-bool> Build with /nix/store/0i135sf11k1vy8l181jkxamq18jfasjy-ghc-9.8.1.
\nsingleton-bool> Running phase: unpackPhase
\nsingleton-bool> unpacking source archive /nix/store/aya82ycp978lffwr5dhlxdikkihqjnp2-singleton-bool-0.1.6.tar.gz
\nsingleton-bool> source root is singleton-bool-0.1.6
\nsingleton-bool> setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file singleton-bool-0.1.6/src/Data/Singletons/Bool.hs
\nsingleton-bool> Running phase: patchPhase
\nsingleton-bool> Replace Cabal file with edited version from mirror://hackage/singleton-bool-0.1.6/revision/2.cabal.
\nsingleton-bool> Running phase: compileBuildDriverPhase
\nsingleton-bool> setupCompileFlags: -package-db=/build/tmp.z1b55ghRmQ/setup-package.conf.d -j16 +RTS -A64M -RTS -threaded -rtsopts
\nsingleton-bool> [1 of 2] Compiling Main ( Setup.hs, /build/tmp.z1b55ghRmQ/Main.o )
\nsingleton-bool> [2 of 2] Linking Setup
\nsingleton-bool> Running phase: updateAutotoolsGnuConfigScriptsPhase
\nsingleton-bool> Running phase: configurePhase
\nsingleton-bool> configureFlags: --verbose --prefix=/nix/store/9shs4z4ym0wyqs8dks47r40a70rvhxrl-singleton-bool-0.1.6 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/6qk15snibs3b47m51xv82gws889rz54a-singleton-bool-0.1.6-doc/share/doc/singleton-bool-0.1.6 --with-gcc=gcc --package-db=/build/tmp.z1b55ghRmQ/package.conf.d --ghc-options=-j16 +RTS -A64M -RTS --disable-split-objs --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --ghc-option=-split-sections --ghc-options=-haddock --extra-lib-dirs=/nix/store/2dla9whd0hgqi4ygywrmv933bs8w8k7m-ncurses-6.4/lib --extra-lib-dirs=/nix/store/npfpil5nswlaqy7y56dwp0csj91pjiyd-libffi-3.4.4/lib --extra-lib-dirs=/nix/store/qnlgnpvh94xw2j3pm5f02iw102lx6llc-elfutils-0.190/lib --extra-lib-dirs=/nix/store/b5r5rikbdpr6qs4wfm6dxz9dbrmyvps6-gmp-with-cxx-6.3.0/lib
\nsingleton-bool> Using Parsec parser
\nsingleton-bool> Configuring singleton-bool-0.1.6...
\nsingleton-bool> CallStack (from HasCallStack):
\nsingleton-bool> withMetadata, called at libraries/Cabal/Cabal/src/Distribution/Simple/Utils.hs:368:14 in Cabal-3.10.2.0-inplace:Distribution.Simple.Utils
\nsingleton-bool> Error: Setup: Encountered missing or private dependencies:
\nsingleton-bool> base >=4.7 && <4.18, deepseq >=1.3 && <1.5
\nerror: build of '/nix/store/rp57ihgmwx4fjipapyjbrfi7pwq3hqjp-singleton-bool-0.1.6.drv' on 'ssh://danboduo' failed: builder for '/nix/store/rp57ihgmwx4fjipapyjbrfi7pwq3hqjp-singleton-bool-0.1.6.drv' failed with exit code 1
\nerror: builder for '/nix/store/rp57ihgmwx4fjipapyjbrfi7pwq3hqjp-singleton-bool-0.1.6.drv' failed with exit code 1
\nerror: 1 dependencies of derivation '/nix/store/jff2ylcbkn4byb32zjxagnymmb3wlqw6-lukko-0.1.1.3.drv' failed to build
\nerror: 1 dependencies of derivation '/nix/store/h6w86zn4wbh60r69w6bb63jzpphcsk2p-cabal-install-3.10.2.1.drv' failed to build
\nerror: 1 dependencies of derivation '/nix/store/2hpj5jfyjbm6d7fnkm29kqar2vmc2blv-source-connections-sdist.tar.gz.drv' failed to build
\nerror: 1 dependencies of derivation '/nix/store/9z7krhisrzcykv08fsbnxnqnnkrm6cp9-source-rings-sdist.tar.gz.drv' failed to build
\nerror: 1 dependencies of derivation '/nix/store/97z6rwvxqpm6w5dyahx7082vkg4fflg2-rings-0.2.drv' failed to build

\n
", + "id": 418970761, + "sender_full_name": "Matt Peddie", + "timestamp": 1706678924 + }, + { + "content": "

I can do nom build if you want to see the graph I was looking at

", + "id": 418970810, + "sender_full_name": "Matt Peddie", + "timestamp": 1706678975 + }, + { + "content": "

This one's better as it gives you a package stacktrace. Look at the last few lines:

\n
    \n
  • singleton-bool
  • \n
  • lukko
  • \n
  • cabal-install
  • \n
\n

In your flake, if you set lukka.check = false; it should disable building singleton-bool (assuming that's its test dependency)

", + "id": 418970892, + "sender_full_name": "Srid", + "timestamp": 1706679020 + }, + { + "content": "

The flake you attached above only sets lukko.jailbreak

", + "id": 418970913, + "sender_full_name": "Srid", + "timestamp": 1706679043 + }, + { + "content": "

(All jailbreak does is make cabal disrespect the version constraints in dependencies)

", + "id": 418970929, + "sender_full_name": "Srid", + "timestamp": 1706679053 + }, + { + "content": "

yes -- same error when setting lukko.check = false as I mentioned in the first message

", + "id": 418970951, + "sender_full_name": "Matt Peddie", + "timestamp": 1706679068 + }, + { + "content": "

Are you sure it is the exact same log lines as well (not just same error message)?

", + "id": 418970971, + "sender_full_name": "Srid", + "timestamp": 1706679096 + }, + { + "content": "

My guess is something else depends on singleton-bool, and you'll see this in the nix build log

", + "id": 418971020, + "sender_full_name": "Srid", + "timestamp": 1706679124 + }, + { + "content": "

no, I'm not sure, here is the output with lukko.check set to false

\n
\n

nix build -L

\n
\n

singleton-bool> Running phase: setupCompilerEnvironmentPhase
\nsingleton-bool> Build with /nix/store/0i135sf11k1vy8l181jkxamq18jfasjy-ghc-9.8.1.
\nsingleton-bool> Running phase: unpackPhase
\nsingleton-bool> unpacking source archive /nix/store/aya82ycp978lffwr5dhlxdikkihqjnp2-singleton-bool-0.1.6.tar.gz
\nsingleton-bool> source root is singleton-bool-0.1.6
\nsingleton-bool> setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file singleton-bool-0.1.6/src/Data/Singletons/Bool.hs
\nsingleton-bool> Running phase: patchPhase
\nsingleton-bool> Replace Cabal file with edited version from mirror://hackage/singleton-bool-0.1.6/revision/2.cabal.
\nsingleton-bool> Running phase: compileBuildDriverPhase
\nsingleton-bool> setupCompileFlags: -package-db=/build/tmp.zzip926rdA/setup-package.conf.d -j16 +RTS -A64M -RTS -threaded -rtsopts
\nsingleton-bool> [1 of 2] Compiling Main ( Setup.hs, /build/tmp.zzip926rdA/Main.o )
\nsingleton-bool> [2 of 2] Linking Setup
\nsingleton-bool> Running phase: updateAutotoolsGnuConfigScriptsPhase
\nsingleton-bool> Running phase: configurePhase
\nsingleton-bool> configureFlags: --verbose --prefix=/nix/store/9shs4z4ym0wyqs8dks47r40a70rvhxrl-singleton-bool-0.1.6 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/6qk15snibs3b47m51xv82gws889rz54a-singleton-bool-0.1.6-doc/share/doc/singleton-bool-0.1.6 --with-gcc=gcc --package-db=/build/tmp.zzip926rdA/package.conf.d --ghc-options=-j16 +RTS -A64M -RTS --disable-split-objs --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --ghc-option=-split-sections --ghc-options=-haddock --extra-lib-dirs=/nix/store/2dla9whd0hgqi4ygywrmv933bs8w8k7m-ncurses-6.4/lib --extra-lib-dirs=/nix/store/npfpil5nswlaqy7y56dwp0csj91pjiyd-libffi-3.4.4/lib --extra-lib-dirs=/nix/store/qnlgnpvh94xw2j3pm5f02iw102lx6llc-elfutils-0.190/lib --extra-lib-dirs=/nix/store/b5r5rikbdpr6qs4wfm6dxz9dbrmyvps6-gmp-with-cxx-6.3.0/lib
\nsingleton-bool> Using Parsec parser
\nsingleton-bool> Configuring singleton-bool-0.1.6...
\nsingleton-bool> CallStack (from HasCallStack):
\nsingleton-bool> withMetadata, called at libraries/Cabal/Cabal/src/Distribution/Simple/Utils.hs:368:14 in Cabal-3.10.2.0-inplace:Distribution.Simple.Utils
\nsingleton-bool> Error: Setup: Encountered missing or private dependencies:
\nsingleton-bool> base >=4.7 && <4.18, deepseq >=1.3 && <1.5
\nerror: build of '/nix/store/rp57ihgmwx4fjipapyjbrfi7pwq3hqjp-singleton-bool-0.1.6.drv' on 'ssh://danboduo' failed: builder for '/nix/store/rp57ihgmwx4fjipapyjbrfi7pwq3hqjp-singleton-bool-0.1.6.drv' failed with exit code 1
\nerror: builder for '/nix/store/rp57ihgmwx4fjipapyjbrfi7pwq3hqjp-singleton-bool-0.1.6.drv' failed with exit code 1
\nerror: 1 dependencies of derivation '/nix/store/jff2ylcbkn4byb32zjxagnymmb3wlqw6-lukko-0.1.1.3.drv' failed to build
\nerror: 1 dependencies of derivation '/nix/store/h6w86zn4wbh60r69w6bb63jzpphcsk2p-cabal-install-3.10.2.1.drv' failed to build
\nerror: 1 dependencies of derivation '/nix/store/2hpj5jfyjbm6d7fnkm29kqar2vmc2blv-source-connections-sdist.tar.gz.drv' failed to build
\nerror: 1 dependencies of derivation '/nix/store/ainss91nhn73kfkdbksfk23q806nsq9v-source-rings-sdist.tar.gz.drv' failed to build
\nerror: 1 dependencies of derivation '/nix/store/pfwqipvwwc2afvyxlqv6h33w50grlwqw-rings-0.2.drv' failed to build

\n
", + "id": 418971053, + "sender_full_name": "Matt Peddie", + "timestamp": 1706679143 + }, + { + "content": "

to me it still looked as if it's due to lukko

", + "id": 418971081, + "sender_full_name": "Matt Peddie", + "timestamp": 1706679177 + }, + { + "content": "

Why are you jailbreaking cabal-install btw?

", + "id": 418971186, + "sender_full_name": "Srid", + "timestamp": 1706679252 + }, + { + "content": "

just another random thing I tried at some point

", + "id": 418971216, + "sender_full_name": "Matt Peddie", + "timestamp": 1706679281 + }, + { + "content": "

All of this happening as a result of overriding cabal-install as that. If you don't know why you did it, just remove it and try again.

", + "id": 418971257, + "sender_full_name": "Srid", + "timestamp": 1706679320 + }, + { + "content": "

I did remove it, it looks like the same problem

", + "id": 418971266, + "sender_full_name": "Matt Peddie", + "timestamp": 1706679333 + }, + { + "content": "

Logs?

", + "id": 418971280, + "sender_full_name": "Srid", + "timestamp": 1706679345 + }, + { + "content": "
\n

nix build -L (without cabal overridden)

\n
\n

warning: Git tree '/home/peddie/programming/rings' is dirty
\nsingleton-bool> Running phase: setupCompilerEnvironmentPhase
\nsingleton-bool> Build with /nix/store/0i135sf11k1vy8l181jkxamq18jfasjy-ghc-9.8.1.
\nsingleton-bool> Running phase: unpackPhase
\nsingleton-bool> unpacking source archive /nix/store/aya82ycp978lffwr5dhlxdikkihqjnp2-singleton-bool-0.1.6.tar.gz
\nsingleton-bool> source root is singleton-bool-0.1.6
\nsingleton-bool> setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file singleton-bool-0.1.6/src/Data/Singletons/Bool.hs
\nsingleton-bool> Running phase: patchPhase
\nsingleton-bool> Replace Cabal file with edited version from mirror://hackage/singleton-bool-0.1.6/revision/2.cabal.
\nsingleton-bool> Running phase: compileBuildDriverPhase
\nsingleton-bool> setupCompileFlags: -package-db=/build/tmp.vuGByZQCdA/setup-package.conf.d -j16 +RTS -A64M -RTS -threaded -rtsopts
\nsingleton-bool> [1 of 2] Compiling Main ( Setup.hs, /build/tmp.vuGByZQCdA/Main.o )
\nsingleton-bool> [2 of 2] Linking Setup
\nsingleton-bool> Running phase: updateAutotoolsGnuConfigScriptsPhase
\nsingleton-bool> Running phase: configurePhase
\nsingleton-bool> configureFlags: --verbose --prefix=/nix/store/9shs4z4ym0wyqs8dks47r40a70rvhxrl-singleton-bool-0.1.6 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/6qk15snibs3b47m51xv82gws889rz54a-singleton-bool-0.1.6-doc/share/doc/singleton-bool-0.1.6 --with-gcc=gcc --package-db=/build/tmp.vuGByZQCdA/package.conf.d --ghc-options=-j16 +RTS -A64M -RTS --disable-split-objs --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --ghc-option=-split-sections --ghc-options=-haddock --extra-lib-dirs=/nix/store/2dla9whd0hgqi4ygywrmv933bs8w8k7m-ncurses-6.4/lib --extra-lib-dirs=/nix/store/npfpil5nswlaqy7y56dwp0csj91pjiyd-libffi-3.4.4/lib --extra-lib-dirs=/nix/store/qnlgnpvh94xw2j3pm5f02iw102lx6llc-elfutils-0.190/lib --extra-lib-dirs=/nix/store/b5r5rikbdpr6qs4wfm6dxz9dbrmyvps6-gmp-with-cxx-6.3.0/lib
\nsingleton-bool> Using Parsec parser
\nsingleton-bool> Configuring singleton-bool-0.1.6...
\nsingleton-bool> CallStack (from HasCallStack):
\nsingleton-bool> withMetadata, called at libraries/Cabal/Cabal/src/Distribution/Simple/Utils.hs:368:14 in Cabal-3.10.2.0-inplace:Distribution.Simple.Utils
\nsingleton-bool> Error: Setup: Encountered missing or private dependencies:
\nsingleton-bool> base >=4.7 && <4.18, deepseq >=1.3 && <1.5
\nerror: build of '/nix/store/rp57ihgmwx4fjipapyjbrfi7pwq3hqjp-singleton-bool-0.1.6.drv' on 'ssh://danboduo' failed: builder for '/nix/store/rp57ihgmwx4fjipapyjbrfi7pwq3hqjp-singleton-bool-0.1.6.drv' failed with exit code 1
\nerror: builder for '/nix/store/rp57ihgmwx4fjipapyjbrfi7pwq3hqjp-singleton-bool-0.1.6.drv' failed with exit code 1
\nerror: 1 dependencies of derivation '/nix/store/jff2ylcbkn4byb32zjxagnymmb3wlqw6-lukko-0.1.1.3.drv' failed to build
\nerror: 1 dependencies of derivation '/nix/store/h6w86zn4wbh60r69w6bb63jzpphcsk2p-cabal-install-3.10.2.1.drv' failed to build
\nerror: 1 dependencies of derivation '/nix/store/2hpj5jfyjbm6d7fnkm29kqar2vmc2blv-source-connections-sdist.tar.gz.drv' failed to build
\nerror: 1 dependencies of derivation '/nix/store/224qy6xglcxmzrgwd5f7x4i1faw0p4l4-source-rings-sdist.tar.gz.drv' failed to build
\nerror: 1 dependencies of derivation '/nix/store/5srwd2dfdqj1rayrlbf20s2lji77bmm9-rings-0.2.drv' failed to build

\n
", + "id": 418971294, + "sender_full_name": "Matt Peddie", + "timestamp": 1706679357 + }, + { + "content": "

Is this something I can reproduce locally on my machine?

", + "id": 418971355, + "sender_full_name": "Srid", + "timestamp": 1706679385 + }, + { + "content": "

I would hope so, that is the idea of nix, right? :) I can send you my flake.lock, I just have the flake files inside my local checkout of rings with no other changes
\nflake.nix
\nflake.lock

", + "id": 418971401, + "sender_full_name": "Matt Peddie", + "timestamp": 1706679440 + }, + { + "content": "

A minimal repro as git repo would be nice

", + "id": 418971402, + "sender_full_name": "Srid", + "timestamp": 1706679441 + }, + { + "content": "

OK I can make my own copy of rings and add those files if that is that much easier

", + "id": 418971497, + "sender_full_name": "Matt Peddie", + "timestamp": 1706679513 + }, + { + "content": "

https://github.com/peddie/rings branch flake

", + "id": 418971696, + "sender_full_name": "Matt Peddie", + "timestamp": 1706679704 + }, + { + "content": "

On macOS or Linux?

", + "id": 418971715, + "sender_full_name": "Srid", + "timestamp": 1706679716 + }, + { + "content": "

linux

", + "id": 418971720, + "sender_full_name": "Matt Peddie", + "timestamp": 1706679719 + }, + { + "content": "

It is building the world ...

", + "id": 418972136, + "sender_full_name": "Srid", + "timestamp": 1706680046 + }, + { + "content": "

that seems like the normal process for using nix, so I'll interpret that as a good thing

", + "id": 418972227, + "sender_full_name": "Matt Peddie", + "timestamp": 1706680093 + }, + { + "content": "

nixos cache caches only pkgs.haskellPackages I think

", + "id": 418972249, + "sender_full_name": "Srid", + "timestamp": 1706680119 + }, + { + "content": "

thanks for taking a look. I hope it's not something dumb caused by my lack of nix knowledge

", + "id": 418972255, + "sender_full_name": "Matt Peddie", + "timestamp": 1706680124 + }, + { + "content": "

By the way, @locallycompact is working on Horizon Haskell which provides package sets with caching, but there's one minor issue to resolve first: https://nixos.zulipchat.com/#narrow/stream/413949-haskell-flake/topic/Using.20horizon.20package.20set.20with.20haskell-flake

", + "id": 418972278, + "sender_full_name": "Srid", + "timestamp": 1706680149 + }, + { + "content": "

Matt Peddie said:

\n
\n

thanks for taking a look. I hope it's not something dumb caused by my lack of nix knowledge

\n
\n

We are actually writing a tutorial series to introduce Haskellers to Nix:

\n

https://nixos.asia/en/nixify-haskell

", + "id": 418972311, + "sender_full_name": "Srid", + "timestamp": 1706680188 + }, + { + "content": "

Srid said:

\n
\n

nixos cache caches only pkgs.haskellPackages I think

\n
\n

ah, damn, OK. I have a big remote builder under my desk and occasionally try to use CUDA with nix, so I long ago gave up paying attention to whether and how the caches were working

", + "id": 418972340, + "sender_full_name": "Matt Peddie", + "timestamp": 1706680204 + }, + { + "content": "

(on top of the Nix series)

", + "id": 418972363, + "sender_full_name": "Srid", + "timestamp": 1706680208 + }, + { + "content": "

Alright, your repo failed on Linux for me with a different error:

\n

image.png

\n
", + "id": 418972401, + "sender_full_name": "Srid", + "timestamp": 1706680238 + }, + { + "content": "

very cool about the tutorial! I'll give it a read. I already appreciated your good haskell-flake docs many times

", + "id": 418972404, + "sender_full_name": "Matt Peddie", + "timestamp": 1706680242 + }, + { + "content": "

I haven't seen that error. what happened to reproducibility?

", + "id": 418972447, + "sender_full_name": "Matt Peddie", + "timestamp": 1706680279 + }, + { + "content": "

That ^ was the result of running nix develop -L.

\n

Let me try nix build -L now.

", + "id": 418972450, + "sender_full_name": "Srid", + "timestamp": 1706680281 + }, + { + "content": "

the shell builds more packages than the package, necessarily. like HLS

", + "id": 418972475, + "sender_full_name": "Srid", + "timestamp": 1706680308 + }, + { + "content": "

Okay, I see it now:
\nimage.png

\n
", + "id": 418972539, + "sender_full_name": "Srid", + "timestamp": 1706680331 + }, + { + "content": "

I am guessing HLS doesn't work with 9.8.1 yet, or at least requires significant tweaking (in my experience it's a miracle when HLS runs OK)

", + "id": 418972557, + "sender_full_name": "Matt Peddie", + "timestamp": 1706680355 + }, + { + "content": "

right so singleton-bool-0.1.7 has those upper version bounds relaxed and I think should work, but I can't figure out why the package set contains singleton-bool-0.1.6 at all . . .

", + "id": 418972602, + "sender_full_name": "Matt Peddie", + "timestamp": 1706680400 + }, + { + "content": "

Regarding jailbreaking finite-typelits, you probably need latest anyway: https://github.com/mniip/finite-typelits/commit/03600fbac084e6bc6b95957665d6ceedb3722358

", + "id": 418972736, + "sender_full_name": "Srid", + "timestamp": 1706680492 + }, + { + "content": "

But it is just test change, so we can check=false it

", + "id": 418972762, + "sender_full_name": "Srid", + "timestamp": 1706680515 + }, + { + "content": "

thanks for the tip, I'll just get that from git then

", + "id": 418972781, + "sender_full_name": "Matt Peddie", + "timestamp": 1706680533 + }, + { + "content": "

I see what's happening. @Matt Peddie Try the no-fromSdist branch of haskell-flake for now.

", + "id": 418972988, + "sender_full_name": "Srid", + "timestamp": 1706680694 + }, + { + "content": "

And looks like we need to do this after all:

\n

Srid said:

\n
\n

One thing we should do is allow the user to disable the use of cabalSdist (toggle on/off module option).

\n
", + "id": 418973027, + "sender_full_name": "Srid", + "timestamp": 1706680736 + }, + { + "content": "

trying now. what exactly is going on, if you don't mind? how did, for example, disabling lukko tests not solve the problem?

", + "id": 418973072, + "sender_full_name": "Matt Peddie", + "timestamp": 1706680762 + }, + { + "content": "

cc @Robert Hensing - looks like our use of fromSdist is building its own cabal-install ignoring what's in the user's package set. Which was causing this problem.

", + "id": 418973099, + "sender_full_name": "Srid", + "timestamp": 1706680781 + }, + { + "content": "

This ^ was going on I think. I'll file an issue on github.

", + "id": 418973141, + "sender_full_name": "Srid", + "timestamp": 1706680802 + }, + { + "content": "

cool, I appreciate you taking the time for this. keep up the good work on haskell-flake. I look forward to learning to wield it more effectively from your tutorials

", + "id": 418973264, + "sender_full_name": "Matt Peddie", + "timestamp": 1706680866 + }, + { + "content": "

@Matt Peddie Can you let me know if https://github.com/srid/haskell-flake/pull/220 fixes it?

", + "id": 419005309, + "sender_full_name": "Srid", + "timestamp": 1706695661 + }, + { + "content": "

trying it now, but I'm not quite sure from looking at the patch and the discussion for which component I should be setting this new flag. cabal-install? at a meta-level, this confusion may be supporting evidence for

\n
\n

Because these kinds of issues are not straightforward to debug without knowledge of the nixpkgs Haskell infrastructure.

\n
", + "id": 419134097, + "sender_full_name": "Matt Peddie", + "timestamp": 1706739816 + }, + { + "content": "

https://github.com/srid/haskell-flake/pull/221 seems to work OK, though

", + "id": 419137068, + "sender_full_name": "Matt Peddie", + "timestamp": 1706741067 + }, + { + "content": "

Matt Peddie said:

\n
\n

https://github.com/srid/haskell-flake/pull/221 seems to work OK, though

\n
\n

Awesome, we are planning to merge 221 only (not 220).

", + "id": 419165943, + "sender_full_name": "Srid", + "timestamp": 1706757901 + } +] \ No newline at end of file diff --git a/zulip_json/413949-haskell-flake/haskell-language-server.20dropped.20support.20for.20ghc.208.2E10.json b/zulip_json/413949-haskell-flake/haskell-language-server.20dropped.20support.20for.20ghc.208.2E10.json new file mode 100644 index 00000000000..94656230457 --- /dev/null +++ b/zulip_json/413949-haskell-flake/haskell-language-server.20dropped.20support.20for.20ghc.208.2E10.json @@ -0,0 +1,20 @@ +[ + { + "content": "

failed with

\n
error: haskell-language-server dropped support for ghc 8.10 in version 2.3.0.0\nplease use a newer ghc version or an older nixpkgs version\n
", + "id": 422779918, + "sender_full_name": "Neeraj", + "timestamp": 1708594934 + }, + { + "content": "

You may have to downgrade your nixpkgs then.

\n

Try perhaps 96ba1c52e54e74c3197f4d43026b3f3d92e83ff9 from when nammayatri was using it before this PR:

\n

https://github.com/nammayatri/common/pull/18/files#diff-216b2b7bfde9416c79d133bacb031e95702a20bdedb548c0b055c837aa4f6a9c

", + "id": 422788213, + "sender_full_name": "Srid", + "timestamp": 1708598001 + }, + { + "content": "

nixpkgs.url = \"github:nixos/nixpkgs/96ba1c52e54e74c3197f4d43026b3f3d92e83ff9

", + "id": 422788263, + "sender_full_name": "Srid", + "timestamp": 1708598026 + } +] \ No newline at end of file diff --git a/zulip_json/413949-haskell-flake/stream.20events.json b/zulip_json/413949-haskell-flake/stream.20events.json new file mode 100644 index 00000000000..39891baff88 --- /dev/null +++ b/zulip_json/413949-haskell-flake/stream.20events.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Web-public stream created by Srid. Description:

\n
\n

Discussions about https://github.com/srid/haskell-flake

\n
", + "id": 403593880, + "sender_full_name": "Notification Bot", + "timestamp": 1700660225 + } +] \ No newline at end of file diff --git a/zulip_json/413949-haskell-flake/what.20is.20.60toDefinedProject.60.3F.json b/zulip_json/413949-haskell-flake/what.20is.20.60toDefinedProject.60.3F.json new file mode 100644 index 00000000000..e9b5317210f --- /dev/null +++ b/zulip_json/413949-haskell-flake/what.20is.20.60toDefinedProject.60.3F.json @@ -0,0 +1,38 @@ +[ + { + "content": "

As far as I can see, both local.toCurrentProject and local.toDefinedProject call the same function, only at different times. But I don’t seem to wrap my head around when toDefinedProject must be true.
\nIn my observation, it is true when a haskell package gets its source from inputs but it is not from cabal.project (which makes it non-local).

", + "id": 426336965, + "sender_full_name": "Shivaraj B H", + "timestamp": 1710335615 + }, + { + "content": "

when would this information be useful?

", + "id": 426337174, + "sender_full_name": "Shivaraj B H", + "timestamp": 1710335682 + }, + { + "content": "

Maybe now I get it, toDefinedProject is true if a project that you are importing is also defined using haskell-flake.

", + "id": 426347484, + "sender_full_name": "Shivaraj B H", + "timestamp": 1710338688 + }, + { + "content": "

@Shivaraj B H They are described in the option docs here

", + "id": 426354361, + "sender_full_name": "Srid", + "timestamp": 1710340633 + }, + { + "content": "

(But they are not visible in https://flake.parts/options/haskell-flake due to https://github.com/srid/haskell-flake/issues/272 )

", + "id": 426354509, + "sender_full_name": "Srid", + "timestamp": 1710340669 + }, + { + "content": "

Srid said:

\n
\n

Shivaraj B H They are described in the option docs here

\n
\n

Feel free to improve the description if you think that will be more clear.

", + "id": 426354714, + "sender_full_name": "Srid", + "timestamp": 1710340722 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/.60CHANGELOG.60.20auto.20update.20on.20Github.json b/zulip_json/413950-nix/.60CHANGELOG.60.20auto.20update.20on.20Github.json new file mode 100644 index 00000000000..54b2f47d436 --- /dev/null +++ b/zulip_json/413950-nix/.60CHANGELOG.60.20auto.20update.20on.20Github.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Inspired by https://nixos.zulipchat.com/#narrow/stream/413950-nix/topic/.60flake.2Elock.60.20auto-merge.20on.20GitHub/near/440720675

\n

I created a Github Actions configuration to auto update CHANGELOG in services-flake.

\n

configuration file: https://github.com/juspay/services-flake/blob/4dbb54612363a95dfa7d47750702664f1f3f1d9f/.github/workflows/update-changelog.yaml

\n

PR triggered using the configuration above: https://github.com/juspay/services-flake/pull/202

", + "id": 441020519, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716896378 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/.60flake.2Elock.60.20auto-merge.20on.20GitHub.json b/zulip_json/413950-nix/.60flake.2Elock.60.20auto-merge.20on.20GitHub.json new file mode 100644 index 00000000000..5f9bcdad1b2 --- /dev/null +++ b/zulip_json/413950-nix/.60flake.2Elock.60.20auto-merge.20on.20GitHub.json @@ -0,0 +1,68 @@ +[ + { + "content": "

@Shivaraj B H https://github.com/DeterminateSystems/update-flake-lock/issues/89#issuecomment-1994167887

", + "id": 440720675, + "sender_full_name": "Srid", + "timestamp": 1716737199 + }, + { + "content": "

I tried it out here: https://github.com/shivaraj-bh/services-flake/pull/14

\n

This is the action configuration: https://github.com/shivaraj-bh/services-flake/blob/main/.github/workflows/update-flake-lock-ex-simple.yaml

\n

If we use a github app, we wouldn’t have to manually trigger the CI workflow. How about creating a nixos.asia github app for automated tasks?

", + "id": 440904022, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716835679 + }, + { + "content": "

Shivaraj B H said:

\n
\n

How about creating a nixos.asia github app for automated tasks?

\n
\n

Sure. As you are an owner, you should have rights to create it.

\n

By the way, take notes - so we can publish a tutorial on #website

", + "id": 440904170, + "sender_full_name": "Srid", + "timestamp": 1716835742 + }, + { + "content": "

(Or pass those notes to me here, so I can test it -- say for haskell-flake -- and create a formal tutorial)

", + "id": 440904230, + "sender_full_name": "Srid", + "timestamp": 1716835782 + }, + { + "content": "

Created the Github App: https://github.com/apps/nixos-asia

", + "id": 440981356, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716882056 + }, + { + "content": "

Notes

\n

Create the Github App

\n
    \n
  • Under Developer Settings -> New Github App
  • \n
  • Only two mandatory fields: Name and Homepage URL. Webhook URL is not needed if active checkbox above it is unchecked.
  • \n
  • Read and Write access to Pull Request and Contents under Repository Permissions
  • \n
  • Before clicking on create the app, select Any Account (if that’s your req.) under Where can this Github App be installed?
  • \n
  • And voila, you have the Github App.
  • \n
  • You should be redirected to the app’s settings page, where you can scroll down to Generate a Private Key, this key will be downloaded to your device.
  • \n
\n

Install the App and configure secrets

\n
    \n
  • On the same settings page, you will find Install App, go ahead and install it on your repository.
  • \n
  • Under the repository settings, go over to the Secrets and Variables -> Actions.
  • \n
  • Create a new secret, I call it NIXOS_ASIA_PRIVATE_KEY
  • \n
  • Create a new variable, I call it NIXOS_ASIA_APP_ID
  • \n
\n

Use the App in your CI workflow
\nSee example: https://github.com/juspay/services-flake/commit/d6ed5ef580698b9f207e32813b476fc59942aaf8

", + "id": 440987146, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716884131 + }, + { + "content": "

And I manually triggered a workflow to see if it works and it did with no manual intervention: https://github.com/juspay/services-flake/pull/201

", + "id": 440993799, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716886462 + }, + { + "content": "

Another additional feature: Auto delete the branch after merge

", + "id": 441001340, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716889078 + }, + { + "content": "

Shivaraj B H said:

\n
\n

Another additional feature: Auto delete the branch after merge

\n
\n

Strange, that didn’t work here: https://github.com/juspay/services-flake/pull/202

\n

But the Github documentation says that it should work:
\nScreenshot-2024-05-28-at-5.12.17PM.png
\nsource: https://cli.github.com/manual/gh_pr_merge

\n
", + "id": 441020999, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716896574 + }, + { + "content": "

Ah, the default GITHUB_TOKEN doesn’t have permission to delete a branch: https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token

", + "id": 441021993, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716896940 + }, + { + "content": "

Looks like the permission can be modified for a given job: https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs

", + "id": 441022990, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716897308 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/.E2.9C.94.20Accessing.20list.20items.20in.20Nix.json b/zulip_json/413950-nix/.E2.9C.94.20Accessing.20list.20items.20in.20Nix.json new file mode 100644 index 00000000000..a9bafbc12f0 --- /dev/null +++ b/zulip_json/413950-nix/.E2.9C.94.20Accessing.20list.20items.20in.20Nix.json @@ -0,0 +1,38 @@ +[ + { + "content": "

alright, so I might just map over the list then and get all the items (in my case it's a list of attribue sets and I need the attributes)?

", + "id": 444704125, + "sender_full_name": "Andreas", + "timestamp": 1718372752 + }, + { + "content": "

it's just that i know in advance how many items there are going to be, so I didn't think of mapping immediately

", + "id": 444704244, + "sender_full_name": "Andreas", + "timestamp": 1718372778 + }, + { + "content": "

okay so there is lib.lists.imap0 and lib.lists.imap1 and builtins.map... usually I'd just grab the last, but is there a major difference?

", + "id": 444704651, + "sender_full_name": "Andreas", + "timestamp": 1718372910 + }, + { + "content": "

Well what's the specific problem? Maybe I can give you a more specific example.

\n

imap0 iterates a list with an additional index starting at 0, imap1 is same but starting at 1.

\n

If you don't need an index to keep track of them map is fine, as is always in scope so you can just type map instead of builtins.map

", + "id": 444705176, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1718373066 + }, + { + "content": "

I do think that answers the problem :smile:

", + "id": 444705430, + "sender_full_name": "Andreas", + "timestamp": 1718373142 + }, + { + "content": "

Andreas has marked this topic as resolved.

", + "id": 444705457, + "sender_full_name": "Notification Bot", + "timestamp": 1718373150 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/.E2.9C.94.20automatic.20gc.20in.20home-manager.json b/zulip_json/413950-nix/.E2.9C.94.20automatic.20gc.20in.20home-manager.json new file mode 100644 index 00000000000..93288334c07 --- /dev/null +++ b/zulip_json/413950-nix/.E2.9C.94.20automatic.20gc.20in.20home-manager.json @@ -0,0 +1,56 @@ +[ + { + "content": "

I am planning to add automatic gc to home-manager and in mac it would be via launchd, if you would like to try out launchd in your home-manager config, here’s a simple example:

\n
{\n  launchd = {\n    enable = true;\n    agents = {\n     hello = {\n       enable = true;\n       config = {\n         ProgramArguments = [ \"say\" \"hello\" ];\n         StartCalendarInterval = [\n           {\n             Minute = 0;\n           }\n         ];\n       };\n     };\n    };\n  };\n}\n
\n

This agent will say hello at 0th minute of every hour

", + "id": 418380224, + "sender_full_name": "Shivaraj B H", + "timestamp": 1706323918 + }, + { + "content": "

I have an initial draft ready and has been tested on macOS:
\nhttps://github.com/shivaraj-bh/home-manager/tree/nix-gc

\n

Will test on linux before raising a PR

", + "id": 418470042, + "sender_full_name": "Shivaraj B H", + "timestamp": 1706415168 + }, + { + "content": "

Try it out in your home-manager config:
\nAdd my home-manager flake to your inputs:

\n
{\n  inputs.home-manager.url = github:shivaraj-bh/home-manager/nix-gc;\n}\n
\n

Add the service:

\n
{\n  services.nix-gc = {\n    enable = true;\n    frequency = monthly\";\n  };\n}\n
\n

To see the status of the agent, run:

\n
launchctl print gui/501/org.nix-community.home.nix-gc\n
\n

And to verify if it is working fine, you can kickstart the agent manually and check the logs in /tmp/nix-gc.log:

\n
launchctl kickstart gui/501/org.nix-community.home.nix-gc\ntail /tmp/nix-gc.log\n
\n

I will be removing the log file while raising a PR, this is just to debug.

", + "id": 418470290, + "sender_full_name": "Shivaraj B H", + "timestamp": 1706415418 + }, + { + "content": "

Tangential: https://github.com/LnL7/nix-darwin/issues/746

", + "id": 418488888, + "sender_full_name": "Srid", + "timestamp": 1706435824 + }, + { + "content": "

I have now changed the API to be same as nixos, enabling gc will look like:

\n
{\n  nix.gc = {\n     automatic = true;\n     frequency = monthly;\n  };\n}\n
\n

I have tested it on linux as well, this is how you can check the status of the systemd service on linux:

\n
systemctl —user status nix-gc\n
\n

—user is used because home-manager spawns up user units and not system units (as done by nixos module).

\n

To manually trigger gc, run:

\n
systemctl —user start nix-gc\n
", + "id": 418566627, + "sender_full_name": "Shivaraj B H", + "timestamp": 1706504723 + }, + { + "content": "

Overall, it looks good to raise a PR and I am only worried about the convention to choose frequency option be an enum, which I think will be bought up in the PR discussion and we can resolve it then.

", + "id": 418566763, + "sender_full_name": "Shivaraj B H", + "timestamp": 1706504848 + }, + { + "content": "

https://github.com/nix-community/home-manager/pull/4973

", + "id": 418633790, + "sender_full_name": "Shivaraj B H", + "timestamp": 1706533954 + }, + { + "content": "

And it is merged! Also raised a PR to juspay/nix-dev-home to use it in the template.

", + "id": 419973200, + "sender_full_name": "Shivaraj B H", + "timestamp": 1707193004 + }, + { + "content": "

Shivaraj B H has marked this topic as resolved.

", + "id": 420022756, + "sender_full_name": "Notification Bot", + "timestamp": 1707217425 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/.E2.9C.94.20nix.20flake.20--init.20with.20template.20in.20private.20repo.3F.json b/zulip_json/413950-nix/.E2.9C.94.20nix.20flake.20--init.20with.20template.20in.20private.20repo.3F.json new file mode 100644 index 00000000000..ccc3726d9cd --- /dev/null +++ b/zulip_json/413950-nix/.E2.9C.94.20nix.20flake.20--init.20with.20template.20in.20private.20repo.3F.json @@ -0,0 +1,20 @@ +[ + { + "content": "

You can set the acess-tokens setting in the nix.conf to access private resources in general.

", + "id": 434524003, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1713637607 + }, + { + "content": "

Awesome, thanks @Shivaraj B H and @Tim DeHerrera !

", + "id": 434524048, + "sender_full_name": "Andreas", + "timestamp": 1713637657 + }, + { + "content": "

Andreas has marked this topic as resolved.

", + "id": 434524049, + "sender_full_name": "Notification Bot", + "timestamp": 1713637663 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/1Password.20TouchID.20auth.20for.20git.2C.20ssh.2C.20etc.2E.json b/zulip_json/413950-nix/1Password.20TouchID.20auth.20for.20git.2C.20ssh.2C.20etc.2E.json new file mode 100644 index 00000000000..f5854c65ae4 --- /dev/null +++ b/zulip_json/413950-nix/1Password.20TouchID.20auth.20for.20git.2C.20ssh.2C.20etc.2E.json @@ -0,0 +1,32 @@ +[ + { + "content": "

You can configure home-manager ssh module to use local 1Password SSH agent socket, as well as forward this agent to external machines so that SSH-based operations (like git pull) on that external machine will use the local 1Password keys via TouchID!

\n

This obviates from having to keep private ssh keys from external machines. Everything is managed locally on mac by 1Password.

\n

https://github.com/srid/nixos-config/blob/master/home/ssh.nix

\n

image.png

\n
", + "id": 421292563, + "sender_full_name": "Srid", + "timestamp": 1707845640 + }, + { + "content": "

I can already use the ssh key stored on my yubikey from remote hosts by passed the ssh -A option when connecting, which then forwards the key to the agent on the host I'm connecting to. What I'm lacking is passing through things like my GPG key or configured OTP keys for passwordless sudo, but only when yubi is available

", + "id": 421297075, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1707847264 + }, + { + "content": "

I want the same thing (sudo, etc.) but via 1Password.

", + "id": 421297366, + "sender_full_name": "Srid", + "timestamp": 1707847368 + }, + { + "content": "

https://1password.community/discussion/128353/sudo-support

", + "id": 421297452, + "sender_full_name": "Srid", + "timestamp": 1707847402 + }, + { + "content": "

Actually I guess there is a protocol called usbip and someone wrote a perl script for something like what I'm after:
\nhttps://github.com/turistu/usbip-ssh

\n

However this script somewhat annoyingly is the reverse of what I'd like. It gives a client a way to expose a servers USB devices to the client. What I'd like is a way to forward the clients to the server so I can authenticate with the yubikey remotely.

\n

I'm sure the script could be modified to do what I want though, I might have a crack at it later.

", + "id": 421347878, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1707870108 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/2.20level.20deep.20packages.20in.20nix.20flakes.json b/zulip_json/413950-nix/2.20level.20deep.20packages.20in.20nix.20flakes.json new file mode 100644 index 00000000000..4d00460c575 --- /dev/null +++ b/zulip_json/413950-nix/2.20level.20deep.20packages.20in.20nix.20flakes.json @@ -0,0 +1,44 @@ +[ + { + "content": "

Hello,

\n

My ticket here got closed, which I understand. But now I wonder if there is any way to make it more flake compliant? I have no problem running my flake at the moment (only nix flake show gives a error: expected a derivation around the pythonPackages as it expects a derivation, but I can build packages fine).

\n

Let me explain the background behind this. I'm in a situation where I sometimes have the same package name for a python library and for its associated CLI.
\nSo I want the CLI tool to stay in packages.${system}.* and the library to go in packages.${system}.pythonPackages.*.

\n

What would be a better way to handle this? Should I have derivations with multiple outputs or something?

\n

Note: I'm using flake-utils.lib.eachDefaultSystem, which is why you don't see the ${system} in the code pasted in the ticket.

", + "id": 411119683, + "sender_full_name": "pcboy", + "timestamp": 1704338668 + }, + { + "content": "

Does your package build when you run nix build .#<package-name>?

", + "id": 411162679, + "sender_full_name": "Shivaraj B H", + "timestamp": 1704363716 + }, + { + "content": "

From what I interpret from the logs, it looks more of a type issue which is breaking while devour-flake is trying to evaluate the derivation given by nix build .#default

", + "id": 411163480, + "sender_full_name": "Shivaraj B H", + "timestamp": 1704364044 + }, + { + "content": "

Yes I have no problem building all my packages. But of course, doing nix build .\\#pythonPackages will not work (as it's not a derivation), nix build.\\#pythonPackages.package1 will work (as it's a derivation).
\nWhat's happening, as far as I understand, is that devour-flake does not like the fact that packages.${system}.pythonPackages is not a derivation, because in a flake it seems it's not authorized/standard to have more than one level deep packages... This could I guess be solved if devour-flake had some sort of recursive way of finding derivations inside packages.**, instead it seems it stops at one level deep (e.g packages.${system}.app1). But at the same time I understand that devour-flake does not want to support something not deemed standard.
\nHere what I'm wondering more then is what would be the recommend way?
\nIt seems in nixpkgs, they are putting the packages into legacyPackages instead of packages, and in there they do have multiple levels of packages. But devour-flake would not work with that either I suppose?

\n

Here is a flake example of what I'm talking about:

\n
{\n{\n  description = "A basic flake with a shell";\n  inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";\n  inputs.flake-utils.url = "github:numtide/flake-utils";\n\n  outputs = {\n    nixpkgs,\n    flake-utils,\n    ...\n  }:\n    flake-utils.lib.eachDefaultSystem (system: let\n      pkgs = nixpkgs.legacyPackages.${system};\n    in {\n      packages.app1 = pkgs.stdenv.mkDerivation {\n        name = "app1";\n        src = pkgs.hello;\n        installPhase = "mkdir -p $out/bin && install -m755 $src/bin/hello $out/bin/hello";\n      };\n\n      packages.app2 = pkgs.stdenv.mkDerivation {\n        name = "app2";\n        src = pkgs.hello;\n        installPhase = "mkdir -p $out/bin && install -m755 $src/bin/hello $out/bin/hello";\n      };\n\n      packages.pythonPackages = {\n        app3 = pkgs.stdenv.mkDerivation {\n          name = "app3";\n          src = pkgs.hello;\n          installPhase = "mkdir -p $out/bin && install -m755 $src/bin/hello $out/bin/hello";\n        };\n      };\n    });\n}\n
", + "id": 411174118, + "sender_full_name": "pcboy", + "timestamp": 1704368411 + }, + { + "content": "
\n

nix build.\\#pythonPackages.package1 will work (as it's a derivation).

\n
\n

Ah, I understand the issue now. Interesting.

", + "id": 411186656, + "sender_full_name": "Srid", + "timestamp": 1704373788 + }, + { + "content": "

@pcboy I think the solution here is to make devour-flake use flake-schemas. Basically this PR needs to be completed and merged: https://github.com/srid/devour-flake/pull/11

", + "id": 411186790, + "sender_full_name": "Srid", + "timestamp": 1704373834 + }, + { + "content": "

Because, once we start using flake-schemas - if for some reason your flake doesn't adhere to the standard schema, you can always define your own schema, and devour-flake (thus nixci) can use that.

", + "id": 411187027, + "sender_full_name": "Srid", + "timestamp": 1704373940 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/ANN.3A.20nixci.json b/zulip_json/413950-nix/ANN.3A.20nixci.json new file mode 100644 index 00000000000..2b3faf1fb6d --- /dev/null +++ b/zulip_json/413950-nix/ANN.3A.20nixci.json @@ -0,0 +1,68 @@ +[ + { + "content": "

0.4.0 released!

\n\n

@Shivaraj B H ^ another candidate for upstreaming to nixpkgs, if you would like to contribute a PR.

", + "id": 434267436, + "sender_full_name": "Srid", + "timestamp": 1713492212 + }, + { + "content": "

https://github.com/NixOS/nixpkgs/pull/305222

", + "id": 434276827, + "sender_full_name": "Shivaraj B H", + "timestamp": 1713498692 + }, + { + "content": "

Did you test the latest version with the command as follows?

\n
nixci build github:hercules-ci/hercules-ci-agent                                                                      │\n│🍏 github:hercules-ci/hercules-ci-agent                                                                                 │\n│🐚 nix --extra-experimental-features 'nix-command flakes' show-config --json                                            │\n│🐚 nix eval 'github:hercules-ci/hercules-ci-agent#nixci.default' --json                                                 │\n│🐚 nix eval --impure --json --expr 'builtins.getFlake \"github:nix-systems/empty\"'                                       │\n│🐚 nix eval --impure --json --expr 'import /nix/store/j0r8d7rdn4vrisl78v8ckl4hny4q9ipi-source'                          │\n│🐚 nix show-config --json                                                                                               │\n│🍎 default.<root>                                                                                                       │\n│🐚 nix flake lock --no-update-lock-file github:hercules-ci/hercules-ci-agent                                            │\n│🐚 nix build '/nix/store/p8vfkmfh43yy8lmz1r65dr9yq3ql7cd7-source#default' -L --no-link --print-out-paths --override-inpu│\n│t flake github:hercules-ci/hercules-ci-agent --override-input systems github:nix-systems/empty --refresh -j auto        │\n│• Updated input 'systems':                                                                                              │\n│    'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e?narHash=sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU│\n│309k9mBC768%3D' (2023-04-09)                                                                                            │\n│  → 'github:nix-systems/empty/23d743284b73ae69caf0cb7874edf05c0c631a1f?narHash=sha256-JeMK8G1oabQTSpqXhYaYtPRak4m6z1xxyR│\n│Kf8CvHy14%3D' (2024-02-23)                                                                                              │\n│error: flake 'path:/nix/store/p8vfkmfh43yy8lmz1r65dr9yq3ql7cd7-source' does not provide attribute 'packages.aarch64-darw│\n│in.default', 'legacyPackages.aarch64-darwin.default' or 'default'                                                       │\n│Error: devour-flake failed to run (exited: 1)\n
", + "id": 435120570, + "sender_full_name": "GuangTao Zhang", + "timestamp": 1713940848 + }, + { + "content": "

@GuangTao Zhang How did you install nixci?

", + "id": 435131355, + "sender_full_name": "Srid", + "timestamp": 1713945062 + }, + { + "content": "

I'm unable to reproduce your error using nix run github:srid/nixci build github:hercules-ci/hercules-ci-agent on NixOS.

", + "id": 435134908, + "sender_full_name": "Srid", + "timestamp": 1713946383 + }, + { + "content": "

Ah, maybe the nixpkgs one is broken. Let me try ...

", + "id": 435135112, + "sender_full_name": "Srid", + "timestamp": 1713946457 + }, + { + "content": "

Nope, still can't reproduce it.

", + "id": 435139688, + "sender_full_name": "Srid", + "timestamp": 1713948044 + }, + { + "content": "

But, @Shivaraj B H, you want to update nixpkgs to use the same devour-flake rev, since it contains some fixes (like for building nixosConfigurations).

\n

https://github.com/srid/nixci/blob/b247e765843762f708861ec2309ae8ca75c1de25/flake.lock#L40-L49

", + "id": 435139804, + "sender_full_name": "Srid", + "timestamp": 1713948084 + }, + { + "content": "

May as well use this opportunity to add a comment next to the version field reminding contributors to update devour-flake when upgrading nixci.

", + "id": 435139947, + "sender_full_name": "Srid", + "timestamp": 1713948123 + }, + { + "content": "

Srid said:

\n
\n

I'm unable to reproduce your error using nix run github:srid/nixci build github:hercules-ci/hercules-ci-agent on NixOS.

\n
\n

From the latest nixpkgs-unstable.Yeah, I can't reproduce the issue with the command you provided as well. It seems the problem appeared in the the upstream of nixpkgs (version 0.4.0)

", + "id": 435265301, + "sender_full_name": "GuangTao Zhang", + "timestamp": 1713989699 + }, + { + "content": "

@Shivaraj B H Another idea: add some regression tests for nixci in nixpkgs itself. Not sure what that looks like, but I'm sure some packages must have tests. We only need to run nixci build on some known repos. But this can happen on separate PR.

", + "id": 435283879, + "sender_full_name": "Srid", + "timestamp": 1713998606 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Accessing.20list.20items.20in.20Nix.json b/zulip_json/413950-nix/Accessing.20list.20items.20in.20Nix.json new file mode 100644 index 00000000000..18bbd653d18 --- /dev/null +++ b/zulip_json/413950-nix/Accessing.20list.20items.20in.20Nix.json @@ -0,0 +1,14 @@ +[ + { + "content": "

Noob question: Is there no easier way to access list items than builtins.elemAt supplied with list and position?

\n

Attribute sets are somewhat easier to handle I feel.

", + "id": 444701572, + "sender_full_name": "Andreas", + "timestamp": 1718371986 + }, + { + "content": "

Usually you want to map over a list to do something with each item or fold it into a different data structure. Very rare that I need just a single item, but there is a lib function to access a list item based on equality somewhere iirc

", + "id": 444703975, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1718372703 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Add.20a.20flake.20input.20that.20doesn.E2.80.99t.20depend.20on.20external.20git.json b/zulip_json/413950-nix/Add.20a.20flake.20input.20that.20doesn.E2.80.99t.20depend.20on.20external.20git.json new file mode 100644 index 00000000000..b10b05fa088 --- /dev/null +++ b/zulip_json/413950-nix/Add.20a.20flake.20input.20that.20doesn.E2.80.99t.20depend.20on.20external.20git.json @@ -0,0 +1,26 @@ +[ + { + "content": "

If I have to add a boolean flake input, it would look like: inputs.flag.url = “github:boolean-options/true”;. This depends on github, is there a way to add this input without this dependency?

\n

Or is at a limitation of flake inputs that nix expressions can’t be flake inputs

", + "id": 424209207, + "sender_full_name": "Shivaraj B H", + "timestamp": 1709291315 + }, + { + "content": "

Inputs can't be arbitrary expressions: https://github.com/NixOS/nix/issues/5663

\n

You can use path:./... to point local flake though. Not sure if the hash is consistent across systems (need to verify), because I remember inconsistency when using local relative flake inputs in the path.

", + "id": 424225133, + "sender_full_name": "Srid", + "timestamp": 1709296336 + }, + { + "content": "

Not yet, but there really isn't a good reason in my view (if you look at the last comment on that ticket I elaborate on that a bit)

", + "id": 424291357, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1709313082 + }, + { + "content": "

I was looking for this to use in an internal project at work because I was getting rate-limited in CI by github, failing the build. I ended up creating a subflake with true and false flake’s and I am accessing it in another flake with the ?dir=<subdir> URL syntax.

", + "id": 424592895, + "sender_full_name": "Shivaraj B H", + "timestamp": 1709538008 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Becoming.20a.20package.20maintainer.json b/zulip_json/413950-nix/Becoming.20a.20package.20maintainer.json new file mode 100644 index 00000000000..50eaf48a270 --- /dev/null +++ b/zulip_json/413950-nix/Becoming.20a.20package.20maintainer.json @@ -0,0 +1,20 @@ +[ + { + "content": "

image.png

\n

@Stephen AFAIU, you can just open a PR adding yourself, and asking the existing maintainer for review. A package can have more than one maintainer.

", + "id": 404420437, + "sender_full_name": "Srid", + "timestamp": 1701094324 + }, + { + "content": "

I noticed that yesterday after I asked the question haha. I didn't realize someone had already updated the cli, it is just available in unstable instead.

", + "id": 404421728, + "sender_full_name": "Stephen", + "timestamp": 1701094731 + }, + { + "content": "

I normally use nixpkgs-unstable for my project.

\n

When you open PRs, you are going to be making it against the master branch anyway. So in this case you'd go directly to the file on the Git repo to see what version is current.

\n

https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/rust/dioxus-cli/default.nix

", + "id": 404439769, + "sender_full_name": "Srid", + "timestamp": 1701100090 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Cache.20config.20in.20.60nix.20run.60.20of.20flake.json b/zulip_json/413950-nix/Cache.20config.20in.20.60nix.20run.60.20of.20flake.json new file mode 100644 index 00000000000..26578eb717c --- /dev/null +++ b/zulip_json/413950-nix/Cache.20config.20in.20.60nix.20run.60.20of.20flake.json @@ -0,0 +1,74 @@ +[ + { + "content": "

This convo with @Andreas began as a way to provide project-specific caches to users who are installing these Nix packages outside of nixpkgs.

\n

One way to automate that providing of cache is to add the cache to flake.nix (see example), and then ask the user to use --accept-flake-config to automatically use that cache when doing nix run or nix profile install, eg.:

\n
nix --accept-flake-config run github:juspay/nix-browser#nix-health\n
", + "id": 421260162, + "sender_full_name": "Srid", + "timestamp": 1707836240 + }, + { + "content": "

If you run this command on macOS or Linux, it should just get binaries from the cache without building any of the Rust packages.

", + "id": 421260346, + "sender_full_name": "Srid", + "timestamp": 1707836286 + }, + { + "content": "

I get the error warning: ignoring untrusted substituter 'https://cache.garnix.io', you are not a trusted user.

\n

Which apparently has been an issue: https://discourse.nixos.org/t/ux-problems-with-flakes-and-custom-caches-substituters/23691

\n

So it appears I have to configure this cache as a trusted substituter before using this?

", + "id": 421262529, + "sender_full_name": "Andreas", + "timestamp": 1707836838 + }, + { + "content": "

You need to make yourself a trusted user.

\n
srid on appreciate ~\n❯ nix show-config | grep trusted-users\ntrusted-users = root srid\n\nsrid on appreciate ~\n❯ grep trusted-users /etc/nix/nix.conf\ntrusted-users = root srid\n
", + "id": 421263183, + "sender_full_name": "Srid", + "timestamp": 1707837008 + }, + { + "content": "

I'll set this in my system flake nix.settings.trusted-users and check later

", + "id": 421264493, + "sender_full_name": "Andreas", + "timestamp": 1707837379 + }, + { + "content": "

It is one of the defaults we recommend to all, https://github.com/juspay/nix-dev-home?tab=readme-ov-file#cannot-use-cache--cachix

", + "id": 421265244, + "sender_full_name": "Srid", + "timestamp": 1707837603 + }, + { + "content": "

Very wise suggestion I'd say. Also explains why I had trouble using other people's caches in the past when I didn't care to investigate.

", + "id": 421265583, + "sender_full_name": "Andreas", + "timestamp": 1707837686 + }, + { + "content": "

you can also set a group to the trusted users by prepending with @. I usually just drop @wheel as a trusted user since they also have sudo access.

\n

Also, even if you don't pass the --accept-flake-config flag, you will still be interactively prompted if you want to accept the cache config or not by default.

", + "id": 421267712, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1707838301 + }, + { + "content": "

I just found this comment https://github.com/NixOS/nix/issues/6672#issuecomment-1920721589

\n

Suggesting to use the trusted-public-keys and substituters or trusted-substituters setting instead because just adding your user is a bit of a security issue. What do you guys say to that?

", + "id": 421275518, + "sender_full_name": "Andreas", + "timestamp": 1707840277 + }, + { + "content": "

Depends on how you want to balance security vs usability.

", + "id": 421278280, + "sender_full_name": "Srid", + "timestamp": 1707840980 + }, + { + "content": "

Sure it is important to be aware that a trusted-user is essentially as powerful as root. Same issue as adding your user to the docker group as well. But multi-user systems are pretty rare these days. If you have one then sure, maybe you care more, but I am the admin in all my systems, and I get sudo based on the presence or absence of my yubikey where possible.

\n

What I would really like is some sort of remote protocol for sending my yubikey creds over an ssh connection. For Nix, it might be interesting if someone could be a \"trusted-user\" based on the presence or absence of a yubikey OTP. That would really be an \"improvement\" in my view, but on single user systems where you are basically the only user and admin, the point is kinda moot.

\n

Not being a trusted user just makes things more of a pain in the same way not having root on a smartphone can be a pain :sweat_smile:

", + "id": 421280916, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1707841730 + }, + { + "content": "

Tim DeHerrera said:

\n
\n

What I would really like is some sort of remote protocol for sending my yubikey creds over an ssh connection. [..]

\n
\n

I enjoy a similar UX for ssh-based auths (like git pull in a ssh session, which uses local Touch ID for 1Password key access):

\n

https://nixos.zulipchat.com/#narrow/stream/413950-nix/topic/1Password.20TouchID.20auth.20for.20git.2C.20ssh.2C.20etc.2E

", + "id": 421292715, + "sender_full_name": "Srid", + "timestamp": 1707845691 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Check.20whether.20generated.20code.20is.20in.20sync.json b/zulip_json/413950-nix/Check.20whether.20generated.20code.20is.20in.20sync.json new file mode 100644 index 00000000000..61690949077 --- /dev/null +++ b/zulip_json/413950-nix/Check.20whether.20generated.20code.20is.20in.20sync.json @@ -0,0 +1,80 @@ +[ + { + "content": "

I have a Haskell project that uses nix.

\n

We have a local cabal package take takes bunch of yaml files and generates Haskell code. Both the yaml file and generated code are checked into git. Anytime somebody changes the yaml files they must remember to regenerate the code. If they forgot to regenerate the code and thereby the yaml and Haskell code is out of sync then CI should fail accordingly.

\n

The CI runs nix. How do we have this check in nix. We currently have a bash script that regenerates the code and looks for the diff.

", + "id": 407467394, + "sender_full_name": "Vijay Gupta", + "timestamp": 1702385065 + }, + { + "content": "

https://github.com/nammayatri/nammayatri

", + "id": 407467462, + "sender_full_name": "Vijay Gupta", + "timestamp": 1702385098 + }, + { + "content": "

This is my shell script

\n
#!/bin/bash\n\n\ncabal run alchemist-generator-exe\ntreefmt\n# This script checks if there are any changes in the src-read-only folder\nCHANGES_FOUND=false\n\ngit diff --unified=0 -- | grep -E \"^\\\\+\\\\+\\\\+|^@@\" | while read -r line; do\n    file_path=$(grep -oP \"^\\\\+\\\\+\\\\+ b/\\K(.+)\" <<< \"$line\")\n    if [[ $file_path == *\"/src-read-only/\"* ]]; then\n        git diff --unified=0 --relative=\"$file_path\" | grep -E \"^@@\" | while read -r diff_line; do\n            line_number=$(grep -oP \"@@\\\\s-\\\\d+(,\\d+)?\\\\s+\\\\+\\\\K\\d+\" <<< \"$diff_line\")\n            echo $file_path:$line_number:\"Changes found in src-read-only folder with diff line: $diff_line\"\n            CHANGES_FOUND=true\n        done\n    fi\ndone\n\n# git checkout -- .\n\nif [ \"$CHANGES_FOUND\" = true ]; then\n    exit 1\nelse\n    exit 0\n\nfi\n
", + "id": 407467760, + "sender_full_name": "Vijay Gupta", + "timestamp": 1702385181 + }, + { + "content": "

You can use pre-commit to do this check. Flakes also has support for it.

\n

In fact, the nammayatri repo already uses it for checking a similar thing (overlapping migrations), so you can use the same approach.

", + "id": 407468332, + "sender_full_name": "Srid", + "timestamp": 1702385404 + }, + { + "content": "

Instead of using cabal run, however, you'd have to use the Nix package itself (lib.getExe self.packages.${pkgs.system}.alchemist-whatever).

", + "id": 407468431, + "sender_full_name": "Srid", + "timestamp": 1702385434 + }, + { + "content": "

There's one limitation to be aware of with pre-commit-hooks.nix. There's no user-defined ordering yet; https://github.com/cachix/pre-commit-hooks.nix/issues/250

", + "id": 407470830, + "sender_full_name": "Srid", + "timestamp": 1702386232 + }, + { + "content": "

I am currently working on a pre-commit hook for this project to check diff, aiming to run both a package and a formatter in the same hook. However, I am encountering an issue where the formatter fails to run after the package execution.

\n

Here's a snippet of the relevant configuration:

\n
check-src-read-only-diff-check = {\n  enable = true;\n  name = \"check-src-read-only-diff-check\";\n  description = \"Check that src-read-only folder is read-only\";\n  types = [ \"file\" ];\n  pass_filenames = true;\n  files = \".*\\\\/((rider-platform\\\\/rider-app)|(provider-platform\\\\/dynamic-offer-driver-app))\\\\/Main\\\\/src-read-only\\\\/.*\\\\.hs$\";\n  entry = \"bash -c '${lib.getExe self'.packages.alchemist}' ; bash -c '${lib.getExe config.treefmt.programs.ormolu.package}'\";\n};\n
\n

The issue arises after the package execution, preventing the formatter from running successfully. Am i doing something wrong here ?

\n

Any help or suggestions regarding the correct configuration or execution order would be greatly appreciated.

", + "id": 407684803, + "sender_full_name": "Vijay Gupta", + "timestamp": 1702460652 + }, + { + "content": "

How did you confirm that the package is running? If it is running and the formatter is not, one possible explanation could be that your package might be a service that doesn't complete, is it?

", + "id": 407686672, + "sender_full_name": "Shivaraj B H", + "timestamp": 1702461104 + }, + { + "content": "

Well package is supposed to generate the new unformatted files, which it is generating . Now the next thing i wanted was the formatter should format the files and after formatting if there are still new files in staged area i want the commit to be failed

", + "id": 407687656, + "sender_full_name": "Vijay Gupta", + "timestamp": 1702461388 + }, + { + "content": "

let me put forward a scenario, let's assume you make changes to your yaml files, the .hs files for these changes are not generated yet.
\nNow you proceed to commit these yaml files and when you do alchemist package and sequentially ormolu runs and generates formatted .hs files, these files will not match the already existing .hs files and the commit will fail.

\n

The above mentioned is the ideal scenario and you are saying that alchemist is running, failing the commit, but the formatter is not running after alchemist? is my understanding here correct?

", + "id": 407690142, + "sender_full_name": "Shivaraj B H", + "timestamp": 1702462081 + }, + { + "content": "

So what we do is, we first put some change in yaml file. After that we run the alchemist-generator which is nix command which generates and formats the code. We stage those changes i.e. yaml and newly generated file.
\nNow, When I'm trying to commit i want the pre-commit to work in a such a way that It will first run the alchemist-generator which will generate the same code but it will be unformatted code.Hence, it will have diff between staged and newly code generated . Now my goal is to format those newly generated code by ormulo and after that as we haven't made any change
\nall those files will be same as staged one and hence no file will be there in Unstaged area.
\nI want my pre-commit to fail only if the staged code is different from the unstaged code generated during pre-commit.
\nBut with my pre-commit it's failing everytime as code is generated during pre-commit run but fails to format it.

", + "id": 407694178, + "sender_full_name": "Vijay Gupta", + "timestamp": 1702463358 + }, + { + "content": "

to check if the formatter is working, I removed bash -c '${lib.getExe self'.packages.alchemist}' from the code and tried to format unformatted file using this hook. It didn't format those files.

", + "id": 407698265, + "sender_full_name": "Vijay Gupta", + "timestamp": 1702464614 + }, + { + "content": "

If your formatter is not working, most probable culprit could be the regex you have to detect the files, assuming rest of the configuration is correct.

", + "id": 407702458, + "sender_full_name": "Shivaraj B H", + "timestamp": 1702465912 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Conditional.20internal.20option.json b/zulip_json/413950-nix/Conditional.20internal.20option.json new file mode 100644 index 00000000000..23b251a2d3c --- /dev/null +++ b/zulip_json/413950-nix/Conditional.20internal.20option.json @@ -0,0 +1,20 @@ +[ + { + "content": "

I don’t think it is possible with the current library, but I do have a case where it could be useful.

\n

In a recent change to services-flake, I made the default value for socketDir option as ”” and when it is an empty-string, I don’t want the users to refer to this config, it doesn’t make sense. It only makes sense to refer to it when it is non-empty.

\n

Is there a better way I can implement this? or is it a problem worth being solved upstream?

", + "id": 429799391, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711524848 + }, + { + "content": "

One way is types.nullOr types.string

", + "id": 429851335, + "sender_full_name": "Srid", + "timestamp": 1711543627 + }, + { + "content": "

This is much better since it will throw a “cannot coerce null to string” error, when trying to use the option in any shell script.

", + "id": 429873859, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711550054 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Darwin.3A.20launchctl.20logs.20for.20a.20service.json b/zulip_json/413950-nix/Darwin.3A.20launchctl.20logs.20for.20a.20service.json new file mode 100644 index 00000000000..c28d6142c9d --- /dev/null +++ b/zulip_json/413950-nix/Darwin.3A.20launchctl.20logs.20for.20a.20service.json @@ -0,0 +1,56 @@ +[ + { + "content": "

How do we get the logs for a failing launchd service? This is the github-runner service setup by nix-darwin.

\n

It is surprisingly impossible to find a way to do this. One of the reasons macOS sucks compared to Linux.

", + "id": 426832368, + "sender_full_name": "Srid", + "timestamp": 1710541923 + }, + { + "content": "
$ sudo launchctl kickstart -kp system/org.nixos.github-runner-heist-extra-1\nservice spawned with pid: 84781\n$\n
\n

And that PID no longer exists after that.

", + "id": 426832445, + "sender_full_name": "Srid", + "timestamp": 1710541960 + }, + { + "content": "

image.png

\n

Guess that's why it is failing -- my token expired.

\n

(But can't confirm -- just guessing)

", + "id": 426832597, + "sender_full_name": "Srid", + "timestamp": 1710542052 + }, + { + "content": "

You will have to use either the log cli command in MacOS, or if you have access to GUI you can use Console app to start filtering all the messages with system/org.nixos.github-runner-heist-extra-1 in it and then kickstart your daemon

", + "id": 426904808, + "sender_full_name": "Shivaraj B H", + "timestamp": 1710607143 + }, + { + "content": "

If you still don’t see anything, you can try enabling debug mode first, with launchctl debug and then start filtering for logs again

", + "id": 426904942, + "sender_full_name": "Shivaraj B H", + "timestamp": 1710607238 + }, + { + "content": "

Console app never showed any logs for the crashed service, but I'll try the debug command next time this happens.

", + "id": 427104630, + "sender_full_name": "Srid", + "timestamp": 1710678179 + }, + { + "content": "

Nothing's coming through:

\n
❯ sudo launchctl debug  system/org.nixos.github-runner-dioxus-desktop-template-1 --stdout ~/out --stderr ~/err\nService configured for next launch.\n
\n

And:

\n
srid on appreciate ~/code\n❯  sudo launchctl kickstart system/org.nixos.github-runner-dioxus-desktop-template-1\n\nsrid on appreciate ~/code\n❯ more ~/out\n\nsrid on appreciate ~/code\n❯ more ~/err\n
", + "id": 429231563, + "sender_full_name": "Srid", + "timestamp": 1711302815 + }, + { + "content": "

3 messages were moved from this topic to #nixos > Self-hosted GitHub runners by Srid.

", + "id": 429371861, + "sender_full_name": "Notification Bot", + "timestamp": 1711368362 + }, + { + "content": "

The new nix-darwin module writes the log files (see topic referenced above), thus allowing me to not repy on Apple's slipshod tech.

", + "id": 429372469, + "sender_full_name": "Srid", + "timestamp": 1711368460 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Dependency.20graph.json b/zulip_json/413950-nix/Dependency.20graph.json new file mode 100644 index 00000000000..ff09f9ed287 --- /dev/null +++ b/zulip_json/413950-nix/Dependency.20graph.json @@ -0,0 +1,50 @@ +[ + { + "content": "

Is there any way to get the graph of a dependency used in a project even though it’s not a direct input in the current project flakes.

", + "id": 421480256, + "sender_full_name": "Aravind Gopal", + "timestamp": 1707927109 + }, + { + "content": "

nix path-info -r will give runtime deps, add --derivation to calculate build time deps, or nix-store - --requisites on a derivation will be buildtime deps on an output path will be runtime deps closure

", + "id": 421483628, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1707928049 + }, + { + "content": "

Thanks @Tim DeHerrera the above command returned all runtime deps. Is there any way to find the dependency graph . currently looking into nix-output-monitor (srid bro suggestion)

", + "id": 421523184, + "sender_full_name": "Aravind Gopal", + "timestamp": 1707941048 + }, + { + "content": "

There are these two flags you can add to the nix-store variant I suggested. From the man page:

\n
*        • --graph\n*          Prints the references graph of the store paths paths in the format of the dot tool of AT&T’s Graphviz package. This  can  be\n*          used  to visualise dependency graphs. To obtain a build-time dependency graph, apply this to a store derivation. To obtain a\n*          runtime dependency graph, apply it to an output path.\n
\n
*        • --graphml\n*          Prints the references graph of the store paths paths in the GraphML file format. This can be used  to  visualise  dependency\n*          graphs. To obtain a build-time dependency graph, apply this to a store derivation. To obtain a runtime dependency graph, ap‐\n           ply it to an output path.\n
\n

If that is what you are looking for.

", + "id": 421523969, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1707941346 + }, + { + "content": "

Thank you so much @Tim DeHerrera, This helped.

", + "id": 421527413, + "sender_full_name": "Aravind Gopal", + "timestamp": 1707942624 + }, + { + "content": "

Nice, TIL!

\n
nix-store --query --graph $(nix build --no-link --print-out-paths github:srid/emanote) | dot -Tsvg > output.svg\n
\n

output.svg

\n

image.png

\n
", + "id": 421626827, + "sender_full_name": "Srid", + "timestamp": 1707993937 + }, + { + "content": "

This is worth a candidate to https://nixos.asia/en/tips

", + "id": 421627004, + "sender_full_name": "Srid", + "timestamp": 1707993988 + }, + { + "content": "

Srid said:

\n
\n

Nice, TIL!

\n
nix-store --query --graph $(nix build --no-link --print-out-paths github:srid/emanote) | dot -Tsvg > output.svg\n
\n

output.svg

\n

output.png

\n
\n

Incidentally, this revealed to me that much of the bloat in emanote's closure is coming from nodejs (via tailwind).

", + "id": 421627672, + "sender_full_name": "Srid", + "timestamp": 1707994235 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Dependency.20patches.20without.20massive.20rebuilds.json b/zulip_json/413950-nix/Dependency.20patches.20without.20massive.20rebuilds.json new file mode 100644 index 00000000000..1ca10f8d9b5 --- /dev/null +++ b/zulip_json/413950-nix/Dependency.20patches.20without.20massive.20rebuilds.json @@ -0,0 +1,8 @@ +[ + { + "content": "

TIL about:
\nhttps://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/replace-dependency.nix

\n

I have never seen this in the wild but sounds useful for quick security patches without rebuilding all of nixpkgs (say for the recent glibc vulnerabilities).

", + "id": 422122692, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708284744 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Dynamic.20NixOS.20configuration.2C.20using.20flakes.json b/zulip_json/413950-nix/Dynamic.20NixOS.20configuration.2C.20using.20flakes.json new file mode 100644 index 00000000000..b934e81fa9b --- /dev/null +++ b/zulip_json/413950-nix/Dynamic.20NixOS.20configuration.2C.20using.20flakes.json @@ -0,0 +1,80 @@ +[ + { + "content": "

Hello everyone, for a long time, I had been deploying NixOS and devshells using the traditional, non-flake approach. As I had some time a few months ago, I tried flakes and understood why they're so useful.

\n

I had written an \"installer script\" in Bash that would, depending on hardware detected, add lines to a host-specific-configuration.nix file which, as it's name suggested, was host-specific and not included in the git tree. This always rubbed me the wrong way as it it was a very hacky solution and also something that couldn't be in the git tree. After getting familiar with Nix, I could easily get rid of this monster from the installer script, leaving it only essential duties like partitioning, formatting, mounting and calling nixos-install. Everything else was moved from Bash statements to Nix expressions.

\n

Though I haven't yet written a blog about this, you can checkout my configuration repository. It includes the following outputs:

\n
    \n
  • NixOS configurations
  • \n
  • Standalone (non-NixOS) home manager configurations for Linux and Darwin
  • \n
  • ISOs with an up-to-date kernel and packages that I need
  • \n
\n

This post was made mostly to help anyone else who stumbles on the same problems I did and hopefully not waste a lot of time because of the widely known documentation issue.

\n

https://github.com/thefossguy/prathams-nixos
\nhttps://gitlab.com/thefossguy/prathams-nixos (same thing, mirrored on GitLab)

", + "id": 435892562, + "sender_full_name": "Pratham Patel", + "timestamp": 1714324792 + }, + { + "content": "

The obvious next step is to use disko but I need some more experimentation with it in a feature branch before mass deployment.

", + "id": 435892866, + "sender_full_name": "Pratham Patel", + "timestamp": 1714325030 + }, + { + "content": "

Pratham Patel said:

\n
\n

The obvious next step is to use disko but I need some more experimentation with it in a feature branch before mass deployment.

\n
\n

Have you looked into disko-install?

\n

cf. https://nixos.asia/en/nixos-install-oneclick

", + "id": 435921397, + "sender_full_name": "Srid", + "timestamp": 1714350461 + }, + { + "content": "

I do intend to, just need some more time to tinker with. Probably this weekend :)

", + "id": 435935606, + "sender_full_name": "Pratham Patel", + "timestamp": 1714358236 + }, + { + "content": "

Update: Added a GitHub workflow to build x86 and arm64 build nightly. workflow file
\nThe only thing that I haven't gotten around (other than the RISC-V issue for my SBCs) is targeting x86 and arm64 Darwin. At the moment, my company laptop is an Intel MBP and will tend to arm64 once I own one. :)

", + "id": 436016974, + "sender_full_name": "Pratham Patel", + "timestamp": 1714389464 + }, + { + "content": "

Another update: Added a justfile to so that I don't need to remember long invocations like nixosConfigurations.bla.bla.bla :D

", + "id": 436549532, + "sender_full_name": "Pratham Patel", + "timestamp": 1714587341 + }, + { + "content": "

Hmm, maybe I should write a blog about this, it was quite an adventure lol

", + "id": 436549639, + "sender_full_name": "Pratham Patel", + "timestamp": 1714587380 + }, + { + "content": "

Pratham Patel said:

\n
\n

Hmm, maybe I should write a blog about this, it was quite an adventure lol

\n
\n

Yes.

\n

(Also link back to this zulip topic as reference :-) )

", + "id": 436590614, + "sender_full_name": "Srid", + "timestamp": 1714606783 + }, + { + "content": "

Absolutely!

", + "id": 436609652, + "sender_full_name": "Pratham Patel", + "timestamp": 1714620369 + }, + { + "content": "

Part 1 (rationale behind it) is live!
\nhttps://blog.thefossguy.com/posts/nixos-migration-with-flakes-01.md

", + "id": 436725558, + "sender_full_name": "Pratham Patel", + "timestamp": 1714665292 + }, + { + "content": "

I plan to add some follow-ups for

\n
    \n
  • part 2: the actual transition
  • \n
  • part 3: handling home-manager on non-nixos machines
  • \n
  • part 4: the GitHub CI
  • \n
  • part 5: the justfile adventure
  • \n
", + "id": 436727853, + "sender_full_name": "Pratham Patel", + "timestamp": 1714665923 + }, + { + "content": "
\n

That doesn’t mean that you cannot lean from it. ;)

\n
\n

A typo?

", + "id": 436748209, + "sender_full_name": "Shivaraj B H", + "timestamp": 1714672844 + }, + { + "content": "

Shivaraj B H said:

\n
\n
\n

That doesn’t mean that you cannot lean from it. ;)

\n
\n

A typo?

\n
\n

hah yeah, fixed it just now; thanks for pointing it out!

", + "id": 436807193, + "sender_full_name": "Pratham Patel", + "timestamp": 1714703563 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Ekala.20project.20announcement.json b/zulip_json/413950-nix/Ekala.20project.20announcement.json new file mode 100644 index 00000000000..98588983f6f --- /dev/null +++ b/zulip_json/413950-nix/Ekala.20project.20announcement.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Sounds more promising than Nix in the long-term.

\n

https://old.reddit.com/r/NixOS/comments/1gatci0/announcing_the_ekala_project_a_nix_inspired/

", + "id": 478716009, + "sender_full_name": "Srid", + "timestamp": 1729776234 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Emacs.20with.20Xwidgets.20.28Darwin.29.json b/zulip_json/413950-nix/Emacs.20with.20Xwidgets.20.28Darwin.29.json new file mode 100644 index 00000000000..cafcaa1c8e3 --- /dev/null +++ b/zulip_json/413950-nix/Emacs.20with.20Xwidgets.20.28Darwin.29.json @@ -0,0 +1,14 @@ +[ + { + "content": "

Has anyone gotten Emacs to build on Darwin with xwidgets?

\n

cf. https://github.com/NixOS/nixpkgs/issues/110218

\n

(xwidgets is required for running webkit in emacs)

", + "id": 427104366, + "sender_full_name": "Srid", + "timestamp": 1710678120 + }, + { + "content": "

If this was fixed in nixpkgs, one could normally build it as pkgs.emacs29-macport.override { withXwidgets = true; }

\n

(It used to build before, FWIW)

", + "id": 427105837, + "sender_full_name": "Srid", + "timestamp": 1710678534 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Expressions.20in.20flake.20inputs.json b/zulip_json/413950-nix/Expressions.20in.20flake.20inputs.json new file mode 100644 index 00000000000..fb06f1038a6 --- /dev/null +++ b/zulip_json/413950-nix/Expressions.20in.20flake.20inputs.json @@ -0,0 +1,56 @@ +[ + { + "content": "

Yes, this is a known limitation: https://github.com/NixOS/nix/issues/5663

\n

What kind of expressions are planning to use @Tamil Selvan ?

", + "id": 427917042, + "sender_full_name": "Srid", + "timestamp": 1710938062 + }, + { + "content": "

(deleted)

", + "id": 428236360, + "sender_full_name": "Tamil Selvan", + "timestamp": 1711064847 + }, + { + "content": "

Srid said:

\n
\n

Yes, this is a known limitation: https://github.com/NixOS/nix/issues/5663

\n

What kind of expressions are planning to use Tamil Selvan ?

\n
\n

I was trying to tinker around refactoring the flake.
\n@Srid as you may know we were referring to a local repo in the flake inputs during our discussion
\nI tried to move the local repo's path to a different file and refer it from there

\n
inputs = {\n       repo.url = "path:" + builtins.readFile "<file path that contains the local repo's absolute path>";\n}\n
", + "id": 428236471, + "sender_full_name": "Tamil Selvan", + "timestamp": 1711064909 + }, + { + "content": "

Why does repo here need to be dynamically specified? Is there a use-case you are trying to solve here? If the above is Y, what is X?

", + "id": 428236523, + "sender_full_name": "Srid", + "timestamp": 1711064969 + }, + { + "content": "

(deleted)

", + "id": 429289530, + "sender_full_name": "Tamil Selvan", + "timestamp": 1711344080 + }, + { + "content": "

Srid said:

\n
\n

Why does repo here need to be dynamically specified? Is there a use-case you are trying to solve here? If the above is Y, what is X?

\n
\n

@Srid that was because I thought of keeping the flake file fixed and let people make changes i.e. add their own local repo path in a separate file rather than making changes in flake.

", + "id": 429289646, + "sender_full_name": "Tamil Selvan", + "timestamp": 1711344126 + }, + { + "content": "

Why do you want people to be making changes to a separate file rather than on flake.nix itself? Just trying to understand the motivation here -- why not just have them edit the flake.nix file?

", + "id": 429360778, + "sender_full_name": "Srid", + "timestamp": 1711366224 + }, + { + "content": "

Srid said:

\n
\n

Why do you want people to be making changes to a separate file rather than on flake.nix itself? Just trying to understand the motivation here -- why not just have them edit the flake.nix file?

\n
\n

We can do that too. I was just trying to get to a one click dev environment setup where users don't have to edit the flake to get the setup running as majority of the folks in our team have not been introduced to nix yet.
\nWhat you are telling makes sense tho. Let people get their hands dirty in nix this way.

", + "id": 429543689, + "sender_full_name": "Tamil Selvan", + "timestamp": 1711420370 + }, + { + "content": "
\n

Let people get their hands dirty in nix this way.

\n
\n

For now, this is a wise approach.

\n

But down the like, I do like to create something with improved DX (on top of flakes/flake-parts).

", + "id": 429698535, + "sender_full_name": "Srid", + "timestamp": 1711471918 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Failed.20to.20evalModules.json b/zulip_json/413950-nix/Failed.20to.20evalModules.json new file mode 100644 index 00000000000..0989df429c5 --- /dev/null +++ b/zulip_json/413950-nix/Failed.20to.20evalModules.json @@ -0,0 +1,26 @@ +[ + { + "content": "

I am trying to run lib.evalModules in service-flake, it gives out an error, any idea why that's the case? cheers

\n
nix-repl> lib.evalModules { modules = [(import ./nix/lib.nix).multiService ./nix/postgres]; specialArgs = {inherit pkgs;};}\n{\n  _module = «error: module <unknown-file> (:anon-1) does not look like a module.»;\n  _type = "configuration";\n  class = null;\n  config = «error: module <unknown-file> (:anon-1) does not look like a module.»;\n  extendModules = «lambda extendModules @ /nix/store/l4wskml8vcs49mg6w9la715cx10sviwh-source/lib/modules.nix:303:23»;\n  options = «error: module <unknown-file> (:anon-1) does not look like a module.»;\n  type = { ... };\n}\n
", + "id": 442019242, + "sender_full_name": "Hao Liu", + "timestamp": 1717314314 + }, + { + "content": "

it seems the multiService function will take a module and return a module https://github.com/juspay/services-flake/blob/main/nix/lib.nix#L7

", + "id": 442019364, + "sender_full_name": "Hao Liu", + "timestamp": 1717314396 + }, + { + "content": "

Hao Liu has marked this topic as resolved.

", + "id": 442121020, + "sender_full_name": "Notification Bot", + "timestamp": 1717373565 + }, + { + "content": "

Hao Liu has marked this topic as unresolved.

", + "id": 442121035, + "sender_full_name": "Notification Bot", + "timestamp": 1717373579 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Filesystem.20As.20Memory.json b/zulip_json/413950-nix/Filesystem.20As.20Memory.json new file mode 100644 index 00000000000..334e57f7731 --- /dev/null +++ b/zulip_json/413950-nix/Filesystem.20As.20Memory.json @@ -0,0 +1,8 @@ +[ + { + "content": "

I thought only Tweag has written a blog on it,

\n
\n

Dolstra proposed that we can treat the file system in an operating system like memory in a running program, and equate package management to memory management

\n
\n

But Jonathan Lorimer has as well: https://jonathanlorimer.dev/posts/nix-thesis.html#filesystem-as-memory

\n

image.png

\n

IFTTT said:

\n
\n

The Nix Thesis

\n

January 02, 2024 at 09:25AM

\n

https://jonathanlorimer.dev/posts/nix-thesis.html

\n

https://lobste.rs/s/kgvnxd/nix_thesis

\n
", + "id": 410883731, + "sender_full_name": "Srid", + "timestamp": 1704218419 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Flake.20template.20vars.json b/zulip_json/413950-nix/Flake.20template.20vars.json new file mode 100644 index 00000000000..9c4eb33a94e --- /dev/null +++ b/zulip_json/413950-nix/Flake.20template.20vars.json @@ -0,0 +1,26 @@ +[ + { + "content": "

https://github.com/NixOS/nix/issues/4017

\n

Has anyone written a dumb solution to extend nix flake .. with basic template vars support?

", + "id": 424704186, + "sender_full_name": "Srid", + "timestamp": 1709571955 + }, + { + "content": "
nix flake init -t github:juspay/nix-dev-home \\\n  --override-input username \"https://nixid.page/str/srid\"\n
\n

Where nixid.page/<type>/<val> will dynamically serve a flake outputting that expression. :open_mouth:

\n

As a bandaid for https://github.com/NixOS/nix/issues/5663

", + "id": 424704651, + "sender_full_name": "Srid", + "timestamp": 1709572094 + }, + { + "content": "

Grr, --override-input is unsupported for this subcommand.

", + "id": 424704935, + "sender_full_name": "Srid", + "timestamp": 1709572171 + }, + { + "content": "

There's --override-flake, though.

", + "id": 424705288, + "sender_full_name": "Srid", + "timestamp": 1709572261 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Git.20manyFiles.20issue.json b/zulip_json/413950-nix/Git.20manyFiles.20issue.json new file mode 100644 index 00000000000..b2ba58d04f9 --- /dev/null +++ b/zulip_json/413950-nix/Git.20manyFiles.20issue.json @@ -0,0 +1,8 @@ +[ + { + "content": "

More breaking changes :clap::face_palm:
\nhttps://github.com/NixOS/nix/issues/10026

\n

This is particularly ironic seeing as nixpkgs is the central hub, and has a huge number of files itself

", + "id": 421967144, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708136915 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Haskell.20.2B.20Rust.20FFI.json b/zulip_json/413950-nix/Haskell.20.2B.20Rust.20FFI.json new file mode 100644 index 00000000000..787c8f1f2f0 --- /dev/null +++ b/zulip_json/413950-nix/Haskell.20.2B.20Rust.20FFI.json @@ -0,0 +1,68 @@ +[ + { + "content": "

@Akhilesh Singh Bhadauriya wants to nixify https://github.com/piyushKumar-1/haskell_cac_client

\n

This is basically a Haskell library with FFI bindings to Rust code in the same repo.

\n

I have worked on a similar project two years ago: https://github.com/ArdanaLabs/yubihsm-ed-sign

\n

But now I'd like to use this opportunity to create a template repo for such projects, using haskell-flake and something for Rust.

", + "id": 411019670, + "sender_full_name": "Srid", + "timestamp": 1704290650 + }, + { + "content": "

I tried to move this repo to nammayatri(https://github.com/nammayatri/nammayatri) so I'm getting this following error:

\n
 … while calling the 'derivationStrict' builtin\n         at /builtin/derivation.nix:9:12: (source not available)\n       … while evaluating derivation 'ny-backend'\n         whose name attribute is located at /nix/store/aiv6rdld7d7smj3rrh72da2sssl6z2xl-source/pkgs/stdenv/generic/make-derivation.nix:300:7\n       … while evaluating attribute '__impureHostDeps' of derivation 'ny-backend'\n         at /nix/store/aiv6rdld7d7smj3rrh72da2sssl6z2xl-source/pkgs/stdenv/generic/make-derivation.nix:435:7:\n          434|       __propagatedSandboxProfile = lib.unique (computedPropagatedSandboxProfile ++ [ propagatedSandboxProfile ]);\n          435|       __impureHostDeps = computedImpureHostDeps ++ computedPropagatedImpureHostDeps ++ __propagatedImpureHostDeps ++ __impureHostDeps ++ stdenv.__extraImpureHostDeps ++ [\n             |       ^\n          436|         "/dev/zero"\n       (stack trace truncated; use '--show-trace' to show the full trace)\n       error: function 'anonymous lambda' called without required argument 'cac_client'\n       at /nix/store/l8awdgyzg1zanisz6xb492r6ybzzrnfc-cabal2nix-haskell-cac/default.nix:1:1:\n            1| { mkDerivation, base, cac_client, lib }:\n             | ^\n            2| mkDerivation {\nrealpath: /Users/akhilesh.b/Desktop/nammayatri/.direnv/flake-profile.55906: No such file or directory\nerror: path '/Users/akhilesh.b/Desktop/nammayatri' is not in the Nix store\nwarning: Git tree '/Users/akhilesh.b/Desktop/nammayatri' is dirty\ndirenv: nix-direnv: renewed cache\ndirenv: export +XDG_DATA_DIRS ~PATH\n
\n

Is this expected.

", + "id": 411029697, + "sender_full_name": "Akhilesh Singh Bhadauriya", + "timestamp": 1704294402 + }, + { + "content": "

@Akhilesh Singh Bhadauriya What is the diff, exactly?

\n
error: path '/Users/akhilesh.b/Desktop/nammayatri' is not in the Nix store\n
\n

Your Nix seems to be referring to some absolute path.

", + "id": 411031272, + "sender_full_name": "Srid", + "timestamp": 1704295039 + }, + { + "content": "

You can put post the link to the branch on GitHub

", + "id": 411034075, + "sender_full_name": "Srid", + "timestamp": 1704296147 + }, + { + "content": "

No but i'm trying to compile everything in local. This is just showing the path where my nammayatri repo is.

", + "id": 411164477, + "sender_full_name": "Akhilesh Singh Bhadauriya", + "timestamp": 1704364457 + }, + { + "content": "

It would be nice to see the code committed somewhere so that we can reproduce the issue

", + "id": 411165583, + "sender_full_name": "Shivaraj B H", + "timestamp": 1704364921 + }, + { + "content": "

You can find this here
\nhttps://github.com/nammayatri/nammayatri/tree/Backend/FFI-RUst/issue

", + "id": 411172846, + "sender_full_name": "Akhilesh Singh Bhadauriya", + "timestamp": 1704367772 + }, + { + "content": "

You should not commit compiled assets like the target folder @Akhilesh Singh Bhadauriya

", + "id": 411187260, + "sender_full_name": "Srid", + "timestamp": 1704374051 + }, + { + "content": "

@Akhilesh Singh Bhadauriya The CI is not showing the error you report. Instead it is showing something else:

\n

https://jenkins-nix-ci.betta-gray.ts.net/job/nammayatri/job/Backend%252FFFI-RUst%252Fissue/2/pipeline-console/

\n
error: function 'anonymous lambda' called without required argument 'cac_client'\n
", + "id": 411187620, + "sender_full_name": "Srid", + "timestamp": 1704374228 + }, + { + "content": "

Which is understandable as we haven't written any Nix to a) build the Rust package, and b) make it available to the Haskell packages. Which is exactly what I plan to do next week.

", + "id": 411187711, + "sender_full_name": "Srid", + "timestamp": 1704374276 + }, + { + "content": "

Nixified version of repo PR:
\nhttps://github.com/piyushKumar-1/haskell_cac_client/pull/2

", + "id": 411939258, + "sender_full_name": "Akhilesh Singh Bhadauriya", + "timestamp": 1704808497 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/How.20to.20add.20Haskell.20packages.20from.20flake.20into.20callCabal2nix.3F.json b/zulip_json/413950-nix/How.20to.20add.20Haskell.20packages.20from.20flake.20into.20callCabal2nix.3F.json new file mode 100644 index 00000000000..4c127d01ac0 --- /dev/null +++ b/zulip_json/413950-nix/How.20to.20add.20Haskell.20packages.20from.20flake.20into.20callCabal2nix.3F.json @@ -0,0 +1,20 @@ +[ + { + "content": "
    \n
  • Hello, I'm trying to develop a haskell project named my-project, and it is relying on a haskell package named some-package from a nix flake named some-flake, but I don't know how to make cabal find it correctly, here is my flake:
  • \n
\n
{\n  inputs = {\n    some-flake.url = \"github:...\";\n  };\n\n  outputs = { nixpkgs, some-flake, ... }:\n  let\n    project_name = \"my-project\";\n    supportedSystems = [ \"x86_64-linux\" \"aarch64-linux\" \"x86_64-darwin\" \"aarch64-darwin\" ];\n    eachSystem = f: nixpkgs.lib.genAttrs supportedSystems (system: f rec {\n      inherit system;\n      pkgs = nixpkgs.legacyPackages.${system};\n      hpkgs = pkgs.haskell.packages.ghc98;\n    });\n  in\n  rec {\n    packages = eachSystem ({hpkgs, system, ...}: {\n      default = hpkgs.callCabal2nix project_name ./. {\n        some-package = some-flake.packages.${system}.default; #this seems not working\n      };\n    });\n\n    devShells = eachSystem ({pkgs, hpkgs, system, ...}: {\n      default = pkgs.haskell.lib.addBuildTools packages.${system}.default\n        (with hpkgs; [ haskell-language-server cabal-install ]);\n    });\n  };\n}\n
\n

Any help?

", + "id": 472918117, + "sender_full_name": "LC", + "timestamp": 1727363021 + }, + { + "content": "

@LC You want to use the haskell package overlay:

\n

https://nixos.asia/en/nixify-haskell-nixpkgs

", + "id": 473840975, + "sender_full_name": "Srid", + "timestamp": 1727726280 + }, + { + "content": "

which is simpler when using haskell-flake: https://community.flake.parts/haskell-flake/dependency#path

", + "id": 473841163, + "sender_full_name": "Srid", + "timestamp": 1727726306 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/How.20to.20call.20commands.20from.20old.20cli.20in.20nix_rs.json b/zulip_json/413950-nix/How.20to.20call.20commands.20from.20old.20cli.20in.20nix_rs.json new file mode 100644 index 00000000000..ec74d825033 --- /dev/null +++ b/zulip_json/413950-nix/How.20to.20call.20commands.20from.20old.20cli.20in.20nix_rs.json @@ -0,0 +1,50 @@ +[ + { + "content": "

I would like to call nix-store.

\n

The full command goes like nix-store -qR —include-outputs <drv>. I am aware that in the new-cli there is a command equivalent to this and it is nix path-info —recursive <drv>, but there is no —include-outputs equivalent. Neither can I iterate over all the drv’s generated using nix path-info —recursive <drv> to get the outPath, see: https://github.com/NixOS/nix/issues/5895

", + "id": 436660646, + "sender_full_name": "Shivaraj B H", + "timestamp": 1714645036 + }, + { + "content": "

We could also add a pub struct NixStoreCmd to nix-rs

", + "id": 436671109, + "sender_full_name": "Srid", + "timestamp": 1714649063 + }, + { + "content": "

Just now discovering juspay/nix-rs. Does this have all/most of the \"bindings\" to nix/nix-v3?

", + "id": 436673018, + "sender_full_name": "Pratham Patel", + "timestamp": 1714649734 + }, + { + "content": "

What's nix-v3?

", + "id": 436673162, + "sender_full_name": "Srid", + "timestamp": 1714649777 + }, + { + "content": "

nix-build are the \"old\" (non-flake) commands while nix build is part of the v3 of Nix's CLI

", + "id": 436673348, + "sender_full_name": "Pratham Patel", + "timestamp": 1714649858 + }, + { + "content": "

nix-rs uses new-style Nix commands (what you call v3 Nix's CLI), yes ... but it only has those things we use in other projects (nix-browser, nix-health) right now. We should add the rest as needed, or as people contribute.

", + "id": 436674318, + "sender_full_name": "Srid", + "timestamp": 1714650210 + }, + { + "content": "

ack, I don't really have much use for a \"Rust wrapper\" but it sounds like something I might toy with sometime soon :D

", + "id": 436674542, + "sender_full_name": "Pratham Patel", + "timestamp": 1714650290 + }, + { + "content": "

https://github.com/juspay/nix-rs/pull/6

", + "id": 436747438, + "sender_full_name": "Shivaraj B H", + "timestamp": 1714672596 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/How.20to.20override.20Python.20packages.3F.json b/zulip_json/413950-nix/How.20to.20override.20Python.20packages.3F.json new file mode 100644 index 00000000000..511136c33f9 --- /dev/null +++ b/zulip_json/413950-nix/How.20to.20override.20Python.20packages.3F.json @@ -0,0 +1,20 @@ +[ + { + "content": "

In a project we are using boto3 package which is imported from python3. Our requirement is to update the boto3 package without updating nixpkgs version, basically we wanted to override only boto3 package. How can we do that ?

\n

This is how we are importing the package boto3 with other packages from python3 using nixpkgs

\n

infra-env = pkgs.python3.withPackages (ps: with ps; [ boto3 kubernetes requests schema python-jenkins croniter validators]);

", + "id": 407297024, + "sender_full_name": "Rohit Singh", + "timestamp": 1702319245 + }, + { + "content": "

Looks like you want overridePythonAttrs, it is documented here:

\n

https://nixos.org/manual/nixpkgs/stable/#overridePythonAttrs

\n

image.png

\n
", + "id": 407297368, + "sender_full_name": "Srid", + "timestamp": 1702319397 + }, + { + "content": "

Sure. Let me try that.

", + "id": 407297939, + "sender_full_name": "Rohit Singh", + "timestamp": 1702319626 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/IFD.json b/zulip_json/413950-nix/IFD.json new file mode 100644 index 00000000000..9c1932518f0 --- /dev/null +++ b/zulip_json/413950-nix/IFD.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Good description of import-from-derivation (IFD),

\n

https://blog.hercules-ci.com/2019/08/30/native-support-for-import-for-derivation/

\n

I've added it to https://nixos.asia/en/ifd

", + "id": 420110852, + "sender_full_name": "Srid", + "timestamp": 1707244803 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Jobs.json b/zulip_json/413950-nix/Jobs.json new file mode 100644 index 00000000000..4a73d9fda08 --- /dev/null +++ b/zulip_json/413950-nix/Jobs.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Juspay is hiring a remote Nix engineer:

\n

https://nixos.asia/en/jobs#juspay

", + "id": 439944977, + "sender_full_name": "Srid", + "timestamp": 1716345263 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/LWN.20Article.json b/zulip_json/413950-nix/LWN.20Article.json new file mode 100644 index 00000000000..01fe8a9e1f1 --- /dev/null +++ b/zulip_json/413950-nix/LWN.20Article.json @@ -0,0 +1,32 @@ +[ + { + "content": "

LWN just did an article on Nix & Guix. It's a paid article but I'm a subscriber so I thought I'd share a free link:
\nhttps://lwn.net/SubscriberLink/962788/60448ccca97ce2d6/

", + "id": 423738175, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1709089506 + }, + { + "content": "

Thanks

", + "id": 423750959, + "sender_full_name": "Shivaraj B H", + "timestamp": 1709099052 + }, + { + "content": "

I remember from years back, guix could run/build anything from nixpkgs with a subcommand, is that right?

", + "id": 424296051, + "sender_full_name": "tgunnoe", + "timestamp": 1709314671 + }, + { + "content": "

Perhaps, I've never used it for more than a few minutes

", + "id": 424296285, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1709314749 + }, + { + "content": "

It was originally forked from Nix though, so in principle it would make sense

", + "id": 424296313, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1709314763 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Man.20pages.20with.20home-manager.json b/zulip_json/413950-nix/Man.20pages.20with.20home-manager.json new file mode 100644 index 00000000000..cf2090a096e --- /dev/null +++ b/zulip_json/413950-nix/Man.20pages.20with.20home-manager.json @@ -0,0 +1,50 @@ +[ + { + "content": "

Got inspired to finally try out the flake life after yesterday's talk. Problem is, all manpages from other packages not installed by nix (like ld) are not available anymore. Is there a package for man pages, or a setting in home manager I can use?

", + "id": 417622530, + "sender_full_name": "Drew Jose", + "timestamp": 1706094468 + }, + { + "content": "

man pages should generally be available if the package in question includes them.

\n

Using https://github.com/juspay/nix-dev-home, I can see that both fd and ripgrep has them. Try:

\n
$ man fd\n$ man rg\n
\n

image.png

\n
", + "id": 417693487, + "sender_full_name": "Srid", + "timestamp": 1706117174 + }, + { + "content": "

Incidentally, there's a module for man in home-manager: programs.main: https://github.com/nix-community/home-manager/blob/master/modules/programs/man.nix

", + "id": 417693665, + "sender_full_name": "Srid", + "timestamp": 1706117242 + }, + { + "content": "

Oh I misunderstood your question. You mean for packages not installed by Nix. Do you have an example?

", + "id": 417694504, + "sender_full_name": "Srid", + "timestamp": 1706117525 + }, + { + "content": "

I can access ld's man page on macOS:

\n
❯ man -d ld\n-- Using pager: /usr/bin/less -s\n-- Using manual sections: 1:8:2:3:3lua:n:4:5:6:7:9:l\n-- Searching PATH for man directories\n--   Adding /usr/local/share/man to manpath\n--   Adding /usr/share/man to manpath\n--   Adding /etc/profiles/per-user/srid/share/man to manpath\n--   Adding /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/share/man to manpath\n--   Adding /Applications/Xcode.app/Contents/Developer/usr/share/man to manpath\n--   Adding /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man to manpath\n-- Adding default manpath entries\n-- Parsing config file: /etc/man.conf\n-- Using manual path: /usr/local/share/man:/usr/share/man:/etc/profiles/per-user/srid/share/man:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/share/man:/Applications/Xcode.app/Contents/Developer/usr/share/man:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man\n-- Using locale paths: en_CA.UTF-8:en.UTF-8:.\n-- Using non-standard page width: 242\n-- Searching for ld\n--     Found manpage /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man1/ld.1\n--     Skipping catpage: non-standard page width\n-- Command: cd /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man && /usr/bin/zcat -f "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man1/ld.1" | /usr/bin/mandoc -O width=242 | /usr/bin/less -s\n
", + "id": 417694649, + "sender_full_name": "Srid", + "timestamp": 1706117587 + }, + { + "content": "

I get a large stderr output when invoking man -d ld:
\nout.txt

", + "id": 418007757, + "sender_full_name": "Drew Jose", + "timestamp": 1706157294 + }, + { + "content": "

Out of curiosity, what's the output of nix run nixpkgs#nix-health?

", + "id": 418007811, + "sender_full_name": "Srid", + "timestamp": 1706157350 + }, + { + "content": "

Your output shows a lot of,

\n
can't open directory /nix/store/rj8w6wj160k1sblhjp5fsgjbfz3si51w-home-manager-path/share/man/cat3.Z: No such file or directory\n
\n

Which indicates that something's wrong

", + "id": 418007888, + "sender_full_name": "Srid", + "timestamp": 1706157391 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Mapping.20through.20list.20of.20attrSets.20to.20make.20a.20complex.20string.json b/zulip_json/413950-nix/Mapping.20through.20list.20of.20attrSets.20to.20make.20a.20complex.20string.json new file mode 100644 index 00000000000..3fb43b7273f --- /dev/null +++ b/zulip_json/413950-nix/Mapping.20through.20list.20of.20attrSets.20to.20make.20a.20complex.20string.json @@ -0,0 +1,110 @@ +[ + { + "content": "

Okay @Tim DeHerrera I might have the next newbie question here :smile: In any other language I write that would be no problem for me, but in Nix it is somewhat weird to me.

\n

This is related to me finally doing the network config setting to have them permanently fixed. I have my list of attrsets:

\n
  networkInterfaces = [\n    { name = \"enp4s0f0np0\";\n      metric = 200; }\n    { name = \"enp4s0f1np1\";\n      metric = 100; }\n    { name = \"enp6s0\";\n      metric = 300; }\n    { name = \"enp7s0\";\n      metric = 350; }\n  ];\n
\n

and I want to create this string

\n
networking.dhcpcd.extraConfig = ''\n  interface enp4s0f0np0\n  metric 200\n\n  interface enp4s0f1np1\n  metric 100\n\n  interface enp6s0\n  metric 300\n\n  interface enp7s0\n  metric 350\n'';\n
\n

I think I got a bit lost in the plethora of string concatenation functions that are available ...

", + "id": 444716371, + "sender_full_name": "Andreas", + "timestamp": 1718376543 + }, + { + "content": "

You want concatStringsSep. ChatGPT solution (untested):

\n
{\n  networkInterfaces = [\n    { name = \"enp4s0f0np0\"; metric = 200; }\n    { name = \"enp4s0f1np1\"; metric = 100; }\n    { name = \"enp6s0\"; metric = 300; }\n    { name = \"enp7s0\"; metric = 350; }\n  ];\n\n  networking.dhcpcd.extraConfig = let\n    # Function to transform a single attribute set to a string\n    formatInterface = interface: ''\n      interface ${interface.name}\n      metric ${toString interface.metric}\n    '';\n    # Transform each attribute set and join them with newlines\n    formattedInterfaces = builtins.concatStringsSep \"\\n\" (builtins.map formatInterface networkInterfaces);\n  in ''\n    ${formattedInterfaces}\n  '';\n}\n
", + "id": 444716739, + "sender_full_name": "Srid", + "timestamp": 1718376655 + }, + { + "content": "

yeah that looks plausible, I'll test it :smile:

", + "id": 444716818, + "sender_full_name": "Andreas", + "timestamp": 1718376675 + }, + { + "content": "

Yeah, might be able to do it more \"manually\" with a fold. Can sometimes end up being quite elegant depending on the situation

", + "id": 444716910, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1718376707 + }, + { + "content": "

you have an example?

", + "id": 444717011, + "sender_full_name": "Andreas", + "timestamp": 1718376726 + }, + { + "content": "

On my phone arm, but I'll see if I can grab one

", + "id": 444717186, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1718376791 + }, + { + "content": "

because elegance might help here, I feel that a good old c-style for-loop is easier to read

", + "id": 444717239, + "sender_full_name": "Andreas", + "timestamp": 1718376811 + }, + { + "content": "

sure but for loops don't exist in the purely functional realm :grinning:

\n

Here is a basic fold:

\n
let\n  networkInterfaces = [\n    {\n      name = \"enp4s0f0np0\";\n      metric = 200;\n    }\n    {\n      name = \"enp4s0f1np1\";\n      metric = 100;\n    }\n    {\n      name = \"enp6s0\";\n      metric = 300;\n    }\n    {\n      name = \"enp7s0\";\n      metric = 350;\n    }\n  ];\nin\n  builtins.foldl' (acc: x:\n    ''\n      interface ${x.name}\n      metric ${toString x.metric}\n    ''\n    + acc)\n  \"\"\n  networkInterfaces\n
", + "id": 444719098, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1718377322 + }, + { + "content": "

ends up being fairly similar to srids version

", + "id": 444719334, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1718377376 + }, + { + "content": "

okay so what does networkInterfaces in the very last line do?

\n

But that looks a bit more concise

", + "id": 444720252, + "sender_full_name": "Andreas", + "timestamp": 1718377600 + }, + { + "content": "

That is just the list of interfaces bound to a variable name. Are you generally familiar with how folds work? Essentially its a convenient mechanism in the purely functional style of accumulating values from a list into some other kind of data structure, in this case a string.

", + "id": 444720679, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1718377716 + }, + { + "content": "

so foldl' takes 3 args, the first is a function to show how to append each value to the accumulation of values, the second is the starting data structure, in this case an empty string, and the final argument is the list to fold

", + "id": 444720866, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1718377771 + }, + { + "content": "

yeah now that starts making a bit more sense.

", + "id": 444721200, + "sender_full_name": "Andreas", + "timestamp": 1718377867 + }, + { + "content": "

I guess I am just not purely functional enough (yet)

", + "id": 444721358, + "sender_full_name": "Andreas", + "timestamp": 1718377919 + }, + { + "content": "

gonna try this later

", + "id": 444721424, + "sender_full_name": "Andreas", + "timestamp": 1718377930 + }, + { + "content": "

Well understand maps and folds will get you pretty far on their own, so you are off to a good start

", + "id": 444721545, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1718377978 + }, + { + "content": "

yeah, I mean maps I am fairly familiar with in other languages. But for some reason I find Nix always a bit more obscure to use.

", + "id": 444721662, + "sender_full_name": "Andreas", + "timestamp": 1718378024 + }, + { + "content": "

Going back to my original problem, I figured I most likely have to go through networkmanager to set the metric value, using dhcpd won't do the trick.

", + "id": 444865737, + "sender_full_name": "Andreas", + "timestamp": 1718459950 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Module.20system.20tutorial.json b/zulip_json/413950-nix/Module.20system.20tutorial.json new file mode 100644 index 00000000000..4bb4b6faada --- /dev/null +++ b/zulip_json/413950-nix/Module.20system.20tutorial.json @@ -0,0 +1,8 @@ +[ + { + "content": "

I wrote a small thing. Looking for feedback. Anything should be explained more? The idea is to just introduce people to it.

\n

https://github.com/nixos-asia/website/pull/23

", + "id": 421899042, + "sender_full_name": "Srid", + "timestamp": 1708102206 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Nix.20development.20environments.json b/zulip_json/413950-nix/Nix.20development.20environments.json new file mode 100644 index 00000000000..fae1e2399a9 --- /dev/null +++ b/zulip_json/413950-nix/Nix.20development.20environments.json @@ -0,0 +1,74 @@ +[ + { + "content": "

Hey everyone,

\n

I am interested in improving my nix developer experience and I'd just like to know how others are setting things up for Nix development. So not development of something else with the help of a Nix provided environment, but writing Nix code itself.

\n
    \n
  • Which formatters are you using?
  • \n
  • How about linters?
  • \n
  • Are you using pre-commit hooks or something similar on
  • \n
  • What about using LSPs in your editor of choice (mine being VSCode and Neovim, but I also tried Helix)
  • \n
  • What about CI integration for your projects?
  • \n
  • Automated unit testing? Possible other kinds of testing setup?
  • \n
\n

Anyways, I'd like to come up with some nice or even best practices.

\n

I want to know how to make writing Nix code less of a guessing game for me.

", + "id": 430839732, + "sender_full_name": "Andreas", + "timestamp": 1712078898 + }, + { + "content": "

This is something we want to document in the larger theme of https://nixos.asia/en/dev

\n

For now, you want to:

\n", + "id": 430868272, + "sender_full_name": "Srid", + "timestamp": 1712089866 + }, + { + "content": "

@Srid Thanks for the reply!

\n

Yes, documenting various possible setups would be a real plus!

\n

Speaking of LSP, using nil do I get a good overview of available functions that I might wish to use? Does it pick up stuff from my project's own lib for instance? Or from the one defined in nixpkgs?

\n

On the CI side, do you have a nice github actions workflow for CI?

\n

Did you ever try running GitHub CI locally via something ike https://github.com/nektos/act ?

\n

Maybe some other experienced people might want to share their perspective, too? @David Arnold or @Jonathan Ringer or @John Bargman or @Robert Hensing or @Shivaraj B H or @Las @Tim DeHerrera and @tgunnoe ? I probably missed a few people who are also doing a lot of Nix here... feel free to chime in!

", + "id": 430955167, + "sender_full_name": "Andreas", + "timestamp": 1712135313 + }, + { + "content": "

nixago is nice for config generation. I've used pre-commit hooks in the past though haven't used any lately. I use direnv most of the time unless the shell is annoyingly heavy.

\n

Nil is a good as an LSP so far. I've been thinking of trying nixd, which uses the C++ nix evaluator as a backend to see how it compares, but haven't tried it yet. I also use helix with #2608 patched in since there tend to be a lot of file paths in Nix files.

\n

FWIW, I have personally contributed some nice additions to helix that make it particularly nice for working with Nix files.

", + "id": 431115171, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1712156756 + }, + { + "content": "

As for the CI question, I use std-action wherever I can. Hyrda is an annoying bloated beast. I have been thinking that it might be useful though, to take the same idea and architecture behind std-action and decouple it from relying on the std API so that you can just use it with any Nix project. Might do that at some point

", + "id": 431115669, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1712156891 + }, + { + "content": "

Do you guys @Srid and @Tim DeHerrera have some readily available actionable example flakes you could point me to that you are using?

", + "id": 431140845, + "sender_full_name": "Andreas", + "timestamp": 1712164708 + }, + { + "content": "

For self-hosted runner? I have https://github.com/srid/nixos-config/tree/master/clusters/github-runner

\n

But it needs tidying up followed by a tutorial or something

", + "id": 431157863, + "sender_full_name": "Srid", + "timestamp": 1712171482 + }, + { + "content": "

Tim DeHerrera said:

\n
\n

As for the CI question, I use std-action wherever I can. Hyrda is an annoying bloated beast. I have been thinking that it might be useful though, to take the same idea and architecture behind std-action and decouple it from relying on the std API so that you can just use it with any Nix project. Might do that at some point

\n
\n

OT: I added an issue to consider Forge independence to std-action, cc @David Arnold

", + "id": 431645899, + "sender_full_name": "Arnold Schrijver", + "timestamp": 1712385087 + }, + { + "content": "

@Tim DeHerrera I think what keeps me from \"re-trying\" Helix right now is that i started playing a lot with A.I. these days, and Helix doesn't seem to have a good plugin system yet. Or does it? I don't know if there is a way to plug in my Ollama to Helix.

\n

Bottom line of this so far for me:

\n
    \n
  • I will start playing with nil and use direnv more widely than I do so far.
  • \n
  • I am somewhat familiar with nixago and standard now after David introduced them to me a while ago.
  • \n
\n

But I was under the impression that standard is more for a generalized development setup other than nix itself right? Could I easily integrate these into my system config to drop me into a devShell for nix development proper? I guess I could, but does anyone have an example of something like this?

\n

CI I will have to revisit soon. Then I'll get back here :smile:

", + "id": 432016984, + "sender_full_name": "Andreas", + "timestamp": 1712593428 + }, + { + "content": "

Just found this (rather new) CI/CD engine: https://github.com/fluentci-io/fluentci-engine

\n
\n

FluentCI Engine is a programmable CI/CD engine that is designed to be simple, flexible, and easy to use. It is supposed to run on the host machine without containerization or virtualization, and it is designed to be used with Nix, Pkgx, Devbox, Flox, Devenv, EnvHub, Pixi and Mise.

\n
\n

Also it has a plugin architecture based on WebAssembly (via Extism), and written in Rust.

", + "id": 432631726, + "sender_full_name": "Arnold Schrijver", + "timestamp": 1712814161 + }, + { + "content": "

That looks very interesting @Arnold Schrijver

", + "id": 432650683, + "sender_full_name": "Andreas", + "timestamp": 1712823459 + }, + { + "content": "

Yeah, I'll have to dig in and see how (in)efficient the Nix eval code is :joy:

\n

Perhaps I could assist there

", + "id": 432732190, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1712849236 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Nix.20events.20in.20India.json b/zulip_json/413950-nix/Nix.20events.20in.20India.json new file mode 100644 index 00000000000..95f3dc5ceed --- /dev/null +++ b/zulip_json/413950-nix/Nix.20events.20in.20India.json @@ -0,0 +1,26 @@ +[ + { + "content": "

Our first event! https://nixos.asia/en/event/srid-nix-dev

", + "id": 411966009, + "sender_full_name": "Srid", + "timestamp": 1704816552 + }, + { + "content": "

Announcement post: https://discourse.nixos.org/t/nix-meetup-in-bangalore-india-23rd-jan-4pm-ist/38033

", + "id": 411983978, + "sender_full_name": "Srid", + "timestamp": 1704822397 + }, + { + "content": "

home-manager online event

\n

https://nixos.asia/en/event/nix-dev-home

\n
\n

We will demonstrate using Nix to declaratively manage your dotfiles, programs and services using home-manager, thus replacing the likes of legacy software like homebrew. The goal is to create an one-click environment to setup an user environment on any system, be it a Macbook or a Linux machine.

\n
", + "id": 423809735, + "sender_full_name": "Srid", + "timestamp": 1709124228 + }, + { + "content": "

A message was moved from this topic to #nix > home-manager without admin access by Srid.

", + "id": 424224195, + "sender_full_name": "Notification Bot", + "timestamp": 1709295968 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Nix.20iceberg.json b/zulip_json/413950-nix/Nix.20iceberg.json new file mode 100644 index 00000000000..beda2fb3384 --- /dev/null +++ b/zulip_json/413950-nix/Nix.20iceberg.json @@ -0,0 +1,26 @@ +[ + { + "content": "

I have this draft from a while ago: https://github.com/RGBCube/Site/blob/master/site%2Fblog%2Fnix-iceberg.md

\n

Added a little more a few days ago, but some proofreading would be appreciated

\n

cc @Srid @Andreas @Tim DeHerrera

", + "id": 446287681, + "sender_full_name": "RGBCube", + "timestamp": 1719071340 + }, + { + "content": "

It will be about 1500 lines when it's done

", + "id": 446287717, + "sender_full_name": "RGBCube", + "timestamp": 1719071362 + }, + { + "content": "

They are not in this channel (which is really for leveraging Zulip as a draft editor). You want me to move this to #nix ?

", + "id": 446287757, + "sender_full_name": "Srid", + "timestamp": 1719071397 + }, + { + "content": "

ah, sure

", + "id": 446287868, + "sender_full_name": "RGBCube", + "timestamp": 1719071434 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Nix.20performance.json b/zulip_json/413950-nix/Nix.20performance.json new file mode 100644 index 00000000000..1ffb7f06645 --- /dev/null +++ b/zulip_json/413950-nix/Nix.20performance.json @@ -0,0 +1,8 @@ +[ + { + "content": "

IFTTT said:

\n
\n

How to set system architecture in flakes?

\n

January 13, 2024 at 07:50AM

\n

https://old.reddit.com/r/NixOS/comments/195qx0g/how_to_set_system_architecture_in_flakes/

\n
", + "id": 416959725, + "sender_full_name": "Srid", + "timestamp": 1705729568 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Nix.20tutorial.20series.json b/zulip_json/413950-nix/Nix.20tutorial.20series.json new file mode 100644 index 00000000000..adc055f9d38 --- /dev/null +++ b/zulip_json/413950-nix/Nix.20tutorial.20series.json @@ -0,0 +1,38 @@ +[ + { + "content": "

Inspired by NixOS tutorial series, we should also develop a Nix tutorial series starting from absolute basic workflows all the way to flakes and then to flake-parts.

\n

This is the topic to discuss ideas to that end.

", + "id": 408630945, + "sender_full_name": "Srid", + "timestamp": 1702912275 + }, + { + "content": "

To add to that, we can have a dedicated series for setting up development environment for a Haskell project, another for Rust based project, so on and so forth.

", + "id": 408642891, + "sender_full_name": "Shivaraj B H", + "timestamp": 1702915942 + }, + { + "content": "

We should include a page on debugging. Comment from someone:

\n
\n

I also feel like there is a big missing piece in in the overall docs; to me the main issue is “ok, my code isn’t working, how do I debug it”. I feel like if I really knew how the pieces all worked together I could intuit my way to a solution, but since I havne’t done much building of packages/derivations I don’t have that skill set

\n
", + "id": 408670265, + "sender_full_name": "Srid", + "timestamp": 1702925845 + }, + { + "content": "

I'd also love to see more detailed info about setting up a dev environment, especially using currently available LSP support in common editors

", + "id": 411627108, + "sender_full_name": "Andreas", + "timestamp": 1704656448 + }, + { + "content": "

icodeforyou.net said:

\n
\n

I'd also love to see more detailed info about setting up a dev environment, especially using currently available LSP support in common editors

\n
\n

In the context of language-specific development you mean? \"Setting up dev environment\" is partly being addressed in https://nixos.asia/en/nixify-haskell but we can mention LSP as well here.

", + "id": 411867626, + "sender_full_name": "Srid", + "timestamp": 1704778823 + }, + { + "content": "

Skeleton

\n

I'm thinking our Nix tutorial series should develop it all the way to flake-parts, so:

\n
    \n
  • Stage 0: Nix expression language + derivations + etc.
  • \n
  • Stage 1: Flakes
  • \n
  • Stage 2: Module system (using evalModules to refactor one's complex Nix)
  • \n
  • Stage 3: flake-parts (module system for flakes; write your own module)
  • \n
  • Stage 4: use existing flake-parts modules (eg: haskell-flake, process-compose-flake)
  • \n
", + "id": 411867652, + "sender_full_name": "Srid", + "timestamp": 1704778853 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Nix.20using.20incorrect.20GHC.json b/zulip_json/413950-nix/Nix.20using.20incorrect.20GHC.json new file mode 100644 index 00000000000..477bd2e74fd --- /dev/null +++ b/zulip_json/413950-nix/Nix.20using.20incorrect.20GHC.json @@ -0,0 +1,38 @@ +[ + { + "content": "

@Srid I have created this flake and want to add support for multiple version of ghc in my project.
\nWhile testing with GHC 8.10.7 I noticed that dependencies were complaining of base package being different than expected.

\n

Below is my flake.nix

\n
{\n  inputs = {\n    nixpkgs.url = \"github:nixos/nixpkgs\";\n  };\n\n  outputs = {self, nixpkgs}:\n    let\n        system = \"x86_64-darwin\";\n        pkgs = nixpkgs.legacyPackages.${system};\n        overlay = final: prev: {\n          isomorphism-class = pkgs.haskell.lib.dontCheck (pkgs.haskell.lib.doJailbreak prev.isomorphism-class);\n          hspec = pkgs.haskell.lib.doJailbreak prev.hspec;\n          servant = pkgs.haskell.lib.doJailbreak prev.servant;\n          aeson = pkgs.haskellPackages.callHackage \"aeson\" \"1.5.6.0\" {};\n          test = final.callCabal2nix \"test\" ./. {};\n        };\n      myHaskellPackages = pkgs.haskell.packages.ghc8107.extend overlay;\n    in\n    {\n      packages.${system}.default = myHaskellPackages.test;\n    };\n  }\n
\n

I noticed that aeson is being built with GHC 9.4.8. After checking it's derivation build logs.

\n
$ nix-store -l /nix/store/vmpqkhqcpcnhj0q29lmzbs7zxsnmwcw8-aeson-1.5.6.0.drv\n\n@nix { \"action\": \"setPhase\", \"phase\": \"setupCompilerEnvironmentPhase\" }\nRunning phase: setupCompilerEnvironmentPhase\nBuild with /nix/store/ckgd7ip5m9xid8xhr7qbz8iaxxfsnw7j-ghc-9.4.8.\n@nix { \"action\": \"setPhase\", \"phase\": \"unpackPhase\" }\nRunning phase: unpackPhase\nunpacking source archive /nix/store/bhbxs5cp61d3hmlakcsb5i21lbdqpfpm-aeson-1.5.6.0.tar.gz\nsource root is aeson-1.5.6.0\nsetting SOURCE_DATE_EPOCH to timestamp 1000000000 of file aeson-1.5.6.0/tests/golden/th.expected\n@nix { \"action\": \"setPhase\", \"phase\": \"patchPhase\" }\nRunning phase: patchPhase\nReplace Cabal file with edited version from mirror://hackage/aeson-1.5.6.0/revision/7.cabal.\n@nix { \"action\": \"setPhase\", \"phase\": \"compileBuildDriverPhase\" }\nRunning phase: compileBuildDriverPhase\nsetupCompileFlags: -package-db=/private/tmp/nix-build-aeson-1.5.6.0.drv-1/tmp.SUGnXWZhew/setup-package.conf.d -j12 -threaded -rtsopts\n[1 of 2] Compiling Main             ( Setup.lhs, /private/tmp/nix-build-aeson-1.5.6.0.drv-1/tmp.SUGnXWZhew/Main.o )\n[2 of 2] Linking Setup\n@nix { \"action\": \"setPhase\", \"phase\": \"configurePhase\" }\nRunning phase: configurePhase\nconfigureFlags: --verbose --prefix=/nix/store/ral7v6f2xc6yi6axy53ln7d29a2cc6p8-aeson-1.5.6.0 --libdir=$prefix/lib/$compiler --libsubdir=$abi/$libname --docdir=/nix/store/mljk66bq4f5zskrn17gv8aiy43bkpfac-aeson-1.5.6.0-doc/share/doc/aeson-1.5.6.0 --with-gcc=clang --package-db=/private/tmp/nix-build-aeson-1.5.6.0.drv-1/tmp.SUGnXWZhew/package.conf.d --ghc-options=-j12 --disable-split-objs --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --ghc-options=-haddock --extra-lib-dirs=/nix/store/cday6lpb3xbxpswci75yp77q49jyjf97-ncurses-6.4/lib --extra-lib-dirs=/nix/store/3hxzjdfb88ni8f7h7xbqirsm7massl90-libffi-3.4.4/lib --extra-lib-dirs=/nix/store/dvb8a6g3vmzcckmdjgbcnkw7vpy5df0h-gmp-with-cxx-6.3.0/lib --extra-include-dirs=/nix/store/p8igv6f25sjhhk95wbvcvb82v1sybv10-libiconv-50/include --extra-lib-dirs=/nix/store/p8igv6f25sjhhk95wbvcvb82v1sybv10-libiconv-50/lib --extra-include-dirs=/nix/store/ymw82wxygwr9mia2qnh6a7pbw6jr2rjw-libcxx-16.0.6-dev/include --extra-lib-dirs=/nix/store/vj3mzjyppyjqpqs6k0v9hyr80abmp1ay-libcxx-16.0.6/lib --extra-include-dirs=/nix/store/b3l52c0yywpjqwzkg5f600m5r1njgwx8-libcxxabi-16.0.6-dev/include --extra-lib-dirs=/nix/store/jgzbk5v82s2da4fqd4pjnphpb0c9r351-libcxxabi-16.0.6/lib --extra-include-dirs=/nix/store/m2v3zscdv32dwn55k2wpxjfn42hpjrh4-compiler-rt-libc-16.0.6-dev/include --extra-lib-dirs=/nix/store/4zx1dv50bbj63z5nrh3wjhz22np1f862-compiler-rt-libc-16.0.6/lib --extra-framework-dirs=/nix/store/a55b69y2gdzkd4i4cnjx6agyq0p2bsav-apple-framework-CoreFoundation/Library/Frameworks\nUsing Parsec parser\nConfiguring aeson-1.5.6.0...\nCallStack (from HasCallStack):\n  withMetadata, called at libraries/Cabal/Cabal/src/Distribution/Simple/Utils.hs:370:14 in Cabal-3.8.1.0:Distribution.Simple.Utils\nError: Setup: Encountered missing or private dependencies:\nbytestring >=0.10.8.1 && <0.11.2,\nghc-prim >=0.2 && <0.8,\nhashable-time >=0.2.1 && <0.3,\nprimitive >=0.7.0.1 && <0.8,\ntemplate-haskell >=2.9.0.0 && <2.18,\ntext >=1.2.3.0 && <1.3,\nvector >=0.12.0.1 && <0.13\n
\n

In logs it's visible that aeson is using GHC 9.4.8. If I comment aeson from my flake.nix then it uses the correct GHC but it picks the latest aeson package.

\n

How can I pin the aeson version and make it to use a specific GHC version ?

", + "id": 422582060, + "sender_full_name": "Aman Singh", + "timestamp": 1708509758 + }, + { + "content": "

My suggestion. Use Haskell-flake. basePackages param would define the version of ghc and overrides would also be compiled with that ghc version

", + "id": 422583440, + "sender_full_name": "Aravind Gopal", + "timestamp": 1708510184 + }, + { + "content": "

@Aravind Gopal Here's first familiarizing himself with the basics before trying flake-parts and the rest.

", + "id": 422585626, + "sender_full_name": "Srid", + "timestamp": 1708510976 + }, + { + "content": "

@Aman Singh

\n

The problem is here:

\n
aeson = pkgs.haskellPackages.callHackage \"aeson\" \"1.5.6.0\" {};\n
\n

pkgs.haskellPackages is the default haskell package set using GHC 9.4.8. Replace that with prev (just as you already do for the test package).

\n

Also see https://nixos.wiki/wiki/Overlays

", + "id": 422585947, + "sender_full_name": "Srid", + "timestamp": 1708511089 + }, + { + "content": "

prev should refer to pkgs.haskell.packages.ghc8107, because you are passing that overlay to the extend function. Overlays are actually simple concept, to extend a Nix attrset. Their implementation is simple: https://github.com/NixOS/nixpkgs/blob/master/lib/fixed-points.nix

", + "id": 422586193, + "sender_full_name": "Srid", + "timestamp": 1708511186 + }, + { + "content": "

Yeah, it worked. Didn't knew functions carried such context as well. I was able to build my project. Trying haskell-flake now.

", + "id": 422771450, + "sender_full_name": "Aman Singh", + "timestamp": 1708591710 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Nix.27s.20Achilles.20heel.3F.json b/zulip_json/413950-nix/Nix.27s.20Achilles.20heel.3F.json new file mode 100644 index 00000000000..2084d3fb753 --- /dev/null +++ b/zulip_json/413950-nix/Nix.27s.20Achilles.20heel.3F.json @@ -0,0 +1,20 @@ +[ + { + "content": "

An article submission on HN on \"Nix is a better image builder than Docker's image builder\" triggered a big discussion thread with a lot of good feedback on the Nix experience. The steep onboarding ramp-up is mentioned as a hurdle, but also more general \"you-either-love-it-or-hate-it\" sentiments. The former can be dealt with by improving ecosystem support and tech maturity level, but latter is more insidious and may cause something of an \"opportunity window\" to close on the Nix technology landscape and make it significantly harder to increase adoption rates afterwards.

\n

As an example of where this happened before, is with Linked Data technology standards. Linked Data refers to a whole host of open technology standards in different levels of maturity and completeness, and with RDF at their basis. It's popularity boomed when Tim Berners-Lee's vision of a \"Semantic Web\" caused a huge hype cycle. Semantic Web has theoretically 'magic' qualities, but it didn't deliver in time as was seen to have failed. It left the entire dev community with simmering resentment and aversion to adopt to this day (\"too complex\", \"been there, done that, not needed\"). Linked Data has continued to mature, but _veeery_ slowly and mostly in niche circles and use cases.

", + "id": 426890927, + "sender_full_name": "Arnold Schrijver", + "timestamp": 1710595532 + }, + { + "content": "

Perhaps this can be posted to #nix , @Arnold Schrijver ?

", + "id": 426891902, + "sender_full_name": "Srid", + "timestamp": 1710596360 + }, + { + "content": "

Sure @Srid .. can you move? I don't see an option to do that.

", + "id": 426892092, + "sender_full_name": "Arnold Schrijver", + "timestamp": 1710596517 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/NixCon.20NA.202024.json b/zulip_json/413950-nix/NixCon.20NA.202024.json new file mode 100644 index 00000000000..fbc463b738f --- /dev/null +++ b/zulip_json/413950-nix/NixCon.20NA.202024.json @@ -0,0 +1,20 @@ +[ + { + "content": "

@Shivaraj B H You may find this interesting, https://twitter.com/nixos_org/status/1767611726508208285

\n

https://2024-na.nixcon.org/talks/#the-case-for-nix-on-the-home-server

", + "id": 426190882, + "sender_full_name": "Srid", + "timestamp": 1710268839 + }, + { + "content": "

They don’t happen to have an option to get notified when the talk starts? Do they? Is it even going to be aired live?

", + "id": 426191309, + "sender_full_name": "Shivaraj B H", + "timestamp": 1710269021 + }, + { + "content": "

No idea, but I imagine a recording will be made available.

", + "id": 426191479, + "sender_full_name": "Srid", + "timestamp": 1710269080 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Nixifying.20the.20vlang.20dev.20environment.json b/zulip_json/413950-nix/Nixifying.20the.20vlang.20dev.20environment.json new file mode 100644 index 00000000000..3334412e826 --- /dev/null +++ b/zulip_json/413950-nix/Nixifying.20the.20vlang.20dev.20environment.json @@ -0,0 +1,74 @@ +[ + { + "content": "

https://github.com/vlang/v

\n

I see that vlang is already in nixpkgs. That is, it has been packaged in nixpkgs. But the repository itself doesn't have Nix-based development environment.

\n

Nix is used not only for packaging, but also for development: https://nixos.asia/en/dev

\n

@Swastik Baranwal So I'd propose that we create a flake.nix file in this repo, so that anyone can just git clone it and run nix develop to be dropped in a shell where they build the project, etc. They don't have to install anything on their computer, other than Nix itself.

\n

The README says the Makefile does some magical things, including:

\n
\n

The Tiny C Compiler (tcc) is downloaded for you by make if there is a compatible version for your system, and installed under the V thirdparty directory.

\n
\n

When using Nix, none of this need to happen, for the devShell can include the same Tiny C Compiler which is in fact available in nixpkgs.

", + "id": 406822539, + "sender_full_name": "Srid", + "timestamp": 1702062607 + }, + { + "content": "

We have our own TCC with our own patches afaik

", + "id": 406822981, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702062808 + }, + { + "content": "

Nixifying that patched TCC would be the first step I'd think

", + "id": 406823027, + "sender_full_name": "Srid", + "timestamp": 1702062837 + }, + { + "content": "

I see

", + "id": 406823139, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702062879 + }, + { + "content": "

Let me see how I can do it

", + "id": 406823150, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702062887 + }, + { + "content": "

Write a flake.nix in that TCC repo, then if I run nix run in that repo it should run the compiler.

", + "id": 406823196, + "sender_full_name": "Srid", + "timestamp": 1702062913 + }, + { + "content": "

Are there any guides on how to write a flake.nix

", + "id": 406823340, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702062966 + }, + { + "content": "

This is for non-windows https://github.com/vlang/tccbin

", + "id": 406823400, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702063011 + }, + { + "content": "

I could use this opportunity to see how useful https://nixos.asia/en/blog/nix-rapid is

\n

Can you try that and let me know if there's anything you don't understand, as far as introduction goes?

", + "id": 406823419, + "sender_full_name": "Srid", + "timestamp": 1702063020 + }, + { + "content": "

This is for windows https://github.com/vlang/tccbin_win

", + "id": 406823433, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702063026 + }, + { + "content": "

Srid said:

\n
\n

I could use this opportunity to see how useful https://nixos.asia/en/blog/nix-rapid is

\n

Can you try that and let me know if there's anything you don't understand, as far as introduction goes?

\n
\n

This post actually introduces flakes

", + "id": 406823475, + "sender_full_name": "Srid", + "timestamp": 1702063042 + }, + { + "content": "

Srid said:

\n
\n

I could use this opportunity to see how useful https://nixos.asia/en/blog/nix-rapid is

\n

Can you try that and let me know if there's anything you don't understand, as far as introduction goes?

\n
\n

Sure, I will work on it tomorrow. It is mid night here.

", + "id": 406823525, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702063056 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Non-Rust.20dependencies.20in.20Rust.20flake.20template.json b/zulip_json/413950-nix/Non-Rust.20dependencies.20in.20Rust.20flake.20template.json new file mode 100644 index 00000000000..08f36524c95 --- /dev/null +++ b/zulip_json/413950-nix/Non-Rust.20dependencies.20in.20Rust.20flake.20template.json @@ -0,0 +1,26 @@ +[ + { + "content": "

Hey just stumbled about your template for rust projects. i was wondering where i would pass non rust dependencies when i want to run nix build? my project needs openssl and pkg-config.

", + "id": 418318413, + "sender_full_name": "xqtc", + "timestamp": 1706289572 + }, + { + "content": "

buildInputs

\n

examples

", + "id": 418318895, + "sender_full_name": "Srid", + "timestamp": 1706289730 + }, + { + "content": "

Already tried that. Build still fails, saying it can't find pkgconfig. Here's how i defined it:

\n
          # Rust package\n          packages.default = pkgs.rustPlatform.buildRustPackage {\n            inherit (cargoToml.package) name version;\n            buildInputs = [\n              pkgs.pkg-config\n              pkgs.openssl\n            ];\n            src = ./.;\n            cargoLock.lockFile = ./Cargo.lock;\n          };\n
", + "id": 418320215, + "sender_full_name": "xqtc", + "timestamp": 1706290209 + }, + { + "content": "

I believe you are looking for nativeBuildInputs

", + "id": 418380067, + "sender_full_name": "Shivaraj B H", + "timestamp": 1706323713 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Overriding.20flake.20inputs.20from.20CLI.json b/zulip_json/413950-nix/Overriding.20flake.20inputs.20from.20CLI.json new file mode 100644 index 00000000000..edf2a67ce8b --- /dev/null +++ b/zulip_json/413950-nix/Overriding.20flake.20inputs.20from.20CLI.json @@ -0,0 +1,44 @@ +[ + { + "content": "

I looked and there doesn't seem to be a straightforward way to override flake inputs from the CLI. But I was wondering what method(s) you have employed to do so? I'm looking for opinions on how to do this with minimal changes.

\n

At the moment, I have this:

\n
  inputs = {\n    nixpkgs-1stable.url = "github:NixOS/nixpkgs/nixos-24.05";\n    home-manager-1stable.url = "github:nix-community/home-manager/release-24.05";\n    home-manager-1stable.inputs.nixpkgs.follows = "nixpkgs-1stable";\n\n    nixpkgs-1stable-small.url = "github:NixOS/nixpkgs/nixos-24.05-small";\n    home-manager-1stable-small.url = "github:nix-community/home-manager/release-24.05";\n    home-manager-1stable-small.inputs.nixpkgs.follows = "nixpkgs-1stable-small";\n\n    nixpkgs-0unstable.url = "github:NixOS/nixpkgs/nixos-unstable";\n    home-manager-0unstable.url = "github:nix-community/home-manager/master";\n    home-manager-0unstable.inputs.nixpkgs.follows = "nixpkgs-0unstable";\n\n    nixpkgs-0unstable-small.url = "github:NixOS/nixpkgs/nixos-unstable-small";\n    home-manager-0unstable-small.url = "github:nix-community/home-manager/master";\n    home-manager-0unstable-small.inputs.nixpkgs.follows = "nixpkgs-0unstable-small";\n  };\n\n  outputs = { self,\n    nixpkgs-1stable,         home-manager-1stable,\n    nixpkgs-1stable-small,   home-manager-1stable-small,\n    nixpkgs-0unstable,       home-manager-0unstable,\n    nixpkgs-0unstable-small, home-manager-0unstable-small,\n    ... }:\n    let\n      nixpkgsRelease = "24.05";\n      nixpkgs = nixpkgs-1stable;\n      home-manager = home-manager-1stable;\n      #nixpkgs = nixpkgs-1stable-small;\n      #home-manager = home-manager-1stable-small;\n      #nixpkgs = nixpkgs-0unstable;\n      #home-manager = home-manager-0unstable;\n      #nixpkgs = nixpkgs-0unstable-small;\n      #home-manager = home-manager-0unstable-small;\n\n# --- [ snip ] ---\n
\n

I don't see a \"clean\" way (tbh, I don't see _any way_ lol) to override nixpkgs to be, say, nixpkgs-0unstable-small from the CLI without a tech-debt of changes.

", + "id": 442809486, + "sender_full_name": "Pratham Patel", + "timestamp": 1717599178 + }, + { + "content": "

Had inputs not been \"static\", I could have provided nixos-unstable-small for nixpkgs and master for home-manager's channels respectively. But alas, I'm stuck here :)

", + "id": 442809855, + "sender_full_name": "Pratham Patel", + "timestamp": 1717599276 + }, + { + "content": "

(\"Static\" as in a let..in block in inputs such that I could use github:NixOS/nixpkgs/${nixpkgsChannel}.)

", + "id": 442810151, + "sender_full_name": "Pratham Patel", + "timestamp": 1717599341 + }, + { + "content": "

--override-input?

", + "id": 442812573, + "sender_full_name": "Srid", + "timestamp": 1717599886 + }, + { + "content": "

Oh wow, that worked. I should read the manual instead of user comments :sweat_smile:
\nThank you @Srid

", + "id": 442829958, + "sender_full_name": "Pratham Patel", + "timestamp": 1717603797 + }, + { + "content": "

@Pratham Patel By the way, is what you are trying to do here similar to this request?

", + "id": 442846865, + "sender_full_name": "Srid", + "timestamp": 1717607565 + }, + { + "content": "

Kind of. I want to use a different channel of nixpkgs/home-manager to test if the the future (nixos-unstable/master) branches introduce a breaking change or not. This runs in a local CI server I have at my home. :)

", + "id": 442851031, + "sender_full_name": "Pratham Patel", + "timestamp": 1717608734 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Passing.20arguments.20to.20flake.json b/zulip_json/413950-nix/Passing.20arguments.20to.20flake.json new file mode 100644 index 00000000000..a39bd08e950 --- /dev/null +++ b/zulip_json/413950-nix/Passing.20arguments.20to.20flake.json @@ -0,0 +1,98 @@ +[ + { + "content": "

I am taking inspiration from nix-systems work, but am struggling.

\n

I am trying to use a similar format to define user names, and host names so that I can pass them in as flake inputs and reference in all files as such.

\n

I have tried with local and remote files and flakes, but am not sure how to get the string out.

", + "id": 407602779, + "sender_full_name": "Stephen", + "timestamp": 1702430067 + }, + { + "content": "

I think you are looking for: https://github.com/NixOS/nix/issues/5663

\n

Right now, only the nix-systems approach is possible.

", + "id": 407603056, + "sender_full_name": "Srid", + "timestamp": 1702430163 + }, + { + "content": "

https://discourse.nixos.org/t/flake-how-to-have-a-literal-value-input-no-url-file-path/36035

", + "id": 407603288, + "sender_full_name": "Srid", + "timestamp": 1702430236 + }, + { + "content": "

I am following the nix-systems approach, but replacing system name with other names.

", + "id": 407603590, + "sender_full_name": "Stephen", + "timestamp": 1702430346 + }, + { + "content": "

I access system fine as a value, but if I try to access host, no bueno. I keep getting this is a set, not a string errors. And don't know how to get value as a string

", + "id": 407603959, + "sender_full_name": "Stephen", + "timestamp": 1702430471 + }, + { + "content": "

For example if I try something like ${hosts} = nixpkgs.lib.nixosSystem {}

", + "id": 407604172, + "sender_full_name": "Stephen", + "timestamp": 1702430554 + }, + { + "content": "

Where hosts is an input hosts.url = \"path:./hosts.nix;
\nhosts.flake = false;

", + "id": 407604316, + "sender_full_name": "Stephen", + "timestamp": 1702430621 + }, + { + "content": "

And hosts.nix contains [\"hostname\"]

", + "id": 407604453, + "sender_full_name": "Stephen", + "timestamp": 1702430659 + }, + { + "content": "

I have tried mixing up hosts.nix format as well, and also making it a flake in a gitlab repo (I get same error)

", + "id": 407604524, + "sender_full_name": "Stephen", + "timestamp": 1702430688 + }, + { + "content": "

I have tried inheriting and importing hosts as well

", + "id": 407604695, + "sender_full_name": "Stephen", + "timestamp": 1702430759 + }, + { + "content": "

Is there a way to reproduce your problem? Difficult to help without seeing full context.

", + "id": 407605282, + "sender_full_name": "Srid", + "timestamp": 1702430974 + }, + { + "content": "

No, I think I understand why now.
\nYou can see current commit here which is a bad attempt: https://gitlab.com/stephenandary/flakes/-/tree/flakes/machines?ref_type=heads

", + "id": 407605743, + "sender_full_name": "Stephen", + "timestamp": 1702431145 + }, + { + "content": "

In the nix-systems examples there are still let-in statements

", + "id": 407605874, + "sender_full_name": "Stephen", + "timestamp": 1702431199 + }, + { + "content": "

I did not have that, I can try something like that, but I dont think it would play out how I want

", + "id": 407606128, + "sender_full_name": "Stephen", + "timestamp": 1702431294 + }, + { + "content": "

${(import hosts).name} = ...

", + "id": 407606502, + "sender_full_name": "Srid", + "timestamp": 1702431442 + }, + { + "content": "

No bueno, but that atleast changed error to is a list instead of set haha. Thanks Srid. I can try to tinker with formats based on this

", + "id": 407607064, + "sender_full_name": "Stephen", + "timestamp": 1702431658 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Portable.20binaries.json b/zulip_json/413950-nix/Portable.20binaries.json new file mode 100644 index 00000000000..ae8e55f0848 --- /dev/null +++ b/zulip_json/413950-nix/Portable.20binaries.json @@ -0,0 +1,20 @@ +[ + { + "content": "

Problem: Linux doesn't have portable binaries like windows - download exe from a site and double click to run.

\n

I think we could build something based off nix, which runs on any distro and sets up /nix under some X, and allows people to run all nix binaries directly on any distro.

\n

Example:
\nmakeitrun reptyr - launches reptyr as of nixos unstable / latest stable.

\n

X:

\n
    \n
  1. Can be a ram based filesytem like tmpfs
  2. \n
  3. Can be a filesystem within a file.
  4. \n
  5. Can be a directory path - mainly if user wants to debug.
  6. \n
\n

makeitrun itself must be a statically linked binary - so that it can run without relying on any glibc etc.

\n

What do you peeps thing about it?

", + "id": 441964540, + "sender_full_name": "majorkaks", + "timestamp": 1717276185 + }, + { + "content": "

A message was moved here from #general > OSS contribution ideas by Srid.

", + "id": 441993195, + "sender_full_name": "Notification Bot", + "timestamp": 1717292057 + }, + { + "content": "

nix bundle?

", + "id": 441993221, + "sender_full_name": "Srid", + "timestamp": 1717292081 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Recursively.20search.20through.20flake.20inputs.json b/zulip_json/413950-nix/Recursively.20search.20through.20flake.20inputs.json new file mode 100644 index 00000000000..21580dac615 --- /dev/null +++ b/zulip_json/413950-nix/Recursively.20search.20through.20flake.20inputs.json @@ -0,0 +1,92 @@ +[ + { + "content": "

I recall @Srid mentioning this before, but I don’t seem to recollect. For example, if I have a flake in project-a and this has project-b in its inputs, project-b in turn depends on project-c in its flake. My question is, how can I find if project-a depends on project-c without having to go through each of the flake. I want something like nix why-depends but for flake inputs.

", + "id": 410985088, + "sender_full_name": "Shivaraj B H", + "timestamp": 1704275398 + }, + { + "content": "

Unsure, but there is nix flake metadata which dumps the tree of inputs. It takes --json to produce a JSON output, so something can be built off it. Also nix-browser can (be made to) do this too, but a CLI would be nice.

", + "id": 411013853, + "sender_full_name": "Srid", + "timestamp": 1704288226 + }, + { + "content": "

fwiw, for quickly traversing inputs in the flake you can simply load the flake in a repl, and a top-level inputs attribute exists for quickly traversing the inputs of a flake

", + "id": 411642027, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1704670482 + }, + { + "content": "

Hey Tim, thanks for that, I am aware that I can traverse through the entire graph of the inputs, i.e if I know the path to whatever input I am looking for. I was looking for a solution, that given an input, gives me the pinned version for that input in the dependency graph and the path to reach to that node in the graph.

\n

This is what worked for me:
\nTo find the pinned revision:

\n
$ nix flake metadata --json | jq '.. | .\"hedis\"? | select( . != null )'\n
\n

Which gives me the following output:

\n
{\n  \"flake\": false,\n  \"locked\": {\n    \"lastModified\": 1689234100,\n    \"narHash\": \"sha256-J4mqtraMzLJguL0BwMUETeBpNJXRf86E2ZaP9xx+4tY=\",\n    \"owner\": \"juspay\",\n    \"repo\": \"hedis\",\n    \"rev\": \"77bf501da57639a60728b577e1c3780f70ddb418\",\n    \"type\": \"github\"\n  },\n  \"original\": {\n    \"owner\": \"juspay\",\n    \"repo\": \"hedis\",\n    \"rev\": \"77bf501da57639a60728b577e1c3780f70ddb418\",\n    \"type\": \"github\"\n  }\n}\n\"hedis\"\n
\n

Now, what if I want to get the path to reach this node, I can still use jq to do this, thanks to this solution from stackoverflow:

\n
nix flake metadata --json | jq -c 'paths | select(.[-1] == "hedis")'\n
\n

This gives me the output:

\n
["locks","nodes","euler-hs","inputs","hedis"]\n["locks","nodes","hedis"]\n
\n

Now I know hedis comes from euler-hs’s flake.

", + "id": 411740218, + "sender_full_name": "Shivaraj B H", + "timestamp": 1704721339 + }, + { + "content": "

Nice one; here's another example (shared-kernel is transitively used by two other flakes, in addition to direct reference by the root flake; though the output doesn't say whether they all are pinned at same rev):

\n
 nix flake metadata --json github:nammayatri/nammayatri | jq -c 'paths | select(.[-1] == \"shared-kernel\")'\n[\"locks\",\"nodes\",\"beckn-gateway\",\"inputs\",\"shared-kernel\"]\n[\"locks\",\"nodes\",\"namma-dsl\",\"inputs\",\"shared-kernel\"]\n[\"locks\",\"nodes\",\"root\",\"inputs\",\"shared-kernel\"]\n[\"locks\",\"nodes\",\"shared-kernel\"]\n
", + "id": 411781061, + "sender_full_name": "Srid", + "timestamp": 1704733966 + }, + { + "content": "

That shouldn’t be hard to solve, I will have a look tomorrow

", + "id": 411782003, + "sender_full_name": "Shivaraj B H", + "timestamp": 1704734163 + }, + { + "content": "

You could wrap all of this in a pkgs.writeShellApplication and make it a flake-app runnable as, for instance, nix run github:shivaraj-bh/search-flake-inputs github:nammayatri/nammayatri shared-kernel

", + "id": 411782731, + "sender_full_name": "Srid", + "timestamp": 1704734308 + }, + { + "content": "

Probably an overkill, unless it is going to do more / act general.

", + "id": 411782937, + "sender_full_name": "Srid", + "timestamp": 1704734356 + }, + { + "content": "

I will probably come up with a more prettified output for this along with displaying a correspond short rev for the node in question, then making a flake-app around it would make sense

", + "id": 411786359, + "sender_full_name": "Shivaraj B H", + "timestamp": 1704735171 + }, + { + "content": "

Stretch goal: can it also search flake output tree?

", + "id": 411786474, + "sender_full_name": "Srid", + "timestamp": 1704735210 + }, + { + "content": "

https://github.com/shivaraj-bh/search-flake-inputs

\n

Screenshot-2024-01-15-at-7.58.02PM.png

\n
", + "id": 412968894, + "sender_full_name": "Shivaraj B H", + "timestamp": 1705328941 + }, + { + "content": "

announce it!

", + "id": 413083649, + "sender_full_name": "Srid", + "timestamp": 1705383158 + }, + { + "content": "

this is really useful. thanks

", + "id": 419927886, + "sender_full_name": "tgunnoe", + "timestamp": 1707167076 + }, + { + "content": "

I was planning to announce it but was wondering if I could make a general purpose search application in rust. It will be able to search outputs, inputs and can be made extensible to search much more.

", + "id": 419970206, + "sender_full_name": "Shivaraj B H", + "timestamp": 1707191119 + }, + { + "content": "

tgunnoe said:

\n
\n

this is really useful. thanks

\n
\n

Maybe I should announce it at its current state and then later launch a successor that will deprecate this.

", + "id": 419970331, + "sender_full_name": "Shivaraj B H", + "timestamp": 1707191198 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Running.20python.20process.20using.20process-compose.json b/zulip_json/413950-nix/Running.20python.20process.20using.20process-compose.json new file mode 100644 index 00000000000..ac3f0b24166 --- /dev/null +++ b/zulip_json/413950-nix/Running.20python.20process.20using.20process-compose.json @@ -0,0 +1,92 @@ +[ + { + "content": "

I am trying to run some process using process compose.
\nUsing

\n
in\n   {\n    process-compose =\n      {\n        settings.processes = commonConfig {\n            load-test = {\n              command = pkgs.writeShellApplication {\n                name = "load-test";\n                runtimeInputs = [pkgs.python3];\n                text = ''\n                  set -x\n                  python3 Backend/load-test/setup/auth.py\n                '';\n              };\n            };\n          };\n        };\n  };\n}\n
\n

But this is throwing the below error
\nerror: flake 'git+file:///Users/soumyajit.behera/backend-nammayatri/b-nammayatri' does not provide attribute 'packages.aarch64-darwin.load-test', 'legacyPackages.aarch64-darwin.load-test'

\n

Can someone help me here?

", + "id": 410819876, + "sender_full_name": "Soumyajit Behera", + "timestamp": 1704188772 + }, + { + "content": "

A message was moved here from #nix > Nix tutorial series by Soumyajit Behera.

", + "id": 410820492, + "sender_full_name": "Notification Bot", + "timestamp": 1704189043 + }, + { + "content": "

Your config is wrong. It should be process-compose.load-test = not process-compose =

\n

See example here: https://github.com/Platonic-Systems/process-compose-flake/blob/main/example/flake.nix#L20

\n

Also, we have a stream for process-compose: #process-compose-flake

", + "id": 410839860, + "sender_full_name": "Srid", + "timestamp": 1704199166 + }, + { + "content": "
_:\n{\n  perSystem = perSystem@{ self', pkgs, lib, ... }: {\n    process-compose.load-test-nix =\n      {\n        settings.processes = {\n            echo-web.command = ''\n               while true; do\n                  echo "heloow"\n                done\n              '';\n\n            auth = {\n              command = pkgs.writeShellApplication {\n                name = "auth";\n                runtimeInputs = [ pkgs.python3 ];\n                text = ''\n                    python3 Backend/load-test/setup/auth.py\n                '';\n              };\n            };\n          };\n      };\n  };\n}\n
\n

With this there is no error but the process-compose is not coming up.

", + "id": 410847127, + "sender_full_name": "Soumyajit Behera", + "timestamp": 1704202798 + }, + { + "content": "

Make sure you are using the latest process-compose. If in nammayatri, use the latest common repo flake input.

", + "id": 410849197, + "sender_full_name": "Srid", + "timestamp": 1704203873 + }, + { + "content": "

The issue was with the older version of process compose .
\nWhich needs a new argument for -p=0 (port) to come up.
\nSo we can use -p=0 as argument in nix run.

", + "id": 410967721, + "sender_full_name": "Soumyajit Behera", + "timestamp": 1704266154 + }, + { + "content": "
let\n  my-python-packages = ps: with ps; [\n    ( buildPythonPackage rec {\n      pname = "locust";\n      version = "2.16.1";\n      format = "pyproject";\n\n      src = fetchFromGitHub {\n        owner = "locustio";\n        repo = "locust";\n        rev = version;\n        sha256 = "sha256-MKFzEFpDkD8e+ENZN0GAWYipPK9A4SCZZRHG5/5UaNM=";\n      };\n\n      patchPhase = ''\n        echo 'version = "${version}"' > locust/_version.py\n      '';\n\n      propagatedBuildInputs = with python3Packages; [\n        requests\n        flask-basicauth\n        flask-cors\n        msgpack\n        gevent\n        pyzmq\n        roundrobin\n        geventhttpclient\n        psutil\n        typing-extensions\n        configargparse\n        setuptools\n      ];\n    })\n  ];\n
\n

I wanted to add locust to my env but this is giving error error: attribute 'buildPythonPackage' missing

\n

I have tried importing { inputs, buildPythonPackage, fetchPypi, fetchFromGitHub, python3Packages, ... }:
\nBut this is not working

", + "id": 410987041, + "sender_full_name": "Soumyajit Behera", + "timestamp": 1704276250 + }, + { + "content": "

buildPythonPackage comes from pkgs.python3Packages.buildPythonPackage

", + "id": 410988250, + "sender_full_name": "Shivaraj B H", + "timestamp": 1704276723 + }, + { + "content": "
error: builder for '/nix/store/rs8hwv9ra51064vxbdn05yz08kg1z801-python3.10-locust-2.19.1.drv' failed with exit code 1;\n       last 10 log lines:\n       >     _version_missing(config)\n       >   File "/nix/store/gaafmp68vslf33sawfi97rywids1s1kg-python3.10-setuptools-scm-7.1.0/lib/python3.10/site-packages/setuptools_scm/__init__.py", line 108, in _version_missing\n       >     raise LookupError(\n       > LookupError: setuptools-scm was unable to detect version for /private/tmp/nix-build-python3.10-locust-2.19.1.drv-0/source.\n       >\n       > Make sure you're either building from a fully intact git repository or PyPI tarballs. Most other sources (such as GitHub's tarballs, a git checkout without the .git folder) don't contain the necessary metadata and will not work.\n       >\n       > For example, if you're using pip, instead of https://github.com/user/proj/archive/master.zip use git+https://github.com/user/proj.git#egg=proj\n       >\n       > ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel\n       For full logs, run 'nix log /nix/store/rs8hwv9ra51064vxbdn05yz08kg1z801-python3.10-locust-2.19.1.drv'.\nerror: 1 dependencies of derivation '/nix/store/jgxlnqwwhnyahpvl68niz5qvrffcxpp5-ny-backend-env.drv' failed to build\n
\n

Adding locust to the env.
\nIts giving this error.

", + "id": 411005338, + "sender_full_name": "Soumyajit Behera", + "timestamp": 1704284586 + }, + { + "content": "

You can avoid the setuptools-scm problem like this:

\n
{\n  inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";\n  outputs = inputs@{...}: {\n    packages.x86_64-linux.default =\n    let\n      pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;\n    in\n    with pkgs;\n    with pkgs.python3Packages;\n    ( buildPythonPackage rec {\n      pname = "locust";\n      version = "2.20.1";\n      format = "pyproject";\n\n      src = fetchFromGitHub {\n        owner = "locustio";\n        repo = "locust";\n        rev = version;\n        sha256 = "sha256-pPtH9rnIDFRUyWPPF7xmPtfpiBFIz9WLYTTV+W0s/es=";\n      };\n\n      patchPhase = ''\n        echo 'version = "${version}"' > locust/_version.py\n      '';\n      SETUPTOOLS_SCM_PRETEND_VERSION = version;\n      nativeBuildInputs = [ setuptools-scm ];\n\n      propagatedBuildInputs = [\n       requests\n       flask-basicauth\n       flask-cors\n       msgpack\n       gevent\n       pyzmq\n       geventhttpclient\n       roundrobin\n       psutil\n       typing-extensions\n       configargparse\n       setuptools\n      ];\n    });\n\n  };\n}\n
\n

See here: https://github.com/NixOS/nixpkgs/issues/41136#issuecomment-1101342698

", + "id": 411012916, + "sender_full_name": "Shivaraj B H", + "timestamp": 1704287797 + }, + { + "content": "

Also after this the package will complaint about roundrobin being missing as it is still an open PR here https://github.com/NixOS/nixpkgs/pull/185087

", + "id": 411013019, + "sender_full_name": "Shivaraj B H", + "timestamp": 1704287850 + }, + { + "content": "

You will have to create another buildPythonPackage for roundrobin and link it here

", + "id": 411013060, + "sender_full_name": "Shivaraj B H", + "timestamp": 1704287869 + }, + { + "content": "

@Soumyajit Behera
\nHere’s a flake that builds locust, just run nix build:

\n
{\n  inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";\n  outputs = inputs@{ ... }:\n    let pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux; in {\n      packages.x86_64-linux.default =\n        with pkgs;\n        with pkgs.python3Packages;\n        let\n          roundrobin = buildPythonPackage rec {\n            pname = "roundrobin";\n            version = "0.0.4";\n\n            src = fetchFromGitHub {\n              owner = "linnik";\n              repo = pname;\n              rev = version;\n              sha256 = "sha256-eedE4PE43sbJE/Ktrc31KjVdfqe2ChKCYUNIl7fir0E=";\n            };\n\n            checkPhase = ''\n              runHook preCheck\n              ${python.interpreter} -m unittest discover\n              runHook postCheck\n            '';\n\n            pythonImportsCheck = [ pname ];\n\n          };\n        in\n        (buildPythonPackage rec {\n          pname = "locust";\n          version = "2.20.1";\n          format = "pyproject";\n\n          src = fetchFromGitHub {\n            owner = "locustio";\n            repo = "locust";\n            rev = version;\n            sha256 = "sha256-pPtH9rnIDFRUyWPPF7xmPtfpiBFIz9WLYTTV+W0s/es=";\n          };\n\n          patchPhase = ''\n            echo 'version = "${version}"' > locust/_version.py\n          '';\n          SETUPTOOLS_SCM_PRETEND_VERSION = version;\n          nativeBuildInputs = [ setuptools-scm ];\n          pythonImportsCheck = [ pname ];\n\n          propagatedBuildInputs = [\n            requests\n            flask-basicauth\n            flask-cors\n            msgpack\n            gevent\n            pyzmq\n            geventhttpclient\n            roundrobin\n            psutil\n            typing-extensions\n            configargparse\n            setuptools\n          ];\n        });\n\n    };\n}\n
", + "id": 411037031, + "sender_full_name": "Shivaraj B H", + "timestamp": 1704297319 + }, + { + "content": "

(One of these days we probably want to create a ... python-flake)

", + "id": 411038642, + "sender_full_name": "Srid", + "timestamp": 1704297884 + }, + { + "content": "

Agreed

", + "id": 411139064, + "sender_full_name": "Shivaraj B H", + "timestamp": 1704352206 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Rust.20cross-compilation.json b/zulip_json/413950-nix/Rust.20cross-compilation.json new file mode 100644 index 00000000000..2f7a87afee2 --- /dev/null +++ b/zulip_json/413950-nix/Rust.20cross-compilation.json @@ -0,0 +1,80 @@ +[ + { + "content": "

Hello, everyone! I've been using nix mostly as a package manager with home-manager, and today I had a dillemma: cross compiling.
\nOn trying to do so it gives you the helpful advice to do rustup target add, which prompted me to delete all my rust packages from home manager and just install rustup.

\n

https://emacs.ch/@crmsnbleyd/111928501351116776

\n

Have any of you ever done cross compilation with rust without resorting to this?

", + "id": 421381870, + "sender_full_name": "Drew Jose", + "timestamp": 1707894132 + }, + { + "content": "

There is a thing called flakebox which is supposedly offering this. Maybe worth a try. They have a tutorial including cross-compilation here: https://github.com/rustshop/flakebox/blob/master/docs/building-new-project.md

", + "id": 421385918, + "sender_full_name": "Andreas", + "timestamp": 1707896224 + }, + { + "content": "

What are you cross-compiling to?

\n

See

\n\n

They both use https://crane.dev/ and in the first repo you can see rust-toolchain.toml containing the wasm target which is what Nix uses.

", + "id": 421396457, + "sender_full_name": "Srid", + "timestamp": 1707900411 + }, + { + "content": "

https://crane.dev/examples/cross-rust-overlay.html

", + "id": 421396581, + "sender_full_name": "Srid", + "timestamp": 1707900467 + }, + { + "content": "

Flakebox uses crane; I'd recommend fiddling with crane first.

", + "id": 421396883, + "sender_full_name": "Srid", + "timestamp": 1707900591 + }, + { + "content": "

Srid said:

\n
\n

What are you cross-compiling to?

\n
\n

from Darwin to x86_64-unknown-linux-gnu

", + "id": 421398310, + "sender_full_name": "Drew Jose", + "timestamp": 1707901130 + }, + { + "content": "

You can try it with https://crane.dev/examples/cross-rust-overlay.html

", + "id": 421398425, + "sender_full_name": "Srid", + "timestamp": 1707901186 + }, + { + "content": "

I also just came across this. Looks interesting, but don't know much about it:

\n

https://old.reddit.com/r/rust/comments/11okj5w/rust_crosscompilation_without_struggles_by_using/

", + "id": 421398822, + "sender_full_name": "Srid", + "timestamp": 1707901309 + }, + { + "content": "
\n

With it, you can build Linux binaries and docker images from the MacOS hosts without any virtual machines.

\n
", + "id": 421398919, + "sender_full_name": "Srid", + "timestamp": 1707901328 + }, + { + "content": "

Full flake example

", + "id": 421399110, + "sender_full_name": "Srid", + "timestamp": 1707901393 + }, + { + "content": "

Unlike crane, this uses whatever build infra nixpkgs provides. As an interesting aside, the example uses #flake-parts

", + "id": 421399232, + "sender_full_name": "Srid", + "timestamp": 1707901435 + }, + { + "content": "

Drew Jose has marked this topic as resolved.

", + "id": 421425324, + "sender_full_name": "Notification Bot", + "timestamp": 1707910193 + }, + { + "content": "

Drew Jose has marked this topic as unresolved.

", + "id": 421425328, + "sender_full_name": "Notification Bot", + "timestamp": 1707910194 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Separating.20evaluation.20and.20realization.json b/zulip_json/413950-nix/Separating.20evaluation.20and.20realization.json new file mode 100644 index 00000000000..71d2f5db6bb --- /dev/null +++ b/zulip_json/413950-nix/Separating.20evaluation.20and.20realization.json @@ -0,0 +1,26 @@ +[ + { + "content": "

Just a little thing I found. You can evaluate a derivation first without building:

\n
❯ nix path-info --derivation .#default\nevaluating derivation 'git+file:///Users/srid/code/emanote#default'\n/nix/store/sdsqgcdzzzxcc3f12gvn6i44vh0xwmnq-emanote-1.3.13.0.drv\n
\n

And then realize (aka. 'build') the evaluated derivation,

\n
❯ nix build --no-link --print-out-paths '/nix/store/sdsqgcdzzzxcc3f12gvn6i44vh0xwmnq-emanote-1.3.13.0.drv^out'\n/nix/store/s79fra86jg0fxv5g084wb0dn7mp3scz8-emanote-1.3.13.0\n
\n

As an aside, IFD involves evaluating the built path (a derivation) once again and building the resultant derivation. https://nixos.asia/en/ifd

", + "id": 421857227, + "sender_full_name": "Srid", + "timestamp": 1708089765 + }, + { + "content": "

Indeed. This is the entire premise behind std-ci as well

", + "id": 421891213, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708099791 + }, + { + "content": "

oh, it just clicked to me that that's what the --derivation flag is attempting to describe. i think its vague hence i didn't understand it until now

", + "id": 422467347, + "sender_full_name": "tgunnoe", + "timestamp": 1708450170 + }, + { + "content": "

Honestly after designing std-action, I really got the feeling that it was a missed opportunity in Nix's design that we didn't more heavily focus on the separation of \"eval time\" vs \"build time\". There was a lot of kerfuffle about the flake cache, and how it's not super efficient. But a derivation is it's own evaluation cache, after all

", + "id": 422469094, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708450747 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/The.20Nix.20Abstractions.json b/zulip_json/413950-nix/The.20Nix.20Abstractions.json new file mode 100644 index 00000000000..d0a6cfbd05d --- /dev/null +++ b/zulip_json/413950-nix/The.20Nix.20Abstractions.json @@ -0,0 +1,14 @@ +[ + { + "content": "

Though I'd dedicate this topic for listing these abstractions/wrappers on top of Nix. We already know about https://devenv.sh/

\n

Flox just got announced on HN: https://news.ycombinator.com/item?id=39692801

", + "id": 426394803, + "sender_full_name": "Srid", + "timestamp": 1710351654 + }, + { + "content": "

IFTTT said:

\n
\n

How do I pick between devenv, devshell, devbox and flox?

\n

March 26, 2024 at 03:16AM

\n

https://old.reddit.com/r/NixOS/comments/1bo4d3v/how_do_i_pick_between_devenv_devshell_devbox_and/

\n
", + "id": 429851447, + "sender_full_name": "Srid", + "timestamp": 1711543671 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/The.20future.20of.20.60nixci.60.json b/zulip_json/413950-nix/The.20future.20of.20.60nixci.60.json new file mode 100644 index 00000000000..e7a99dc797c --- /dev/null +++ b/zulip_json/413950-nix/The.20future.20of.20.60nixci.60.json @@ -0,0 +1,14 @@ +[ + { + "content": "

https://github.com/juspay/omnix/issues/199

", + "id": 456658763, + "sender_full_name": "Srid", + "timestamp": 1722878431 + }, + { + "content": "

https://omnix.page/om/ci.html

", + "id": 472776246, + "sender_full_name": "Srid", + "timestamp": 1727299419 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/Update.20multiple.20.60flake.2Elock.60.20using.20Github.20Actions.E2.80.99.20matrix.json b/zulip_json/413950-nix/Update.20multiple.20.60flake.2Elock.60.20using.20Github.20Actions.E2.80.99.20matrix.json new file mode 100644 index 00000000000..d1d16ede0d9 --- /dev/null +++ b/zulip_json/413950-nix/Update.20multiple.20.60flake.2Elock.60.20using.20Github.20Actions.E2.80.99.20matrix.json @@ -0,0 +1,8 @@ +[ + { + "content": "

https://github.com/DeterminateSystems/update-flake-lock/issues/82#issuecomment-2268167540

", + "id": 456442286, + "sender_full_name": "Shivaraj B H", + "timestamp": 1722834452 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/auth.20credentials.20for.20manual.20calls.20to.20git.20in.20derivations.json b/zulip_json/413950-nix/auth.20credentials.20for.20manual.20calls.20to.20git.20in.20derivations.json new file mode 100644 index 00000000000..bd11120f245 --- /dev/null +++ b/zulip_json/413950-nix/auth.20credentials.20for.20manual.20calls.20to.20git.20in.20derivations.json @@ -0,0 +1,20 @@ +[ + { + "content": "

I have a python package tree-sitter-languages that I am trying to build for the sake of using it ultimately in aider.

\n

There is a somewhat nasty build script that calls git manually a bunch of times to clone tree sitter grammars and then runs a build action over them. I may attempt to patch or coax upstream at some point to get this fixed properly, but for the time being I'd just like to get the damn thing to build so I can actually use it on my NixOS machine.

\n

So as a stop-gap I am using a fixed-output derivation, but I am arriving at an impass of Nix giving me the \"illegal path reference\" error and in order to debug it and find the path I've had to build the derivations enough times that I have now been rate limited by github due to all the cloning.

\n

Thinking I could get around this problem by using a PAT to clone. So with all that useless context out of the way (in case anyone wants to help with any of those problems as well :sweat_smile:) my immediate question is if anyone has found a simple way to pass auth creds (either PAT or SSH) into a fixed-output derivation for the git cli to consume?

\n

It is a general enough question that I figured we could use an answer for posterity anyway.

", + "id": 440524479, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1716562056 + }, + { + "content": "

I haven't personally tried it out but maybe this can help.

\n

https://nixos.zulipchat.com/#narrow/stream/413950-nix/topic/.E2.9C.94.20nix.20flake.20--init.20with.20template.20in.20private.20repo.3F/near/434524003

", + "id": 440651670, + "sender_full_name": "Rohit Singh", + "timestamp": 1716657890 + }, + { + "content": "

No that's if you are using Nix properly and fetching them with the building or FoD fetchers.

\n

In this case the builder calls git directly. I already know how to fix it more or less, just didn't know if a more elegant solution than the one I will attempt already existed possibly.

\n

Shelving it til Monday though

", + "id": 440665074, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1716672371 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/define.20order.20of.20formatters.20in.20treefmt-nix.json b/zulip_json/413950-nix/define.20order.20of.20formatters.20in.20treefmt-nix.json new file mode 100644 index 00000000000..a5138743a08 --- /dev/null +++ b/zulip_json/413950-nix/define.20order.20of.20formatters.20in.20treefmt-nix.json @@ -0,0 +1,20 @@ +[ + { + "content": "

Is it possible to define a depends-on relation for a formatter, like running stylish-haskell should depend on ormolu having been executed?

\n

FYI @Abhishek Yadav

", + "id": 432477894, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712747052 + }, + { + "content": "

Similar to https://github.com/cachix/git-hooks.nix/issues/250 but for treefmt-nix.

\n

Maybe this: https://github.com/numtide/treefmt/issues/77

", + "id": 432637493, + "sender_full_name": "Srid", + "timestamp": 1712817839 + }, + { + "content": "

There is also another option to write a custom formatter that will run the dependent formatters sequentially

", + "id": 432678324, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712832943 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/flake.json b/zulip_json/413950-nix/flake.json new file mode 100644 index 00000000000..38425070bb2 --- /dev/null +++ b/zulip_json/413950-nix/flake.json @@ -0,0 +1,20 @@ +[ + { + "content": "

Is there any support for flake inputs to have expressions in decl?

\n
inputs = {\n      var1.url =  ("string1" + "string2");\n};\n
\n

Expressions like these throw a thunk error and I am unable to force evaluate it

", + "id": 427879841, + "sender_full_name": "Tamil Selvan", + "timestamp": 1710925270 + }, + { + "content": "

inputs.${var1}.url = # ...

", + "id": 427914275, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1710937113 + }, + { + "content": "

However, this won't work in flake inputs. No eval of any kind is allowed in inputs unfortunately. It's a stricter subset of Nix, technically

", + "id": 427914410, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1710937170 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/helix.json b/zulip_json/413950-nix/helix.json new file mode 100644 index 00000000000..445c293bd91 --- /dev/null +++ b/zulip_json/413950-nix/helix.json @@ -0,0 +1,44 @@ +[ + { + "content": "

I am planning to make a switch to helix as well, struggling a bit with key bindings, wish there were better defaults.

\n

How does the code auto-complete work?

\n

I am looking for something like this: https://x.com/victortaelin/status/1753593250340856179?s=46

", + "id": 422468995, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708450715 + }, + { + "content": "
\n

struggling a bit with key bindings, wish there were better defaults.

\n
\n

You bet, I sunk yesterday roughly 6-10 hours into it. First output: https://github.com/helix-editor/helix/wiki/Keymap-brainstorm#nix--home-manager-snippet

\n

Happy to help. Gotcha, so far:

\n
    \n
  • Unbind everything with a no_op very systematically or you loose overview
  • \n
  • Use that link to remap the select mode to the correct keys
  • \n
\n

Tim's also on helix and has good tips!

", + "id": 422469400, + "sender_full_name": "David Arnold", + "timestamp": 1708450843 + }, + { + "content": "

@Shivaraj B H I have been using Helix for almost two years. Have contributed a few PRs to improve the Nix support as well. Depends on what you are trying to accomplish, but my config is fairly basic and it's worked well for a long time now. Before Helix I was using kakoune for about 4 years and I really enjoyed it's paradigm, so my keybinds are designed to mimic it's behavior.

", + "id": 422470027, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708451114 + }, + { + "content": "

Is your helix configuration public?

\n

If I can mimic VIM key bindings in helix, I will be more than happy.

", + "id": 422471470, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708451661 + }, + { + "content": "

I just recently made my config private on github, as it is now exposing a lot of information about my private network topology, but I use home-manager for helix and the config I have used is really small:

\n
  programs.helix.settings = {\n    theme = \"snazzy\";\n    editor.true-color = true;\n    keys.normal = {\n      # kakoune like\n      w = \"extend_next_word_start\";\n      b = \"extend_prev_word_start\";\n      e = \"extend_next_word_end\";\n      W = \"extend_next_long_word_start\";\n      B = \"extend_prev_long_word_start\";\n      E = \"extend_next_long_word_end\";\n\n      n = \"search_next\";\n      N = \"search_prev\";\n      A-n = \"extend_search_next\";\n      A-N = \"extend_search_prev\";\n      # ----------------\n\n      # syntax tree maniuplation\n      A-j = \"expand_selection\";\n      A-k = \"shrink_selection\";\n      A-h = \"select_prev_sibling\";\n      A-l = \"select_next_sibling\";\n      # ----------------\n\n      C-s = \":w\";\n      C-q = \":q\";\n      C-w = \"rotate_view\";\n      C-p = \"file_picker\";\n      C-b = \"buffer_picker\";\n      C-A-n = \":bn\";\n      C-A-p = \":bp\";\n      y = [\"yank\" \"yank_joined_to_clipboard\"];\n    };\n    keys.insert.j.j = \"normal_mode\";\n  };\n
\n

A lot of the defaults are already very similar to Vim, there are only a few that deviate. Should be fairly easy to remap them. The doc should help as well:
\nhttps://docs.helix-editor.com/remapping.html

", + "id": 422472160, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708451914 + }, + { + "content": "

Awesome! That’s helpful

", + "id": 422472300, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708451968 + }, + { + "content": "

Thus far I got.

\n
# https://docs.helix-editor.com/remapping.html#key-remapping\n# https://docs.helix-editor.com/keymap.html\nv = \"no_op\"\na = \"select_mode\"\nC-a = \"select_mode\"\n# https://docs.helix-editor.com/keymap.html#movement\n# [n,e,o,i]\nh = \"no_op\"\nj = \"no_op\"\n# k       = \"no_op\"\n# l       = \"no_op\"\nn = \"move_char_left\"\ne = \"move_line_down\"\no = \"move_line_up\"\ni = \"move_char_right\"\n# Ctrl: words instead\n# w       = \"no_op\"\nW = \"no_op\"\nb = \"no_op\"\nB = \"no_op\"\n# e       = \"no_op\"\nE = \"no_op\"\nC-n = \"move_prev_word_start\"\nC-A-n = \"move_prev_long_word_start\"\nC-i = \"move_next_word_end\"\nC-A-i = \"move_next_long_word_end\"\n# modified arrow keys: page navigation\nC-b = \"no_op\"\nC-f = \"no_op\"\nC-u = \"no_op\"\nC-d = \"no_op\"\n# C-i     = \"no_op\" # todo\n# C-o     = \"no_op\" # todo\nC-s = \"no_op\" # todo\nC-S-up = \"page_up\"\nC-S-down = \"page_down\"\nC-up = \"half_page_up\"\nC-down = \"half_page_down\"\nC-left = \"goto_line_start\"\nC-right = \"goto_line_end\"\n# https://docs.helix-editor.com/keymap.html#changes\n\"A-`\" = \"no_op\" # switch_case\n\"`\" = \"switch_to_lowercase\"\n\"~\" = \"switch_to_uppercase\"\n# lines: k/l\n# i       = \"no_op\"\n# a       = \"no_op\"\nI = \"no_op\"\nA = \"no_op\"\n# o       = \"no_op\"\nO = \"no_op\"\nk = \"insert_mode\"\nC-k = \"insert_at_line_start\"\nl = \"append_mode\"\nC-l = \"insert_at_line_end\"\nK = \"open_above\"\nL = \"open_below\"\n# copy / paste / replace / undo / redo / change: drw fup\n# y       = \"no_op\"\nf = \"yank\"\nP = \"no_op\"\nA-p = \"paste_before\"\nr = \"replace\"\nR = \"no_op\"\nA-r = \"replace_with_yanked\"\nc = \"no_op\"\nA-c = \"no_op\"\nw = \"change_selection\"\nA-w = \"change_selection_noyank\"\n# in/de - crement\n# C-a = \"no_op\"\nC-x = \"no_op\"\ny = \"decrement\"\nY = \"increment\"\n# https://docs.helix-editor.com/keymap.html#shell\n# shell\n\"A-!\" = \"no_op\"\n\"!\" = \"shell_keep_pipe\"\n\"$\" = \"shell_insert_output\"\n\"A-$\" = \"shell_append_output\"\n# https://docs.helix-editor.com/keymap.html#search\n# searching\nN = \"no_op\"\n# n       = \"no_op\"\nC-A-e = \"search_next\"\nC-A-o = \"search_prev\"\n# https://docs.helix-editor.com/keymap.html#selection-manipulation\n# Shift: extend\nC-e = \"copy_selection_on_next_line\"\nC-o = \"copy_selection_on_prev_line\"\n# line selection\nC-E = \"extend_line_below\"\nC-O = \"extend_line_above\"\n# silences\n
", + "id": 422478943, + "sender_full_name": "David Arnold", + "timestamp": 1708454342 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/home-manager.20without.20admin.20access.json b/zulip_json/413950-nix/home-manager.20without.20admin.20access.json new file mode 100644 index 00000000000..1209b5bac3e --- /dev/null +++ b/zulip_json/413950-nix/home-manager.20without.20admin.20access.json @@ -0,0 +1,146 @@ +[ + { + "content": "

Srid said:

\n
\n

home-manager online event

\n

https://nixos.asia/en/event/nix-dev-home

\n
\n

We will demonstrate using Nix to declaratively manage your dotfiles, programs and services using home-manager, thus replacing the likes of legacy software like homebrew. The goal is to create an one-click environment to setup an user environment on any system, be it a Macbook or a Linux machine.

\n
\n
\n

Highly interested in using home-manager with a non-root install of nix. I work on multiple remote servers for HPC development (where I don't have admin priveleges), and would like to have an identical dev environment everywhere with modern tools etc available in my $PATH. Would be nice if the talk will cover this aspect.

", + "id": 424190025, + "sender_full_name": "Krishnakumar Gopalakrishnan", + "timestamp": 1709285080 + }, + { + "content": "

A message was moved here from #nix > Nix events in India by Srid.

", + "id": 424224194, + "sender_full_name": "Notification Bot", + "timestamp": 1709295968 + }, + { + "content": "

@Krishnakumar Gopalakrishnan Welcome!

\n

I'm pretty sure home-manager on itself shouldn't require root access.

\n

It is Nix installation that normally does, but I think there's a way to install it without requiring it.

", + "id": 424224265, + "sender_full_name": "Srid", + "timestamp": 1709296001 + }, + { + "content": "

Srid said:

\n
\n

[...] I think there's a way to install it without requiring it.

\n
\n

You can try this: https://nixos.wiki/wiki/Nix_Installation_Guide#Installing_without_root_permissions

", + "id": 424225861, + "sender_full_name": "Srid", + "timestamp": 1709296625 + }, + { + "content": "

Also https://github.com/DavHau/nix-portable

\n

But has performance drawbacks,

\n
\n

If user namespaces are not available on a system, nix-portable will fall back to using proot instead of bubblewrap. Proot's virtualization can have a significant performance overhead depending on the workload. In that situation, it might be beneficial to use a remote builder or alternatively build the derivations on another host and sync them via a cache like cachix.org.

\n
", + "id": 424290182, + "sender_full_name": "Srid", + "timestamp": 1709312758 + }, + { + "content": "

Nix only needs root if using the daemon. You can still run Nix in \"single-user\" daemonless mode, and the only requirement is that the user calling the binary own the /nix dir

", + "id": 424290654, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1709312880 + }, + { + "content": "

Little known fact that a static nix binary will create its own chroot store automatically for the current user of called and no /nix dir exists as well

", + "id": 424290836, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1709312926 + }, + { + "content": "

(making nix-portable somewhat obsolete)

", + "id": 424290931, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1709312951 + }, + { + "content": "

Okay, so basically @Krishnakumar Gopalakrishnan can follow the \"Single user\" instructions here https://nixos.org/manual/nix/stable/installation/#single-user

", + "id": 424293435, + "sender_full_name": "Srid", + "timestamp": 1709313735 + }, + { + "content": "

Tim DeHerrera said:

\n
\n

Little known fact that a static nix binary will create its own chroot store automatically for the current user of called and no /nix dir exists as well

\n
\n

now all we need is for that to work on macos as it does on linux and and something like nix bundle for distributing runtimes with guis much like the other pack formats on linux

", + "id": 424296773, + "sender_full_name": "tgunnoe", + "timestamp": 1709314924 + }, + { + "content": "

Problem is, mac's kernel doesn't have the same namespace capabilities of Linux :sweat_smile:

", + "id": 424297481, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1709315186 + }, + { + "content": "

Related: https://x.com/matthewcroughan/status/1787886356762382563?s=46

", + "id": 437573504, + "sender_full_name": "Shivaraj B H", + "timestamp": 1715141783 + }, + { + "content": "

Probably a good candidate for a blog at nixos.asia?

", + "id": 437573564, + "sender_full_name": "Shivaraj B H", + "timestamp": 1715141871 + }, + { + "content": "

Shivaraj B H said:

\n
\n

Probably a good candidate for a blog at nixos.asia?

\n
\n

Sure, or a tutorial.

", + "id": 437573643, + "sender_full_name": "Srid", + "timestamp": 1715141907 + }, + { + "content": "

Create an issue on GitHub so we don't forget.

", + "id": 437573664, + "sender_full_name": "Srid", + "timestamp": 1715141924 + }, + { + "content": "

The static version of nix can't install binary executables and needs to
\nbuild every single package from source.

", + "id": 437580409, + "sender_full_name": "Krishnakumar Gopalakrishnan", + "timestamp": 1715146931 + }, + { + "content": "

@Krishnakumar Gopalakrishnan you mean to say that binary cache, such as cache.nixos.org isn’t used to fetch the packages in a single user installation?

", + "id": 437582923, + "sender_full_name": "Shivaraj B H", + "timestamp": 1715148362 + }, + { + "content": "

Anyways, I will check this out, here’s the issue to track progress: https://github.com/nixos-asia/website/issues/35

", + "id": 437583208, + "sender_full_name": "Shivaraj B H", + "timestamp": 1715148462 + }, + { + "content": "

That's right. Without root access, static nix will have to build every
\nsingle package declared in the home.nix file from scratch.

\n

This is because the cached versions of the pre built binaries have
\nhardcoded locations that expect certain dynamic libraries to be loaded from
\ncertain standard library paths in the user's system (which requires root
\naccess typically eg. /usr/local/lib). The HPC package manager Spack from
\nLawrence Livermore National Laboratories addresses this exact problem
\n(relocatable binary issue) by using clever RPATH redirection mechanism
\nembedded into the binary and by explicitly providing binary caches that
\ntarget user-space installs.

\n

Most HPC and shared scientific computing clusters don't allow any kind of
\nwrite access to the /nix directory. In fact sysadmins don't even create
\nthis directory.

", + "id": 437630495, + "sender_full_name": "Krishnakumar Gopalakrishnan", + "timestamp": 1715167808 + }, + { + "content": "

Hey so, this isn't true unless you globally change the location of the /nix/store, which isn't necessary. The static version of Nix will automatically use a user namespace store in the users home directory if it doesn't have permission to write to /nix, which still uses /nix/store in the namespace, so the cache will work.

\n

You can also just give your user ownership of the /nix directory in single-user mode. Also, you don't need a static Nix to run in single-user mode. Two different things

", + "id": 437819752, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1715261583 + }, + { + "content": "

Hmm. Interesting. When I tried static nix, it appeared to be building my
\nhome-manager configured packages from source.

\n

I think readers will benefit from a detailed study and writeup of how to
\nget a static version of nix without sudo privileges or ownership of /nix,
\nand still make it use pre-built binaries.

", + "id": 437837238, + "sender_full_name": "Krishnakumar Gopalakrishnan", + "timestamp": 1715267929 + }, + { + "content": "

Did you check to make sure the cache was properly configured?

", + "id": 437913798, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1715307093 + }, + { + "content": "

It should be as simple as \"download static nix, excute a build\", if that's not working something else has gone wrong.

\n

I've done it several times

", + "id": 437913861, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1715307132 + }, + { + "content": "

(on Linux anyway)

", + "id": 437913877, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1715307159 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/jupyter.20env.20setup.json b/zulip_json/413950-nix/jupyter.20env.20setup.json new file mode 100644 index 00000000000..5cd21543974 --- /dev/null +++ b/zulip_json/413950-nix/jupyter.20env.20setup.json @@ -0,0 +1,26 @@ +[ + { + "content": "

Found https://gist.github.com/agoose77/9c63dc19d8671455cc6faae01228f485 to have a simple env where I can install extensions using jupyter UI. Will be using this while I figure out the Nix way to get things!

", + "id": 424197562, + "sender_full_name": "majorkaks", + "timestamp": 1709287728 + }, + { + "content": "

There's also https://github.com/tweag/jupyenv

", + "id": 424224832, + "sender_full_name": "Srid", + "timestamp": 1709296227 + }, + { + "content": "

I tried jupyenv before the linked gist, but I wasn't able to get jupyenv working with extensions (vim mode, execute-time)

", + "id": 425656880, + "sender_full_name": "majorkaks", + "timestamp": 1709966857 + }, + { + "content": "

What problems did you run into? Maybe I can try it out myself... you are talking vscode extensions I assume?

", + "id": 425674824, + "sender_full_name": "Andreas", + "timestamp": 1709979562 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/just-flake.20.28justfile.20sharing.29.json b/zulip_json/413950-nix/just-flake.20.28justfile.20sharing.29.json new file mode 100644 index 00000000000..47ca1c53c13 --- /dev/null +++ b/zulip_json/413950-nix/just-flake.20.28justfile.20sharing.29.json @@ -0,0 +1,20 @@ +[ + { + "content": "

Working on an alternative to mission-control, basically, but allowing sharing https://just.systems targets across projects:

\n

https://github.com/juspay/just-flake/pull/1

", + "id": 432842431, + "sender_full_name": "Srid", + "timestamp": 1712906028 + }, + { + "content": "

Merged, https://github.com/juspay/just-flake

", + "id": 433454207, + "sender_full_name": "Srid", + "timestamp": 1713250659 + }, + { + "content": "

Works pretty much like pre-commit-hooks.nix in that we can write custom targets in Nix as well

", + "id": 433454298, + "sender_full_name": "Srid", + "timestamp": 1713250686 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/macOS.20Sequoia.json b/zulip_json/413950-nix/macOS.20Sequoia.json new file mode 100644 index 00000000000..3cc658613b9 --- /dev/null +++ b/zulip_json/413950-nix/macOS.20Sequoia.json @@ -0,0 +1,98 @@ +[ + { + "content": "

I just upgraded to macOS Sequoia 15 beta, and had to do the following to make Nix work (I already use nix-darwin and home-manager):

\n
    \n
  • Explicitly mount the Nix Store volume, by entering the encryption password (stored in Keychain Access)
  • \n
  • Run sudo launchctl load /Library/LaunchDaemons/org.nixos.nix-daemon.plist && sudo launchctl kickstart -k system/org.nixos.nix-daemon to start the Nix daemon.
  • \n
", + "id": 444065430, + "sender_full_name": "Srid", + "timestamp": 1718128513 + }, + { + "content": "

Incidentally, nix is no longer in $PATH for me; I did locate it at /nix/var/nix/profiles/system/sw/bin/nix

", + "id": 444065484, + "sender_full_name": "Srid", + "timestamp": 1718128540 + }, + { + "content": "

Well, not yet!

\n
❯ /nix/var/nix/profiles/system/sw/bin/nix run\nerror: the user '_nixbld1' in the group 'nixbld' does not exist\n
\n

cf.

\n", + "id": 444067885, + "sender_full_name": "Srid", + "timestamp": 1718129340 + }, + { + "content": "

I had to re-install Nix, while using the new GID/UID:

\n
# Get ID of nixbld group\n$ dscl . -read /Groups/nixbld | awk '($1 == \"PrimaryGroupID:\") { print $2 }'\n\n# Find the ID of base nixbld user\n$ dscacheutil -q user  | less\n\n# Uninstall, after making sure no programs from nix store are running\n$ sudo /nix/nix-installer uninstall\n\n# Install afresh, using the new GID/UID\n$  curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install \\\n    --nix-build-group-id 30000 --nix-build-user-id-base 305\n
", + "id": 444070686, + "sender_full_name": "Srid", + "timestamp": 1718130250 + }, + { + "content": "

Now I get,

\n
error: unable to download 'https://cache.nixos.org/jnzj0r0jpmx0qp913riqpizvzidrqcfi.narinfo': Problem with the SSL CA cert (path? access rights?) (77)\n
\n

To fix it,

\n
sudo rm /etc/ssl/certs/ca-certificates.crt\nsudo ln -s /nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt /etc/ssl/certs/ca-certificates.crt\n
\n

Ref: https://github.com/NixOS/nix/issues/2899#issuecomment-1669501326

", + "id": 444071478, + "sender_full_name": "Srid", + "timestamp": 1718130499 + }, + { + "content": "

nix-darwin activation fails,

\n

image.png

\n
", + "id": 444073129, + "sender_full_name": "Srid", + "timestamp": 1718131055 + }, + { + "content": "

Which is fine; just rename it as it tell you.

", + "id": 444073282, + "sender_full_name": "Srid", + "timestamp": 1718131098 + }, + { + "content": "

Now home-manager part complaints:

\n
Starting Home Manager activation\nThe previous generation number and path are in conflict! These\nmust be either both empty or both set but are now set to\n\n    '42' and ''\n\nIf you don't mind losing previous profile generations then\nthe easiest solution is probably to run\n\n   rm /Users/srid/.local/state/nix/profiles/home-manager*\n   rm /Users/srid/.local/state/home-manager/gcroots/current-home\n\nand trying home-manager switch again. Good luck!\nsrid@appreciate nixos-config %\n
", + "id": 444073360, + "sender_full_name": "Srid", + "timestamp": 1718131121 + }, + { + "content": "

Just ran those two rm commands; now:

\n
Starting Home Manager activation\nActivating checkFilesChanged\nActivating checkLaunchAgents\nExisting file '/Users/srid/Library/LaunchAgents/org.nix-community.home.nix-gc.plist' is in the way of '/nix/store/zkh0jhdbba409065s1rwxfqlq4016x0n-home-manager-agents/org.nix-community.home.nix-gc.plist'\n
", + "id": 444073462, + "sender_full_name": "Srid", + "timestamp": 1718131165 + }, + { + "content": "

Remove /Users/srid/Library/LaunchAgents/org.nix-community.home.nix-gc.plist and activate again. Now,

\n
Activating setupLaunchAgents\nBootstrap failed: 5: Input/output error\nTry re-running the command as root for richer errors.\n
", + "id": 444073600, + "sender_full_name": "Srid", + "timestamp": 1718131210 + }, + { + "content": "

Strangely, re-running activation (nix run on srid/nixos-config) worked.

", + "id": 444073721, + "sender_full_name": "Srid", + "timestamp": 1718131254 + }, + { + "content": "

My home-manager installed apps, like Rio terminal, are now accessible from Raycast :+1:

", + "id": 444073864, + "sender_full_name": "Srid", + "timestamp": 1718131306 + }, + { + "content": "

nix-health is happy:

\n
❯ nix-health\n🩺️ Checking the health of your Nix setup (aarch64-darwin on nix-darwin):\n✅ Rosetta Not Active\n   apple emulation = None\n✅ Minimum Nix Version\n   nix version = 2.18.2\n✅ Flakes Enabled\n   experimental-features = flakes nix-command repl-flake\n✅ Disk Space\n   min disk space = 1024.0 GB; total = 4.0 TB\n✅ Max Jobs\n   max-jobs = 10\n✅ Nix Caches in use\n   substituters = https://cache.nixos.org/\n✅ Trusted Users\n   trusted-users = github-runner root srid\n✅ Direnv installation\n   direnv location = Some("/etc/profiles/per-user/srid/bin/direnv")\n✅ All checks passed\n
", + "id": 444074139, + "sender_full_name": "Srid", + "timestamp": 1718131404 + }, + { + "content": "

https://github.com/DeterminateSystems/nix-installer/releases/tag/v0.26.0

", + "id": 470009202, + "sender_full_name": "Srid", + "timestamp": 1726244756 + }, + { + "content": "

Also see: https://determinate.systems/posts/nix-support-for-macos-sequoia/

", + "id": 472656858, + "sender_full_name": "Shivaraj B H", + "timestamp": 1727258246 + }, + { + "content": "

I had to run that command when updating nix-darwin

", + "id": 472776227, + "sender_full_name": "Srid", + "timestamp": 1727299406 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/nested.20nix.20shell.json b/zulip_json/413950-nix/nested.20nix.20shell.json new file mode 100644 index 00000000000..8d540ade51c --- /dev/null +++ b/zulip_json/413950-nix/nested.20nix.20shell.json @@ -0,0 +1,32 @@ +[ + { + "content": "

Wouldn’t it make sense to not allow nesting by default, like tmux.

\n

Such issues can be taken care of: https://github.com/NixOS/nix/issues/6140#issuecomment-1986317698

", + "id": 427875407, + "sender_full_name": "Shivaraj B H", + "timestamp": 1710923419 + }, + { + "content": "

You can file a feature request on https://github.com/nixos/nix

", + "id": 427917259, + "sender_full_name": "Srid", + "timestamp": 1710938143 + }, + { + "content": "

Can this check be added to flake devshell, can be generic, any check failed wouldn’t load devshell ?

", + "id": 430929012, + "sender_full_name": "Aravind Gopal", + "timestamp": 1712126516 + }, + { + "content": "

I tried this in shellHook, but nix develop will ignore any failures in shellHook, and will start a devShell anyway.

", + "id": 430929154, + "sender_full_name": "Srid", + "timestamp": 1712126572 + }, + { + "content": "

https://github.com/NixOS/nix/issues/10388

", + "id": 430930642, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712127203 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/nix-index.json b/zulip_json/413950-nix/nix-index.json new file mode 100644 index 00000000000..a05e12ecc0d --- /dev/null +++ b/zulip_json/413950-nix/nix-index.json @@ -0,0 +1,68 @@ +[ + { + "content": "

image.png

\n

@Aravind Gopal You were talking about this -- telling the user to display a nix-friendly message when they try to run something that's not already (thus not encouraging them towards of homebrew and the like).

\n

Let me find the config I have for this.

", + "id": 416719213, + "sender_full_name": "Srid", + "timestamp": 1705647592 + }, + { + "content": "

This uses a program called nix-index, which uses old-style commands unfortunately: https://github.com/nix-community/nix-index/issues/191

", + "id": 416719331, + "sender_full_name": "Srid", + "timestamp": 1705647641 + }, + { + "content": "

^ Potential OSS contribution here

", + "id": 416719451, + "sender_full_name": "Srid", + "timestamp": 1705647720 + }, + { + "content": "

Here's the home-manager config for enabling this:

\n
  programs = {\n    nix-index = {\n      enable = true;\n      enableZshIntegration = true;\n    };\n  }\n
", + "id": 416719579, + "sender_full_name": "Srid", + "timestamp": 1705647785 + }, + { + "content": "

https://github.com/juspay/nix-dev-home/commit/4f4ab11b5f76c054289969d3927e6bbc31e2d981

", + "id": 416719761, + "sender_full_name": "Srid", + "timestamp": 1705647889 + }, + { + "content": "

Oh, nix-index does use new style commands but only if ~/.nix-profile/manifest.json exists:

\n

https://github.com/nix-community/nix-index/commit/cd7cdcb06f3552fc55cf0cded66de90461006c00

", + "id": 416719968, + "sender_full_name": "Srid", + "timestamp": 1705647995 + }, + { + "content": "

I did nix profile install nixpkgs#hello just to populate this manifest, and now it shows the right thing:

\n

image.png

\n
", + "id": 416720171, + "sender_full_name": "Srid", + "timestamp": 1705648101 + }, + { + "content": "
$ cat .nix-profile/manifest.json\n{"elements":[],"version":2}\n
", + "id": 416720707, + "sender_full_name": "Srid", + "timestamp": 1705648368 + }, + { + "content": "

This is a good tool to motivate users towards full nix.

", + "id": 416730211, + "sender_full_name": "Aravind Gopal", + "timestamp": 1705653105 + }, + { + "content": "

One glitch. The installation is not seamless. You need to generate the index manually the first time,

\n

image.png

\n
", + "id": 416731700, + "sender_full_name": "Srid", + "timestamp": 1705653765 + }, + { + "content": "

@Aravind Gopal We've automated the nix-index DB generation part,

\n

https://github.com/juspay/nix-dev-home/pull/14

", + "id": 420778862, + "sender_full_name": "Srid", + "timestamp": 1707549982 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/nix.20-.20direnv.20and.20starship.json b/zulip_json/413950-nix/nix.20-.20direnv.20and.20starship.json new file mode 100644 index 00000000000..b5f4c9b33c9 --- /dev/null +++ b/zulip_json/413950-nix/nix.20-.20direnv.20and.20starship.json @@ -0,0 +1,8 @@ +[ + { + "content": "

hm, any thoughts on why? :smile:

\n

What is your setup?

", + "id": 428393012, + "sender_full_name": "Andreas", + "timestamp": 1711134080 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/nix.20flake.20--init.20with.20template.20in.20private.20repo.3F.json b/zulip_json/413950-nix/nix.20flake.20--init.20with.20template.20in.20private.20repo.3F.json new file mode 100644 index 00000000000..57c706fd34c --- /dev/null +++ b/zulip_json/413950-nix/nix.20flake.20--init.20with.20template.20in.20private.20repo.3F.json @@ -0,0 +1,38 @@ +[ + { + "content": "

Quick question: is it possible to have a repo of private nix flake templates to initialize from the cli? Or does the template repo have to be public?

", + "id": 434502757, + "sender_full_name": "Andreas", + "timestamp": 1713620959 + }, + { + "content": "

Since you are online @Shivaraj B H and everyone else is just chillin' on Saturday, I'll just ping you :grinning_face_with_smiling_eyes:

", + "id": 434519897, + "sender_full_name": "Andreas", + "timestamp": 1713634165 + }, + { + "content": "

This might be related: https://gist.github.com/arianvp/8f80c23a3410d27746fb97a6563d9677

\n

Saw this on twitter like a week ago and srid posted on an internal channel as well.

", + "id": 434520096, + "sender_full_name": "Shivaraj B H", + "timestamp": 1713634307 + }, + { + "content": "

interesting, I'll try and see if I can access my first little flake template from a private repo

", + "id": 434520212, + "sender_full_name": "Andreas", + "timestamp": 1713634411 + }, + { + "content": "

Yeah, seems to work. I wonder if this also works for Gitea or Gitlab?

", + "id": 434521121, + "sender_full_name": "Andreas", + "timestamp": 1713635267 + }, + { + "content": "

I think I might just create a little shell alias with that as a script to set this up whenever I need to.

", + "id": 434521195, + "sender_full_name": "Andreas", + "timestamp": 1713635317 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/nix.json b/zulip_json/413950-nix/nix.json new file mode 100644 index 00000000000..048230a837c --- /dev/null +++ b/zulip_json/413950-nix/nix.json @@ -0,0 +1,8 @@ +[ + { + "content": "

direnv and starship is not working

", + "id": 428336739, + "sender_full_name": "Saurav Singh", + "timestamp": 1711116271 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/nixfmt.json b/zulip_json/413950-nix/nixfmt.json new file mode 100644 index 00000000000..7f9b75f18e6 --- /dev/null +++ b/zulip_json/413950-nix/nixfmt.json @@ -0,0 +1,80 @@ +[ + { + "content": "

@Pol Dellaiera Is nixfmt considered de facto/ stable now? Because the Github repo description says

\n
\n

The official (but not yet stable) formatter for Nix code

\n
\n

https://github.com/NixOS/nixfmt

", + "id": 444706789, + "sender_full_name": "Srid", + "timestamp": 1718373538 + }, + { + "content": "

Apparently RFC 166 has established it to become the standard at least

", + "id": 444707250, + "sender_full_name": "Andreas", + "timestamp": 1718373667 + }, + { + "content": "

Yeah see this thingie: https://github.com/nix-community/nixvim/pull/1375#issuecomment-2039393789

", + "id": 444707285, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718373678 + }, + { + "content": "

I'm requiring every contributor to pass their new Nix files through nixfmt-rfc-style since 1 month or so now.

", + "id": 444707374, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718373706 + }, + { + "content": "

Good to know!

", + "id": 444707423, + "sender_full_name": "Andreas", + "timestamp": 1718373720 + }, + { + "content": "

Pol Dellaiera said:

\n
\n

every contributor

\n
\n

Which repo? nixpkgs?

", + "id": 444707477, + "sender_full_name": "Srid", + "timestamp": 1718373725 + }, + { + "content": "

Yes

", + "id": 444707494, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718373731 + }, + { + "content": "

Last example today: https://github.com/NixOS/nixpkgs/pull/317742#pullrequestreview-2118391543

", + "id": 444707561, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718373754 + }, + { + "content": "

In services-flake we have a CI check that runs nixpkgs-fmt to see that the code was formatted, but I was surprised to see that it didn't fail on your PR (cc @Shivaraj B H)

\n

https://github.com/juspay/services-flake/blob/db7ab711d9a6cefd28dbcfe58409d3a968a3b713/dev/flake.nix#L30

\n

I'd welcome a dedicated PR that replaces nixpkgs-fmt with nixfmt-rfc-style mainly to see whether the new formatting is something we can switch over, not just for this project but for others as well. I've been happy with nixpkgs-fmt so far.

", + "id": 444707966, + "sender_full_name": "Srid", + "timestamp": 1718373875 + }, + { + "content": "

I won't discuss the formatting, switch to nixfmt-rfc-style if you want to, that won't change a thing in the technical side of things. It's, I believe, up to the maintainers to decide.

", + "id": 444708395, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718373992 + }, + { + "content": "

I don’t think nixpkgs-fmt flake check complaints about nixfmt-rfc-style, which is why the tests were passing.

", + "id": 444708430, + "sender_full_name": "Shivaraj B H", + "timestamp": 1718374001 + }, + { + "content": "

I've already spent too much time discussing the code formatting in plenty of languages... and in the end, I always end up using the default one... even if I don't like some parts of it.

", + "id": 444708769, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718374103 + }, + { + "content": "

yeah that is the best approach imho, just avoid useless discussion by establishing a formatting default

", + "id": 444709031, + "sender_full_name": "Andreas", + "timestamp": 1718374195 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/nixvim.20-.20Manage.20neovim.20config.20in.20Nix.json b/zulip_json/413950-nix/nixvim.20-.20Manage.20neovim.20config.20in.20Nix.json new file mode 100644 index 00000000000..53e283ef6e9 --- /dev/null +++ b/zulip_json/413950-nix/nixvim.20-.20Manage.20neovim.20config.20in.20Nix.json @@ -0,0 +1,38 @@ +[ + { + "content": "

Srid said:

\n
\n
    \n
  • For LSP, I have nil (nil_ls.enable = true; in nixvim config)
  • \n
\n
\n

For those curious, here's our nixvim config, in the context of a home-manager template:

\n

https://github.com/juspay/nix-dev-home/blob/main/home/neovim.nix

", + "id": 446132703, + "sender_full_name": "Srid", + "timestamp": 1718990587 + }, + { + "content": "

oh thanks a lot, I will look at that!

", + "id": 446135731, + "sender_full_name": "Andreas", + "timestamp": 1718991352 + }, + { + "content": "

On a related note, this would be a good first issue to tackle for anyone looking to contribute to a Nix project:

\n

https://github.com/juspay/nix-dev-home/issues/16

\n

(The cool thing is to be able to nix run .. neovim with certain nixvim config, which is useful to be able to 'take your vim' wherever you go, such as when pairing on a coworker's machine)

", + "id": 446181673, + "sender_full_name": "Srid", + "timestamp": 1719007265 + }, + { + "content": "

yeah that is an interesting issue. I will play a bit with Nixvim anyways, it looks a much nicer solution than my current Nvim config. I will have a look at it while I do

", + "id": 446435013, + "sender_full_name": "Andreas", + "timestamp": 1719158419 + }, + { + "content": "

so if I see this correctly (had to get the organization of the flake first), you use the home manager module approach to Nixvim?

", + "id": 446435492, + "sender_full_name": "Andreas", + "timestamp": 1719158601 + }, + { + "content": "

That entire repo provides only home-manager config, yes.

\n

But you can 'embed' it in nixos configuration in straightforward manner (like I do in srid/nixos-config using nixos-flake)

", + "id": 446441033, + "sender_full_name": "Srid", + "timestamp": 1719160333 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/nosys.20.60pkgs.60.20handling.json b/zulip_json/413950-nix/nosys.20.60pkgs.60.20handling.json new file mode 100644 index 00000000000..5b7c31043f2 --- /dev/null +++ b/zulip_json/413950-nix/nosys.20.60pkgs.60.20handling.json @@ -0,0 +1,32 @@ +[ + { + "content": "

Good idea?
\nhttps://github.com/divnix/nosys/pull/16

", + "id": 423154383, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708767551 + }, + { + "content": "

Context? What's 'nosys'?

", + "id": 423161119, + "sender_full_name": "Srid", + "timestamp": 1708772889 + }, + { + "content": "

Okay, a way to deal with systems. Unsure what the benefit is compared to say flake-parts perSystem.

", + "id": 423161180, + "sender_full_name": "Srid", + "timestamp": 1708772953 + }, + { + "content": "

For a while now, (mosly since working on and using std), I'm not a big fan of the module system. It's complexity get's conflating with Nix as a whole. I think using it to build flakes just gives you another onramp to infinite recursion, slow evaluation and difficult error messages that I'd rather not deal with when declaring a simple interface of inputs and outputs :sweat_smile:

", + "id": 423195677, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708801087 + }, + { + "content": "

originally, nosys was just a way to start modularizing parts of std that could be factored out. There was a desystemetize function that I broke off here and used to essentially demonstrate the old \"system as an input\" idea for flakes. Showing what the flake API could be like if you didn't have to worry about system.

\n

It also doesn't do anything else, purposefully, and is as minimal and fast as possible with simple conveniences.

", + "id": 423195890, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708801310 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/per-host.20home-manager.20implementation.2E.json b/zulip_json/413950-nix/per-host.20home-manager.20implementation.2E.json new file mode 100644 index 00000000000..0cc0dec3ece --- /dev/null +++ b/zulip_json/413950-nix/per-host.20home-manager.20implementation.2E.json @@ -0,0 +1,86 @@ +[ + { + "content": "

Hi, firstly, thanks for all the resources, I've got a nixos-flake based setup (essentially copied from srid/nixos-config) for my desktop and macbook.

\n

I want to extend my flake to some servers and was reading about per-host configs here: https://github.com/srid/nixos-flake/issues/19, but didn't quite grasp the workaround mentioned in the last 2 comments. I want to avoid pulling-in the gui related home-manager configs for the servers obviously. (as an aside, some of my gui configs like for wayland are split across the nixos/ and home/ folders, is there a way to unify them?)

\n

Has anyone got per-home config with a similar setup? here's my config for reference if needed: https://github.com/arulagrawal/nix.

", + "id": 435328943, + "sender_full_name": "Arul Agrawal", + "timestamp": 1714030341 + }, + { + "content": "

@Arul Agrawal I suggest forking nixos-flake and modifying this writeShellApplication.

\n

Make it so that it uses HOSTNAME instead of USER (but still fallback to USER if the former doesn't exist in homeConfigurations). You may first have to do a nix flake show --json on the flake, so as to see if homeConfigurations.$HOSTNAME does in fact exist.

\n

Once you get something working to satisfaction, open a PR on nixos-flake repo!

\n

Happy to help through your contribution here.

", + "id": 435336300, + "sender_full_name": "Srid", + "timestamp": 1714033022 + }, + { + "content": "

so the idea is, instead of doing this, the home-manager config would instead be called in flake.nix under flake -> homeConfigurations (where the darwinConfigurations and nixosConfigurations currently reside)?

", + "id": 435347000, + "sender_full_name": "Arul Agrawal", + "timestamp": 1714036783 + }, + { + "content": "

No, the idea is to fork nixos-flake and do the aforementioned change.

\n

Then change this line in your flake to point to your fork, and run nix run.

", + "id": 435347220, + "sender_full_name": "Srid", + "timestamp": 1714036876 + }, + { + "content": "

https://github.com/arulagrawal/nixos-flake/commit/2b8fc0f521db121d1f48d32e1cbc57732ede91a4

\n

Something like this? (will cleanup the commit message)

\n

I did this and pointed my flake to the branch and ran nix run. The question I asked now was to ask where to put the per-host config.

", + "id": 435348232, + "sender_full_name": "Arul Agrawal", + "timestamp": 1714037235 + }, + { + "content": "

legacyPackages.homeConfigurations.HOSTNAME

\n

See https://github.com/srid/nixos-flake/blob/7b19503e7f8c7cc0884fc2fbd669c0cc2e05aef5/examples/home/flake.nix#L25C11-L25C58

", + "id": 435348973, + "sender_full_name": "Srid", + "timestamp": 1714037502 + }, + { + "content": "

And run nix run .#activate-home

", + "id": 435349008, + "sender_full_name": "Srid", + "timestamp": 1714037516 + }, + { + "content": "

I'm assuming you are doing this in non-NixOS, since that issue is all about home-manager only config.

", + "id": 435349104, + "sender_full_name": "Srid", + "timestamp": 1714037542 + }, + { + "content": "

So, try to get this working on macOS first.

\n

One little step at a time.

", + "id": 435349126, + "sender_full_name": "Srid", + "timestamp": 1714037553 + }, + { + "content": "

You can put the config in homeModules, and import if from two places (to as to share between nixos & macos)

", + "id": 435349225, + "sender_full_name": "Srid", + "timestamp": 1714037593 + }, + { + "content": "

Srid said:

\n
\n

You can put the config in homeModules, and import if from two places (to as to share between nixos & macos)

\n
\n

Example, https://github.com/srid/nixos-flake/blob/master/examples/both/flake.nix

", + "id": 435349310, + "sender_full_name": "Srid", + "timestamp": 1714037623 + }, + { + "content": "

Okay I think I was going about this the wrong way (for what I need). I didn't test the server config yet (the device I was going to use died on me or smth) but I think something like this suffices: https://github.com/arulagrawal/nix/compare/main...separate-linux-configs

", + "id": 435355849, + "sender_full_name": "Arul Agrawal", + "timestamp": 1714039857 + }, + { + "content": "

apologies for the confusion

", + "id": 435355878, + "sender_full_name": "Arul Agrawal", + "timestamp": 1714039867 + }, + { + "content": "

@Arul Agrawal this post prompted me to write #nix > Dynamic NixOS configuration, using flakes. Feel free to \"take inspiration\" from it ;)

", + "id": 435893135, + "sender_full_name": "Pratham Patel", + "timestamp": 1714325225 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/pre-commit-hooks.20to.20format.20the.20code.json b/zulip_json/413950-nix/pre-commit-hooks.20to.20format.20the.20code.json new file mode 100644 index 00000000000..aa60d45849b --- /dev/null +++ b/zulip_json/413950-nix/pre-commit-hooks.20to.20format.20the.20code.json @@ -0,0 +1,38 @@ +[ + { + "content": "

I am trying to introduce a pre-commit-hooks check to stop user from pushing to remote if mal-formatted code found in the changes, the most promising checker I have found is https://github.com/editorconfig-checker/editorconfig-checker, while it doesn't honor the .editorconfig already there in the repo, it seems to be using its own set of rules

", + "id": 440403076, + "sender_full_name": "Hao Liu", + "timestamp": 1716500350 + }, + { + "content": "

Looks like it supports .editorconfig file?

", + "id": 440404678, + "sender_full_name": "Srid", + "timestamp": 1716501163 + }, + { + "content": "

@Srid it will use its own config file .ecrc instead of following the rules in .editorconfig

", + "id": 440405155, + "sender_full_name": "Hao Liu", + "timestamp": 1716501432 + }, + { + "content": "

I'm not familiar with editorconfig, but why does it say this in the README?

\n
\n

This tool only needs your .editorconfig to check all files.

\n
", + "id": 440405279, + "sender_full_name": "Srid", + "timestamp": 1716501498 + }, + { + "content": "

image.png
\nturns out it does follow the rules in .editorconfig :)

\n
", + "id": 440406495, + "sender_full_name": "Hao Liu", + "timestamp": 1716502157 + }, + { + "content": "

For ref, https://github.com/juspay/superposition/pull/75

", + "id": 440407688, + "sender_full_name": "Srid", + "timestamp": 1716502896 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/rust-flake.20.28Nixify.20Rust.20projects.29.json b/zulip_json/413950-nix/rust-flake.20.28Nixify.20Rust.20projects.29.json new file mode 100644 index 00000000000..d87526eefb7 --- /dev/null +++ b/zulip_json/413950-nix/rust-flake.20.28Nixify.20Rust.20projects.29.json @@ -0,0 +1,38 @@ +[ + { + "content": "

https://github.com/juspay/rust-flake now supports multiple crates from cargo workspace

\n

image.png

\n
", + "id": 451119493, + "sender_full_name": "Srid", + "timestamp": 1720841305 + }, + { + "content": "

oh cool. NCI is frustrating me with wasm and trunk right now. so if you have an example for wasm and trunk, that might get me to switch

", + "id": 451203521, + "sender_full_name": "Quinn", + "timestamp": 1720892483 + }, + { + "content": "

@Quinn rust-flake is designed to be basically a (flake-parts) wrapper over https://crane.dev/ - so if you can get something working with crane, it should map straightforwardly to rust-flake.

", + "id": 451235367, + "sender_full_name": "Srid", + "timestamp": 1720910709 + }, + { + "content": "
\n

oh cool. NCI is frustrating me with wasm and trunk right now. so if you have an example for wasm and trunk, that might get me to switch

\n
\n

Do you have an existing repo with wasm and trunk? I could try to package it using rust-flake

", + "id": 452163350, + "sender_full_name": "Shivaraj B H", + "timestamp": 1721242993 + }, + { + "content": "

this is the current deal https://github.com/quinn-dougherty/gatekept-traffic-PoC/tree/master/src.rs i haven't done a ton of debugging as to why its not working. I will say my emacs lsp is jank in that it works when i direnv to an NCI full rust environment of the project, but it all depends on rustup not being installed. it all comes crashing down if emacs finds a rustup. that's a separate issue tho-- it'd be dope if it even built in CI.

", + "id": 452163872, + "sender_full_name": "Quinn", + "timestamp": 1721243140 + }, + { + "content": "

Alright, I will give it a try tomorrow, its almost bed time here.

", + "id": 452164321, + "sender_full_name": "Shivaraj B H", + "timestamp": 1721243274 + } +] \ No newline at end of file diff --git a/zulip_json/413950-nix/stream.20events.json b/zulip_json/413950-nix/stream.20events.json new file mode 100644 index 00000000000..241c2599e39 --- /dev/null +++ b/zulip_json/413950-nix/stream.20events.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Web-public stream created by Srid. Description:

\n
\n

Discussions about Nix

\n
", + "id": 403594820, + "sender_full_name": "Notification Bot", + "timestamp": 1700660530 + } +] \ No newline at end of file diff --git a/zulip_json/413951-general/0th.json b/zulip_json/413951-general/0th.json new file mode 100644 index 00000000000..7bc3dd21724 --- /dev/null +++ b/zulip_json/413951-general/0th.json @@ -0,0 +1,14 @@ +[ + { + "content": "

0th

", + "id": 403597209, + "sender_full_name": "Pádraic Ó Mhuiris", + "timestamp": 1700661358 + }, + { + "content": "

You posted in \"stream events\" topic (which is an auto-generated topic), so I've moved your message to a new topic. My reply now comes under that new topic.

\n

Yea Zulip takes some getting used to ...

", + "id": 403601066, + "sender_full_name": "Srid", + "timestamp": 1700662582 + } +] \ No newline at end of file diff --git a/zulip_json/413951-general/ANN.3A.20NixOS.20Asia.20website.json b/zulip_json/413951-general/ANN.3A.20NixOS.20Asia.20website.json new file mode 100644 index 00000000000..b8001153d74 --- /dev/null +++ b/zulip_json/413951-general/ANN.3A.20NixOS.20Asia.20website.json @@ -0,0 +1,104 @@ +[ + { + "content": "

Our community now has a website:

\n

https://nixos.asia/en

\n

The plan is to make this act also like a documentation / wiki of some sort over time.

", + "id": 406803508, + "sender_full_name": "Srid", + "timestamp": 1702055404 + }, + { + "content": "

I want to help too

", + "id": 406803612, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702055445 + }, + { + "content": "

Welcome @Swastik Baranwal ! Do you use Nix already?

", + "id": 406803660, + "sender_full_name": "Srid", + "timestamp": 1702055467 + }, + { + "content": "

I am a nixpkg contributor

", + "id": 406803732, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702055498 + }, + { + "content": "

Ah, nice.

", + "id": 406803768, + "sender_full_name": "Srid", + "timestamp": 1702055515 + }, + { + "content": "

So the website is kind of a like a wiki, but based on interlinked atomic notes. There's a lot to write and improve.

", + "id": 406803884, + "sender_full_name": "Srid", + "timestamp": 1702055540 + }, + { + "content": "

I am based from Delhi

", + "id": 406803897, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702055547 + }, + { + "content": "

https://github.com/Delta456

", + "id": 406803924, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702055562 + }, + { + "content": "

What do you use Nix for? We are looking to host meetups in Bangalore starting January.

", + "id": 406803965, + "sender_full_name": "Srid", + "timestamp": 1702055575 + }, + { + "content": "

I am just exploring nix and maintain the vlang package

", + "id": 406804035, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702055599 + }, + { + "content": "

what about you?

", + "id": 406804171, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702055656 + }, + { + "content": "

I use Nix, Haskell and Rust: https://github.com/srid

\n

If there's anything Nix related you'd like explained/ written about on the website, let me know. I'm planning to improve the content to that end.

", + "id": 406804300, + "sender_full_name": "Srid", + "timestamp": 1702055707 + }, + { + "content": "

Sure

", + "id": 406804473, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702055766 + }, + { + "content": "

Damn you look really experieneced

", + "id": 406804733, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702055863 + }, + { + "content": "

Let's just say we used to download Linux distros overnight using dial-up internet and burn them to CD's for sharing with friends. :-) I used be part of Chennai ILUGC group, etc.

", + "id": 406804961, + "sender_full_name": "Srid", + "timestamp": 1702055915 + }, + { + "content": "

Truly the OGs

", + "id": 406805198, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702056000 + }, + { + "content": "

Srid said:

\n
\n

Let's just say we used to download Linux distros overnight using dial-up internet and burn them to CD's for sharing with friends. :-) I used be part of Chennai ILUGC group, etc.

\n
\n

I did that too! Though I had no friends.

", + "id": 408650425, + "sender_full_name": "John Bargman", + "timestamp": 1702918472 + } +] \ No newline at end of file diff --git a/zulip_json/413951-general/Current.20FOSS.20Scenario.20in.20India.json b/zulip_json/413951-general/Current.20FOSS.20Scenario.20in.20India.json new file mode 100644 index 00000000000..59c032ee6be --- /dev/null +++ b/zulip_json/413951-general/Current.20FOSS.20Scenario.20in.20India.json @@ -0,0 +1,80 @@ +[ + { + "content": "

Hey, I am Swastik Baranwal who is an active open-source developer who organizes meetups, and volunteers for several conferences and developer groups. In this thread I would like to tell the current FOSS scenario.

", + "id": 406810416, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702057809 + }, + { + "content": "

Nowadays people are getting into FOSS for the luxury of earning good money, fame, flexing etc and bragging about stuff which they haven't done much. There are many spam PRs by many people so their PR count increases and brag about how many PRs they have got merged. People work with the community aspect of open source which is no-code or low-code then give talks on how to get started with Git and GitHub, Open Source for Beginners etc.

", + "id": 406811269, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702058124 + }, + { + "content": "

Many people are going with the competitive mindset of JEE and spoiling beginner open-source programs by increasing competition and not being fair. Youtubers and other edu tech companies selling courses on FOSS and prompting Open Source just for a source of income by which many people are getting into it and fighting with other contributors on picking up that issue and battling between code reviews.

", + "id": 406811921, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702058376 + }, + { + "content": "

Due to this many conferences and meetups have been affected and the quality of crowd and talks have decreased a lot because they haven't done that because it is not in the \"course\" which they bought for.

", + "id": 406812154, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702058456 + }, + { + "content": "

Web 3 Meetups are emerging in India and attracting the youth by giving away good money, quality swags and foods then make them work in their own technology, also not letting them explore other techs.

", + "id": 406812320, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702058521 + }, + { + "content": "

People new in tech think that Web 3 meetups are normal and expect the same from other local meetup which decreases the amount of interested people and by giving FOMO to the ones working there.

", + "id": 406812676, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702058631 + }, + { + "content": "

Some people will even go as far as faking their open-source contributions to get that frame and fake it until they make it. Eg: I know someone who has faked his GSoC certificate to get that fame and have a better chance of getting shortlisted for conferences, jobs, scholarships etc.

", + "id": 406813579, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702058967 + }, + { + "content": "

Thus, open source is nothing but a status game for Indians. Thankfully few people do FOSS for love and passion.

", + "id": 406813711, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702059010 + }, + { + "content": "

Swastik Baranwal said:

\n
\n

Due to this many conferences and meetups have been affected and the quality of crowd and talks have decreased a lot because they haven't done that because it is not in the \"course\" which they bought for.

\n
\n

Is this (occurs monthly) a good representative of those meetups?

", + "id": 406815300, + "sender_full_name": "Srid", + "timestamp": 1702059708 + }, + { + "content": "

Srid said:

\n
\n

Swastik Baranwal said:

\n
\n

Due to this many conferences and meetups have been affected and the quality of crowd and talks have decreased a lot because they haven't done that because it is not in the \"course\" which they bought for.

\n
\n

Is this (occurs monthly) a good representative of those meetups?

\n
\n

No FOSS United Bangalore has a quality audience and speakers. FOSS United people are an exception.

", + "id": 406815548, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702059796 + }, + { + "content": "

I also try my best to get quality speakers and audience in FOSS United Delhi

", + "id": 406816102, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702060012 + }, + { + "content": "

I am from Bangalore, I will try attending some of their next upcoming meetups

", + "id": 406933893, + "sender_full_name": "Shivaraj B H", + "timestamp": 1702127913 + }, + { + "content": "

Sure! Their meetups are pretty good

", + "id": 406946986, + "sender_full_name": "Swastik Baranwal", + "timestamp": 1702134062 + } +] \ No newline at end of file diff --git a/zulip_json/413951-general/FOSSMeet.2724.2C.20Kerala.20.28March.2022-24.29.json b/zulip_json/413951-general/FOSSMeet.2724.2C.20Kerala.20.28March.2022-24.29.json new file mode 100644 index 00000000000..872e3c615f5 --- /dev/null +++ b/zulip_json/413951-general/FOSSMeet.2724.2C.20Kerala.20.28March.2022-24.29.json @@ -0,0 +1,26 @@ +[ + { + "content": "

https://www.fossmeet.net/

", + "id": 426556738, + "sender_full_name": "Srid", + "timestamp": 1710427235 + }, + { + "content": "

Hi, Is there any active contributors/maintainers that are from south India. 

\n

My name is Sai and I am from National Institute of Technology, Calicut India, and we are scheduled to conduct the FOSSMeet'24 which the longest running FOSS-centric gathering in India. We would love to have someone from the project to share the good word.

\n

Checkout our website for more info, fossmeet.net

", + "id": 426579410, + "sender_full_name": "Sai Narayan", + "timestamp": 1710433413 + }, + { + "content": "

2 messages were moved here from #general > FP India by Srid.

", + "id": 426599249, + "sender_full_name": "Notification Bot", + "timestamp": 1710439516 + }, + { + "content": "

Hi @Sai Narayan a great site. I just tooted with a Q on why you refer to your Fediverse account via mastodon.social and not directly via floss.social? Guess that may be just a copy/pasting of the link as seen from a masto social account.

", + "id": 431644520, + "sender_full_name": "Arnold Schrijver", + "timestamp": 1712383751 + } +] \ No newline at end of file diff --git a/zulip_json/413951-general/FP.20India.json b/zulip_json/413951-general/FP.20India.json new file mode 100644 index 00000000000..0298bd839e8 --- /dev/null +++ b/zulip_json/413951-general/FP.20India.json @@ -0,0 +1,20 @@ +[ + { + "content": "

Welcome, @AJ

\n

Good to see that you created a Zulip for FP India :-)

\n

https://fpindia.zulipchat.com/

", + "id": 425984517, + "sender_full_name": "Srid", + "timestamp": 1710181648 + }, + { + "content": "

Thanks @Srid! Yup, hoping Zulip can be a good home for the FPIndia community

", + "id": 426059514, + "sender_full_name": "AJ", + "timestamp": 1710223459 + }, + { + "content": "

2 messages were moved from this topic to #general > FOSSMeet'24, Kerala (March 22-24) by Srid.

", + "id": 426599250, + "sender_full_name": "Notification Bot", + "timestamp": 1710439516 + } +] \ No newline at end of file diff --git a/zulip_json/413951-general/Full.20Time.20Nix.20podcast.20looking.20for.20text.20author.json b/zulip_json/413951-general/Full.20Time.20Nix.20podcast.20looking.20for.20text.20author.json new file mode 100644 index 00000000000..669dfc640e3 --- /dev/null +++ b/zulip_json/413951-general/Full.20Time.20Nix.20podcast.20looking.20for.20text.20author.json @@ -0,0 +1,8 @@ +[ + { + "content": "

The Full Time Nix podcast team is looking to fill the role of a text author.

\n

This is not a paid role because there is no money involved yet.

\n

The text author will edit auto-generated episode transcripts and write episode descriptions.

\n

This is an opportunity to get involved and make relationships.

\n

Please contact me to apply.

", + "id": 435856020, + "sender_full_name": "Shahar “Dawn” Or", + "timestamp": 1714298958 + } +] \ No newline at end of file diff --git a/zulip_json/413951-general/Introduction.json b/zulip_json/413951-general/Introduction.json new file mode 100644 index 00000000000..2bd7bdb0ba2 --- /dev/null +++ b/zulip_json/413951-general/Introduction.json @@ -0,0 +1,38 @@ +[ + { + "content": "

Hello folks, I'm from Chandigarh, India.

\n

I've been enjoying Nix for about 3 years on my raspi server running *arr stack, nextcloud, wireguard and a few other services. Recently moved from arch to nix on my laptop - about 3 months ago. I have triple boot setup - Nix, Arch, Windows 10. Not that comfortable with Nix to leave arch yet. Windows will stay for gaming / performance comparisons.

\n

The next few things I wanna get done is jupyter notebook setup for data science experiments and improve my gaming setup on NixOS - ntsync kernel patch, proton-ge etc.

\n

Great to see a community here! I have not been able to find people in the city to discuss this stuff. Have been working remotely since covid

", + "id": 423650964, + "sender_full_name": "majorkaks", + "timestamp": 1709051847 + }, + { + "content": "

NixOS has good gpu passthrough support, you can run a windows VM with GPU passthrough and play your games. I haven’t personally tried it though.

", + "id": 423654553, + "sender_full_name": "Shivaraj B H", + "timestamp": 1709052940 + }, + { + "content": "

Ok. Will try with a windows VM. I have Nvidia optimus to make things more challenging.
\nMost games have been fine with steam on Xorg. Dota has frequent crashes on wayland - some segfault in libglvnd-core.so as soon as I alt-tab.
\nPalworld dies after 1-2 hours of gameplay due to OOM on Xorg. Palworld seems to manage memory better on Windows. I get slightly better experience.

", + "id": 423657824, + "sender_full_name": "majorkaks", + "timestamp": 1709053889 + }, + { + "content": "

Ah yes, Nvidia Optimus! I have that running on a Xiaomi laptop of mine. Works fine on NixOS with a offload script which I think you can just activate these days by setting the appropriate value. But I never went to the point of trying GPU passthrough for the dedicated Nvidia GPU. Even though it should work. Maybe I should finally try?

", + "id": 423666331, + "sender_full_name": "Andreas", + "timestamp": 1709056709 + }, + { + "content": "

Welcome!

\n
\n

Great to see a community here! I have not been able to find people in the city to discuss this stuff. Have been working remotely since covid

\n
\n

We are planning to host online events, actually. Keep an eye on https://nixos.asia/en/event

", + "id": 423674459, + "sender_full_name": "Srid", + "timestamp": 1709059707 + }, + { + "content": "

In my experience, most games that run through proton run better than in Windows, even without tuning the kernel or anything else.

\n

Although I haven't had much time for games in recent years, minus a few hours with the kids here or there.

", + "id": 423679257, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1709061477 + } +] \ No newline at end of file diff --git a/zulip_json/413951-general/Letting.20Google.20index.20this.20Zulip.json b/zulip_json/413951-general/Letting.20Google.20index.20this.20Zulip.json new file mode 100644 index 00000000000..e044b884ef2 --- /dev/null +++ b/zulip_json/413951-general/Letting.20Google.20index.20this.20Zulip.json @@ -0,0 +1,38 @@ +[ + { + "content": "

This Zulip has many \"web-public\" streams -- they can be accessed anonymously. However, they cannot be indexed by search engines unfortunately

\n
\n

Web-public streams do not yet support search engine indexing. You can use zulip-archive to create an archive of a Zulip organization that can be indexed by search engines. https://zulip.com/help/public-access-option#caveats

\n
\n

So it is probably worth setting up https://github.com/zulip/zulip-archive and host it as, say, chat.nixos.asia.

", + "id": 427106721, + "sender_full_name": "Srid", + "timestamp": 1710678766 + }, + { + "content": "

Voilà :right: https://chat.nixos.asia/

", + "id": 427111639, + "sender_full_name": "Srid", + "timestamp": 1710680106 + }, + { + "content": "

No styling, though.

", + "id": 427111879, + "sender_full_name": "Srid", + "timestamp": 1710680173 + }, + { + "content": "

yes, better than nothing. However SEO for the actual public part of Zulip would be really a neat thing to have tbh

", + "id": 427127688, + "sender_full_name": "Andreas", + "timestamp": 1710684375 + }, + { + "content": "

if there is no way around this, it might imply that Discourse is actually superior to Zulip as a public forum?

", + "id": 427137470, + "sender_full_name": "Andreas", + "timestamp": 1710687044 + }, + { + "content": "

Incidentally, I've also written my own Zulip archiver, it renders like this: https://funprog.srid.ca/

\n

(uses github pages as well)

", + "id": 427137680, + "sender_full_name": "Srid", + "timestamp": 1710687099 + } +] \ No newline at end of file diff --git a/zulip_json/413951-general/OSS.20contribution.20ideas.json b/zulip_json/413951-general/OSS.20contribution.20ideas.json new file mode 100644 index 00000000000..25fd28348a2 --- /dev/null +++ b/zulip_json/413951-general/OSS.20contribution.20ideas.json @@ -0,0 +1,32 @@ +[ + { + "content": "

I thought I'd dedicate a topic to catalogue ideas for OSS contributions.

", + "id": 436248824, + "sender_full_name": "Srid", + "timestamp": 1714476281 + }, + { + "content": "

Use haskell-flake in pandoc

\n

Pandoc's author is receptive to modernizing the flake.nix to use haskell-flake. If anybody's interested: https://github.com/jgm/pandoc/issues/8818

", + "id": 436248828, + "sender_full_name": "Srid", + "timestamp": 1714476283 + }, + { + "content": "

Problem: Linux doesn't have portable binaries like windows - download exe from a site and double click to run.

\n

I think we could build something based off nix, which runs on any distro and sets up /nix under some X, and allows people to run all nix binaries directly on any distro.

\n

Example:
\nmakeitrun reptyr - launches reptyr as of nixos unstable / latest stable.

\n

X:

\n
    \n
  1. Can be a ram based filesytem like tmpfs
  2. \n
  3. Can be a filesystem within a file.
  4. \n
  5. Can be a directory path - mainly if user wants to debug.
  6. \n
\n

makeitrun itself must be a statically linked binary - so that it can run without relying on any glibc etc.

\n

What do you peeps thing about it?

", + "id": 441964540, + "sender_full_name": "majorkaks", + "timestamp": 1717276185 + }, + { + "content": "

Anybody want to add a NixOS service module for this?

\n

https://once.com/writebook

", + "id": 448870341, + "sender_full_name": "Srid", + "timestamp": 1720017947 + }, + { + "content": "

Srid said:

\n
\n

Use haskell-flake in pandoc

\n

Pandoc's author is receptive to modernizing the flake.nix to use haskell-flake. If anybody's interested: https://github.com/jgm/pandoc/issues/8818

\n
\n

https://github.com/jgm/pandoc/pull/9952

", + "id": 449180867, + "sender_full_name": "Srid", + "timestamp": 1720137095 + } +] \ No newline at end of file diff --git a/zulip_json/413951-general/Social.20media.20stream.json b/zulip_json/413951-general/Social.20media.20stream.json new file mode 100644 index 00000000000..cdd49396029 --- /dev/null +++ b/zulip_json/413951-general/Social.20media.20stream.json @@ -0,0 +1,14 @@ +[ + { + "content": "

We now have a new stream #social-media - which automatically accumulates posts from other places, such as reddit, Discourse, StackOverflow, lobsters

\n

It is not a default stream for new users, and needs to be joined manually.

", + "id": 405167329, + "sender_full_name": "Srid", + "timestamp": 1701365959 + }, + { + "content": "

I've added Hacker News to the mix (in addition to switching to IFTTT for automation)

\n

image.png

\n
", + "id": 410551659, + "sender_full_name": "Srid", + "timestamp": 1703948845 + } +] \ No newline at end of file diff --git a/zulip_json/413951-general/Syntax.20highlighting.json b/zulip_json/413951-general/Syntax.20highlighting.json new file mode 100644 index 00000000000..f78cfdfa629 --- /dev/null +++ b/zulip_json/413951-general/Syntax.20highlighting.json @@ -0,0 +1,8 @@ +[ + { + "content": "

I see some folks pasting Nix code block without syntax highlighting (example). Note that it is indeed supported on Zulip, eg:

\n
{\n  a = x: x + 2\n  packages = {\n    foo = pkgs.emanote;\n  };\n}\n
", + "id": 411038778, + "sender_full_name": "Srid", + "timestamp": 1704297930 + } +] \ No newline at end of file diff --git a/zulip_json/413951-general/Telegram.json b/zulip_json/413951-general/Telegram.json new file mode 100644 index 00000000000..03102fb2842 --- /dev/null +++ b/zulip_json/413951-general/Telegram.json @@ -0,0 +1,32 @@ +[ + { + "content": "

We now have a Telegram group:

\n

https://t.me/nixosasia

", + "id": 447509710, + "sender_full_name": "Srid", + "timestamp": 1719502547 + }, + { + "content": "

that makes sense given how many people use Telegram :smile:

", + "id": 447527440, + "sender_full_name": "Andreas", + "timestamp": 1719507413 + }, + { + "content": "

Looks like some people do join Telegram and post there more than this Zulip. Apparently many are not comfortable with Zulip.

", + "id": 448117239, + "sender_full_name": "Srid", + "timestamp": 1719755703 + }, + { + "content": "

yeah it's like the platform effect I guess

", + "id": 448117488, + "sender_full_name": "Andreas", + "timestamp": 1719755896 + }, + { + "content": "

if you are already on the platform and all your friends are there

", + "id": 448117505, + "sender_full_name": "Andreas", + "timestamp": 1719755914 + } +] \ No newline at end of file diff --git a/zulip_json/413951-general/stream.20events.json b/zulip_json/413951-general/stream.20events.json new file mode 100644 index 00000000000..b5c751e12bb --- /dev/null +++ b/zulip_json/413951-general/stream.20events.json @@ -0,0 +1,32 @@ +[ + { + "content": "

Public stream created by Srid. Description:

\n
\n

No description.

\n
", + "id": 403595214, + "sender_full_name": "Notification Bot", + "timestamp": 1700660671 + }, + { + "content": "

Srid renamed stream random to offtopic.

", + "id": 403601126, + "sender_full_name": "Notification Bot", + "timestamp": 1700662600 + }, + { + "content": "

Srid changed the description for this stream.

\n
    \n
  • Old description:
  • \n
\n
\n

No description.

\n
\n
    \n
  • New description:
  • \n
\n
\n

General discussions

\n
", + "id": 404913257, + "sender_full_name": "Notification Bot", + "timestamp": 1701277771 + }, + { + "content": "

Srid renamed stream offtopic to general.

", + "id": 404913258, + "sender_full_name": "Notification Bot", + "timestamp": 1701277771 + }, + { + "content": "

Srid changed the access permissions for this stream from Public to Web-public.

", + "id": 404913269, + "sender_full_name": "Notification Bot", + "timestamp": 1701277777 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/.E2.9C.94.200.2E2.2E0.20release.json b/zulip_json/414011-services-flake/.E2.9C.94.200.2E2.2E0.20release.json new file mode 100644 index 00000000000..d50363fc12f --- /dev/null +++ b/zulip_json/414011-services-flake/.E2.9C.94.200.2E2.2E0.20release.json @@ -0,0 +1,32 @@ +[ + { + "content": "

And its done: https://github.com/juspay/services-flake/releases/tag/0.2.0

", + "id": 436211767, + "sender_full_name": "Shivaraj B H", + "timestamp": 1714462126 + }, + { + "content": "

Shivaraj B H has marked this topic as resolved.

", + "id": 436211777, + "sender_full_name": "Notification Bot", + "timestamp": 1714462130 + }, + { + "content": "

Announced on discourse: https://discourse.nixos.org/t/announcing-services-flake/41338/6?u=shivaraj-bh

", + "id": 436211874, + "sender_full_name": "Shivaraj B H", + "timestamp": 1714462190 + }, + { + "content": "

TIL the github release includes contributors automatically:

\n

image.png

\n
", + "id": 436215029, + "sender_full_name": "Srid", + "timestamp": 1714463573 + }, + { + "content": "

twitter announcement: https://twitter.com/nixos_asia/status/1785224254272762308

", + "id": 436221199, + "sender_full_name": "Shivaraj B H", + "timestamp": 1714465834 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/.E2.9C.94.20Does.20it.20make.20sense.20to.20add.20.60open-browser.60.20as.20a.20service.3F.json b/zulip_json/414011-services-flake/.E2.9C.94.20Does.20it.20make.20sense.20to.20add.20.60open-browser.60.20as.20a.20service.3F.json new file mode 100644 index 00000000000..5ee19ec6186 --- /dev/null +++ b/zulip_json/414011-services-flake/.E2.9C.94.20Does.20it.20make.20sense.20to.20add.20.60open-browser.60.20as.20a.20service.3F.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Shivaraj B H has marked this topic as resolved.

", + "id": 444681073, + "sender_full_name": "Notification Bot", + "timestamp": 1718365007 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/.E2.9C.94.20Require.20opinion.20on.20.60example.2Fllm.60.json b/zulip_json/414011-services-flake/.E2.9C.94.20Require.20opinion.20on.20.60example.2Fllm.60.json new file mode 100644 index 00000000000..39f7a241fd3 --- /dev/null +++ b/zulip_json/414011-services-flake/.E2.9C.94.20Require.20opinion.20on.20.60example.2Fllm.60.json @@ -0,0 +1,182 @@ +[ + { + "content": "

So great, thanks !

", + "id": 444713374, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718375541 + }, + { + "content": "

Shivaraj B H has marked this topic as resolved.

", + "id": 444715524, + "sender_full_name": "Notification Bot", + "timestamp": 1718376256 + }, + { + "content": "

Oh crap. open-webui 0.3.4 just landed in nixpkgs-unstable.

", + "id": 444716004, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718376432 + }, + { + "content": "

@Shivaraj B H Please run again the flake.lock generation in example/llm so you'll get the newest open-webui release.

", + "id": 444716107, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718376466 + }, + { + "content": "

@Pol Dellaiera we have automatic flake updates every week. It should get updated in 2 days (Sunday).

", + "id": 444716686, + "sender_full_name": "Shivaraj B H", + "timestamp": 1718376638 + }, + { + "content": "

Even for subdirectories ?!

", + "id": 444716751, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718376658 + }, + { + "content": "

Yes

", + "id": 444716944, + "sender_full_name": "Shivaraj B H", + "timestamp": 1718376715 + }, + { + "content": "

Shivaraj B H said:

\n
\n

Pol Dellaiera we have automatic flake updates every week. It should get updated in 2 days (Sunday).

\n
\n

It suffers from this particular UX issue: https://github.com/DeterminateSystems/update-flake-lock/issues/82

", + "id": 444717273, + "sender_full_name": "Srid", + "timestamp": 1718376824 + }, + { + "content": "

Oh DetSys...

", + "id": 444717503, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718376888 + }, + { + "content": "

Srid said:

\n
\n

I propose this then,

\n

Have two examples,

\n
    \n
  • examples/ollama-ui: basically our current example but with all of Pol Dellaiera 's suggestions (no custom dataDir; no pre-loaded models)
  • \n
  • examples/llm: a new example that imports the previous example (shared service) and sets the two things only -- dataDir and models (here, we can use a good model without size restriction)
  • \n
\n

For video demo (on X and for docs), we can use the latter example.

\n
\n

On 2nd thought, I don't think we should do this. I'll open a PR

", + "id": 444742430, + "sender_full_name": "Srid", + "timestamp": 1718382990 + }, + { + "content": "

What do you have in mind?

", + "id": 444743010, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718383165 + }, + { + "content": "

https://github.com/juspay/services-flake/pull/228

", + "id": 444746262, + "sender_full_name": "Srid", + "timestamp": 1718384125 + }, + { + "content": "

@Srid Why not have the ollama1 data dir at the top-level in ~/.services-flake instead of ~/.services-flake/llm? I ask this because we follow the top-level convention even in the data dir which is by default in $PWD

", + "id": 445162608, + "sender_full_name": "Shivaraj B H", + "timestamp": 1718638471 + }, + { + "content": "

Shivaraj B H said:

\n
\n

Srid Why not have the ollama1 data dir at the top-level in ~/.services-flake instead of ~/.services-flake/llm? I ask this because we follow the top-level convention even in the data dir which is by default in $PWD

\n
\n

That makes sense. So ~/.services-flake/llm/data/...? Yes.

", + "id": 445163124, + "sender_full_name": "Srid", + "timestamp": 1718638606 + }, + { + "content": "

No, I meant at the top-level itself. ~/.services-flake/<service>, in this case ~/.services-flake/ollama1

", + "id": 445165109, + "sender_full_name": "Shivaraj B H", + "timestamp": 1718639148 + }, + { + "content": "

(deleted)

", + "id": 445165202, + "sender_full_name": "Shivaraj B H", + "timestamp": 1718639168 + }, + { + "content": "

Because we consider llm a self-contained (services-flake) \"app\", so it makes sense to have its own data directory.

", + "id": 445169262, + "sender_full_name": "Srid", + "timestamp": 1718640241 + }, + { + "content": "

image.png

\n
", + "id": 445946085, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718914945 + }, + { + "content": "

(I'm back on Zulip again)

", + "id": 445946112, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718914954 + }, + { + "content": "

As I explained, I left here because I don't want to spread to too many communication platforms and because I'm really used to the UI in Zulip.

", + "id": 445946354, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718915032 + }, + { + "content": "

So I though I had deleted my account... but actually I succeeded to disable it, I don't know how.

", + "id": 445946463, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718915053 + }, + { + "content": "

Anyway, thanks for re-enabling it.

", + "id": 445946497, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718915065 + }, + { + "content": "

Pol Dellaiera said:

\n
\n

image.png

\n
\n

This is the PHI3 model here. It's small and I like it. It's the default LLM on my open-webui instance.

", + "id": 445948530, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718915648 + }, + { + "content": "

image.png
\nThis is very impressive.

\n
", + "id": 445949233, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718915879 + }, + { + "content": "

image.png

\n
", + "id": 445950849, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718916431 + }, + { + "content": "

I don't know what you think guys.

", + "id": 445951171, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718916516 + }, + { + "content": "

But I'll check your messages tomorrow. Time to go to bed. Cheers.

", + "id": 445951238, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718916539 + }, + { + "content": "

One idea is to have the flake app take the model name(s) via env vars, overriding what’s in flake config.

", + "id": 445994968, + "sender_full_name": "Srid", + "timestamp": 1718940726 + }, + { + "content": "

I just tried out phi3, it is quite nice and is only 2.4 G. Should we switch the example/llm to use this instead of the 9 G model?

", + "id": 448614027, + "sender_full_name": "Shivaraj B H", + "timestamp": 1719928819 + }, + { + "content": "

You can make that call.

", + "id": 448614830, + "sender_full_name": "Srid", + "timestamp": 1719929031 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/.E2.9C.94.20Using.20psql.20command.20instead.20of.20postgres.20in.20initialScript.json b/zulip_json/414011-services-flake/.E2.9C.94.20Using.20psql.20command.20instead.20of.20postgres.20in.20initialScript.json new file mode 100644 index 00000000000..1fd32c8342f --- /dev/null +++ b/zulip_json/414011-services-flake/.E2.9C.94.20Using.20psql.20command.20instead.20of.20postgres.20in.20initialScript.json @@ -0,0 +1,56 @@ +[ + { + "content": "

@Rohit Singh Now that the <name>-init process doesn't run before <name> process (here <name> is a postgres server), i.e after this PR, we have to rename <name>-init to something more appropriate. What can this be? I am thinking <name>-postStart, but that doesn't capture the essence of its task, which is running a bunch of .sql dumps or plain text SQL scripts given by initialScript option.

", + "id": 409529102, + "sender_full_name": "Shivaraj B H", + "timestamp": 1703225874 + }, + { + "content": "

How about <name>-postScript?

", + "id": 409529413, + "sender_full_name": "Shivaraj B H", + "timestamp": 1703226055 + }, + { + "content": "

Shivaraj B H said:

\n
\n

How about <name>-postScript?

\n
\n

How about <name>-postStartScript ?

\n

Because post does not actually describes post what ? So if we keep postStartScript that would mean post starting the postgres server.

", + "id": 409530261, + "sender_full_name": "Rohit Singh", + "timestamp": 1703226634 + }, + { + "content": "

Let's go with postStartScript for now. Let's wait until tomorrow for any suggestions and merge it.

", + "id": 409531274, + "sender_full_name": "Shivaraj B H", + "timestamp": 1703227316 + }, + { + "content": "

Let’s not forget the fact that the script only runs once, i.e if the dataDir is not already present, so we could consider initialPostStartScript too

", + "id": 409538317, + "sender_full_name": "Shivaraj B H", + "timestamp": 1703231493 + }, + { + "content": "

I think it would be better if we stick to init process running before the postgres server process, we can use pg_ctl to start and stop the server during initialisation as does devenv.

", + "id": 409729831, + "sender_full_name": "Shivaraj B H", + "timestamp": 1703348237 + }, + { + "content": "

I have updated the PR, check the link in the first message of this topic.

", + "id": 409729900, + "sender_full_name": "Shivaraj B H", + "timestamp": 1703348292 + }, + { + "content": "

Also see the updated description of the PR for the key changes.

", + "id": 409777205, + "sender_full_name": "Shivaraj B H", + "timestamp": 1703387643 + }, + { + "content": "

Shivaraj B H has marked this topic as resolved.

", + "id": 410339167, + "sender_full_name": "Notification Bot", + "timestamp": 1703795532 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/.E2.9C.94.20Weaviate.json b/zulip_json/414011-services-flake/.E2.9C.94.20Weaviate.json new file mode 100644 index 00000000000..e1d85b2adba --- /dev/null +++ b/zulip_json/414011-services-flake/.E2.9C.94.20Weaviate.json @@ -0,0 +1,14 @@ +[ + { + "content": "

Fixed it: https://github.com/juspay/services-flake/commit/76f6081f51d8884b7d3196dbb45e8f8a11417a53

", + "id": 444397190, + "sender_full_name": "Shivaraj B H", + "timestamp": 1718262162 + }, + { + "content": "

Shivaraj B H has marked this topic as resolved.

", + "id": 444397196, + "sender_full_name": "Notification Bot", + "timestamp": 1718262165 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/.E2.9C.94.20custom.20local.20service.json b/zulip_json/414011-services-flake/.E2.9C.94.20custom.20local.20service.json new file mode 100644 index 00000000000..1771dae553f --- /dev/null +++ b/zulip_json/414011-services-flake/.E2.9C.94.20custom.20local.20service.json @@ -0,0 +1,20 @@ +[ + { + "content": "

Thank you very much @Shivaraj B H !

", + "id": 440901431, + "sender_full_name": "Bruno Bigras", + "timestamp": 1716834273 + }, + { + "content": "

Bruno Bigras has marked this topic as resolved.

", + "id": 440901530, + "sender_full_name": "Notification Bot", + "timestamp": 1716834338 + }, + { + "content": "

@Bruno Bigras There’s an article on this now: https://community.flake.parts/services-flake/custom-service

", + "id": 446250316, + "sender_full_name": "Shivaraj B H", + "timestamp": 1719047897 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/0.2E2.2E0.20release.json b/zulip_json/414011-services-flake/0.2E2.2E0.20release.json new file mode 100644 index 00000000000..2fbada0f797 --- /dev/null +++ b/zulip_json/414011-services-flake/0.2E2.2E0.20release.json @@ -0,0 +1,26 @@ +[ + { + "content": "

I think it’s a good time to go for 0.2: https://github.com/juspay/services-flake/blob/main/CHANGELOG.md

\n

This release has also seen contributions from external contributors, it would be nice to tag the user beside the feat/fix (not sure if that’s possible with commitizen).

\n

Also there is another open question: how would I go about linking the PRs in the CHANGELOG automatically; wherever there is (#<pr-number>)?

", + "id": 435830157, + "sender_full_name": "Shivaraj B H", + "timestamp": 1714282052 + }, + { + "content": "

Shivaraj B H said:

\n
\n

Also there is another open question: how would I go about linking the PRs in the CHANGELOG automatically; wherever there is (#<pr-number>)?

\n
\n

https://github.com/commitizen-tools/commitizen/issues/396 ?

", + "id": 435830576, + "sender_full_name": "Srid", + "timestamp": 1714282162 + }, + { + "content": "

Don't forget to make a release tag (through GitHub release).

\n

You can mention those users in when you create a GitHub release here: https://github.com/juspay/services-flake/releases though it'd be a manual process. Maybe there's a feature request for it already in commitizen.

\n

(FTR, I've been using convco in other repos)

", + "id": 435830837, + "sender_full_name": "Srid", + "timestamp": 1714282223 + }, + { + "content": "

I did try convco, I wasn’t able to get the “just changelog” command auto-generate unreleased changes starting from previous release. It worked nicely with commitizen

", + "id": 435833680, + "sender_full_name": "Shivaraj B H", + "timestamp": 1714282960 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/CUDA.20acceleration.20in.20ollama.json b/zulip_json/414011-services-flake/CUDA.20acceleration.20in.20ollama.json new file mode 100644 index 00000000000..800bc18d058 --- /dev/null +++ b/zulip_json/414011-services-flake/CUDA.20acceleration.20in.20ollama.json @@ -0,0 +1,56 @@ +[ + { + "content": "

Guys, adding

\n
            **acceleration = "cuda";**\n
\n

has turned into a bit of an inside joke fr me. The resulting error is why I almost gave up on NixOS when I first picked it up a few weeks ago, namely I get the ... has an unfree license (‘CUDA EULA’), refusing to evaluate. whith a prescription for solutions.

\n

I have set the env variable

\n
 $env.NIXPKGS_ALLOW_UNFREE\n1\n
\n

added to my flake

\n
  packages.config.allowUnfree = true;\n
\n

It is my understanding that the allowUnfree property I'm setting is not scoped correctly, but I'm having a tough time figuring out the correct scope.

\n

Found a thread on stackoverflow that probably has the answer but I can't follow it. (square peg/round hole).

\n

My biggest issue is the dissonance between calling a nix file a configuration and what it actually is (IMO) a program. I have yet to crack the language.

\n

I'm going to start here. With some luck I'll be able to fix this by the end of the week :)

", + "id": 446588010, + "sender_full_name": "Ayrton Mercado", + "timestamp": 1719227854 + }, + { + "content": "

Shivaraj B H has marked this topic as unresolved.

", + "id": 446588377, + "sender_full_name": "Notification Bot", + "timestamp": 1719227997 + }, + { + "content": "

A message was moved here from #nixify-llm > ✔ Issues with ollama flake by Shivaraj B H.

", + "id": 446588378, + "sender_full_name": "Notification Bot", + "timestamp": 1719227997 + }, + { + "content": "

@Ayrton Mercado I have to document this, you can use this for now:

\n
# Inside perSystem\n{\n  imports = [\n    \"${inputs.nixpkgs}/nixos/modules/misc/nixpkgs.nix\"\n  ];\n  nixpkgs = {\n    # Required for CUDA\n    config.allowUnfree = true;\n  };\n}\n
", + "id": 446589054, + "sender_full_name": "Shivaraj B H", + "timestamp": 1719228199 + }, + { + "content": "

ollama-flake exports a nixpkgs module that would handle this, but since that’s not the case after upstreaming to services-flake, it wasn’t working out of the box for you.

", + "id": 446589557, + "sender_full_name": "Shivaraj B H", + "timestamp": 1719228319 + }, + { + "content": "

Hold on, there seems to a bug in services-flake that I just fixed: https://github.com/juspay/services-flake/commit/8145ba10cb02dc0a843bba371fc2d42cea7fd226

", + "id": 446592759, + "sender_full_name": "Shivaraj B H", + "timestamp": 1719229412 + }, + { + "content": "

This commit demonstrates how to do it in the current services-flake’s example/llm: https://github.com/shivaraj-bh/services-flake/commit/bf3bf65a920dc6e3b4eb749ec3809fdeaf4b9360

", + "id": 446594731, + "sender_full_name": "Shivaraj B H", + "timestamp": 1719230055 + }, + { + "content": "

Also documented it: https://github.com/juspay/services-flake/commit/fb6de01eb6e7d2ac1c540fd399b9c0f447ce0ab7

", + "id": 446595962, + "sender_full_name": "Shivaraj B H", + "timestamp": 1719230440 + }, + { + "content": "

Shivaraj B H said:

\n
\n

Also documented it: https://github.com/juspay/services-flake/commit/fb6de01eb6e7d2ac1c540fd399b9c0f447ce0ab7

\n
\n

Confirmed on my end, the flake compiles

", + "id": 446607084, + "sender_full_name": "Ayrton Mercado", + "timestamp": 1719233861 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/Compared.20to.20other.20tools.json b/zulip_json/414011-services-flake/Compared.20to.20other.20tools.json new file mode 100644 index 00000000000..214ee71871a --- /dev/null +++ b/zulip_json/414011-services-flake/Compared.20to.20other.20tools.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Adding a comparison table here: https://github.com/juspay/services-flake/pull/135

\n

Currently, comparing with devenv. What other tools should we compare with? And what other aspects?

", + "id": 425393426, + "sender_full_name": "Srid", + "timestamp": 1709844909 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/Darwin.20support.20for.20grafana.json b/zulip_json/414011-services-flake/Darwin.20support.20for.20grafana.json new file mode 100644 index 00000000000..4be9dcf858d --- /dev/null +++ b/zulip_json/414011-services-flake/Darwin.20support.20for.20grafana.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Got the PR merged in upstream, now you can build latest grafana on x86_64-{linux, darwin} and aarch64-{linux, darwin}.

\n

Will update in services-flake, as soon as the release is in nixpkgs-unstable, track the PR here: https://nixpk.gs/pr-tracker.html?pr=297968

", + "id": 429717553, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711478471 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/Docs.json b/zulip_json/414011-services-flake/Docs.json new file mode 100644 index 00000000000..01dc0829247 --- /dev/null +++ b/zulip_json/414011-services-flake/Docs.json @@ -0,0 +1,8 @@ +[ + { + "content": "

https://nixos.asia/en/blog/replacing-docker-compose

", + "id": 425800047, + "sender_full_name": "Srid", + "timestamp": 1710100043 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/Does.20it.20make.20sense.20to.20add.20.60open-browser.60.20as.20a.20service.3F.json b/zulip_json/414011-services-flake/Does.20it.20make.20sense.20to.20add.20.60open-browser.60.20as.20a.20service.3F.json new file mode 100644 index 00000000000..dd4161007fa --- /dev/null +++ b/zulip_json/414011-services-flake/Does.20it.20make.20sense.20to.20add.20.60open-browser.60.20as.20a.20service.3F.json @@ -0,0 +1,14 @@ +[ + { + "content": "

open-browser will use xdg-open on Linux and open on macOS to open the browser once the website is up. This is useful to ensure the user doesn’t have to go through the logs/option definitions. See a case where this can be used: https://github.com/juspay/services-flake/pull/219#issue-2345406734

\n

I think that it doesn’t make sense to add it as a service but instead just document how to create such a process using settings.processes, similar to pgweb example here.

\n

Any thoughts?

", + "id": 444388542, + "sender_full_name": "Shivaraj B H", + "timestamp": 1718258122 + }, + { + "content": "

Let's not prematurely add trivial services. Let's start by documenting them, even using them in examples. And later down the lines we can add them to the official list of services if there's clear value.

", + "id": 444475100, + "sender_full_name": "Srid", + "timestamp": 1718287826 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/GSoC.json b/zulip_json/414011-services-flake/GSoC.json new file mode 100644 index 00000000000..75baf52da45 --- /dev/null +++ b/zulip_json/414011-services-flake/GSoC.json @@ -0,0 +1,14 @@ +[ + { + "content": "

Domen opened a PR to add devenv to GSoC list of projects.

\n

Perhaps we can do the same for services-flakes. I can be a mentor, though I can't obviously open a PR there.

", + "id": 427495591, + "sender_full_name": "Srid", + "timestamp": 1710771574 + }, + { + "content": "

I missed this one, I think it is still not too late, but what tasks are we thinking here?

", + "id": 429717256, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711478363 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/Hard.20to.20see.20when.20I.20try.20to.20quit.json b/zulip_json/414011-services-flake/Hard.20to.20see.20when.20I.20try.20to.20quit.json new file mode 100644 index 00000000000..4b4cfd586b6 --- /dev/null +++ b/zulip_json/414011-services-flake/Hard.20to.20see.20when.20I.20try.20to.20quit.json @@ -0,0 +1,8 @@ +[ + { + "content": "

I don't know if it's because of my alacritty or zsh themes. I'm using catppuccin (mocha) everywhere.

\n

The rest of the UI seems fine.

\n

image.png

\n
", + "id": 440960528, + "sender_full_name": "Bruno Bigras", + "timestamp": 1716868909 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/Java.20process.20leak.json b/zulip_json/414011-services-flake/Java.20process.20leak.json new file mode 100644 index 00000000000..8c271098bbe --- /dev/null +++ b/zulip_json/414011-services-flake/Java.20process.20leak.json @@ -0,0 +1,20 @@ +[ + { + "content": "

Ghost process from an old nixci build on services-flake:

\n

image.png

\n

image.png

\n

image.png

\n

I can't even kill it.

", + "id": 445659476, + "sender_full_name": "Srid", + "timestamp": 1718816149 + }, + { + "content": "

(Well, it stopped after trying to kill process-compose twice)

", + "id": 445659597, + "sender_full_name": "Srid", + "timestamp": 1718816181 + }, + { + "content": "

Something to do with cassandra-test it seems.

", + "id": 445659817, + "sender_full_name": "Srid", + "timestamp": 1718816209 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/Plan.20on.20integrating.20photoprism.20based.20on.20services-flake.json b/zulip_json/414011-services-flake/Plan.20on.20integrating.20photoprism.20based.20on.20services-flake.json new file mode 100644 index 00000000000..dab87b4e392 --- /dev/null +++ b/zulip_json/414011-services-flake/Plan.20on.20integrating.20photoprism.20based.20on.20services-flake.json @@ -0,0 +1,86 @@ +[ + { + "content": "

Hello,
\nfirst of all, thanks for sharing an awesome project !

\n

I'm curious and in the very process of getting a photoprism service running.

\n

Currently I'm using this fine flake of someone, with workarounds not worth detailling, but significantly enough to progress.

\n

So my question ought to be how I would model the mysql setup elaborated back there using services flake ?

\n

Is process-compose the right tool for me then ?

", + "id": 450102341, + "sender_full_name": "corocoton", + "timestamp": 1720514606 + }, + { + "content": "

process-compose is useful to manage services that run in foreground and mainly as a replacement for dev containers, to test your projects' integration with external services (during local development and CI). And also, you needn’t have to be on NixOS to run these services.

\n

photoprism is a service that you will most likely host with an init system (like systemd or launchd) that runs in background. This should work nicely once we have https://github.com/juspay/services-flake/issues/239

", + "id": 450204958, + "sender_full_name": "Shivaraj B H", + "timestamp": 1720539587 + }, + { + "content": "

Shivaraj B H schrieb:

\n
\n

process-compose is useful to manage services that run in foreground and mainly as a replacement for dev containers, to test your projects' integration with external services (during local development and CI). And also, you needn’t have to be on NixOS to run these services.

\n

photoprism is a service that you will most likely host with an init system (like systemd or launchd) that runs in background. This should work nicely once we have https://github.com/juspay/services-flake/issues/239

\n
\n

I want to be able to run that on non-NixOS, that the involved services run in foreground is not an obstacle for me, so let's call it an exercise rather than an enhancement of services-flake.

", + "id": 450283169, + "sender_full_name": "corocoton", + "timestamp": 1720558156 + }, + { + "content": "

I don't know how production-ready that is, but this might be worth looking at: https://github.com/numtide/system-manager

", + "id": 450379745, + "sender_full_name": "Andreas", + "timestamp": 1720599279 + }, + { + "content": "

Works on any non-NixOS distro as long as it is called Ubuntu they say :grinning_face_with_smiling_eyes:

", + "id": 450379864, + "sender_full_name": "Andreas", + "timestamp": 1720599323 + }, + { + "content": "

Andreas schrieb:

\n
\n

I don't know how production-ready that is, but this might be worth looking at: https://github.com/numtide/system-manager

\n
\n

Thanks for that link, I consider adding that to my exercise list than. That's actually systemd --user, why not ?
\nI have at least one use in the flake I use for my systems where that might work pretty well (using systemd-tmpfiles on I dare say Archlinux).

", + "id": 450381121, + "sender_full_name": "corocoton", + "timestamp": 1720599714 + }, + { + "content": "
\n

That's actually systemd --user

\n
\n

Is it? Where did you get that from?

", + "id": 450384135, + "sender_full_name": "Andreas", + "timestamp": 1720600570 + }, + { + "content": "

Andreas schrieb:

\n
\n
\n

That's actually systemd --user

\n
\n

Is it? Where did you get that from?

\n
\n

Let's say I just very much hoped so from a glance at their https://github.com/numtide/system-manager/blob/4d33bfa43cc067dd6ea6a0e41115f27b50cd5a35/README.md?plain=1#L75 ?

\n

How dare they set up non-user services when not on non-NixOS :rolling_on_the_floor_laughing: ?

", + "id": 450385090, + "sender_full_name": "corocoton", + "timestamp": 1720600821 + }, + { + "content": "

Andreas schrieb:

\n
\n
\n

That's actually systemd --user

\n
\n

Is it? Where did you get that from?

\n
\n

but please you know more, tell me.

", + "id": 450385286, + "sender_full_name": "corocoton", + "timestamp": 1720600893 + }, + { + "content": "

I don't know, I haven't tried that thing. But it appears to need root permissions, so I'd guess is manages normal systemd services on Ubuntu?

", + "id": 450385618, + "sender_full_name": "Andreas", + "timestamp": 1720601004 + }, + { + "content": "

Andreas schrieb:

\n
\n

I don't know, I haven't tried that thing. But it appears to need root permissions, so I'd guess is manages normal systemd services on Ubuntu?

\n
\n

Ah ok, then I can strike that from my list immediately, good to know. I was assuming your Ubuntu-remark fun, but with that information makes sense to me too.

", + "id": 450388376, + "sender_full_name": "corocoton", + "timestamp": 1720601943 + }, + { + "content": "

Andreas schrieb:

\n
\n

I don't know, I haven't tried that thing. But it appears to need root permissions, so I'd guess is manages normal systemd services on Ubuntu?

\n
\n

https://github.com/numtide/system-manager/blob/4d33bfa43cc067dd6ea6a0e41115f27b50cd5a35/src/main.rs#L438 proof

", + "id": 450388779, + "sender_full_name": "corocoton", + "timestamp": 1720602042 + }, + { + "content": "

Andreas schrieb:

\n
\n

I don't know, I haven't tried that thing. But it appears to need root permissions, so I'd guess is manages normal systemd services on Ubuntu?

\n
\n

thx for the nitpick.

", + "id": 450389869, + "sender_full_name": "corocoton", + "timestamp": 1720602296 + }, + { + "content": "
\n

I want to be able to run that on non-NixOS, that the involved services run in foreground is not an obstacle for me, so let's call it an exercise rather than an enhancement of services-flake.

\n
\n

@corocoton In that case, you can open an issue in services-flake to add the service and I can check it out when I get sometime.

", + "id": 450449598, + "sender_full_name": "Shivaraj B H", + "timestamp": 1720617393 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/Require.20opinion.20on.20.60example.2Fllm.60.json b/zulip_json/414011-services-flake/Require.20opinion.20on.20.60example.2Fllm.60.json new file mode 100644 index 00000000000..57a98b4f121 --- /dev/null +++ b/zulip_json/414011-services-flake/Require.20opinion.20on.20.60example.2Fllm.60.json @@ -0,0 +1,242 @@ +[ + { + "content": "

I just wanted to get some opinion on two different ways example/llm can run:

\n
    \n
  1. The example will pre-load the models and start Open WebUI. This ensures the user can immediately prompt the model once the WebUI launches. But this has a one-time wait period for pulling the model.
  2. \n
  3. The example will immediately start Open WebUI and the user can load whatever model they want from the “Admin Panel”.
  4. \n
\n

Try out example1: nix run github:juspay/services-flake?dir=example/llm —override-input services-flake github:juspay/services-flake

\n

Try out example2: nix run \"github:drupol/services-flake/fix-open-webui-example?dir=example/llm\" --refresh --override-input services-flake github:juspay/services-flake

\n

PR for example2: https://github.com/juspay/services-flake/pull/227

", + "id": 444681833, + "sender_full_name": "Shivaraj B H", + "timestamp": 1718365310 + }, + { + "content": "

cc @Andreas who has tried this out before.

\n

Perhaps we should invite the PR author (drupol) here.

", + "id": 444705489, + "sender_full_name": "Srid", + "timestamp": 1718373162 + }, + { + "content": "

I'm fine with pre-loading it. It is just an example, but it is an unique example we are also using it for demo (video).

", + "id": 444705643, + "sender_full_name": "Srid", + "timestamp": 1718373208 + }, + { + "content": "

yeah sure, why not invite Drupol!

\n

I've been debugging ollama on docker anyways the last 2 days. Because the dual GPU stack I run has issues of an unclear nature.

", + "id": 444705811, + "sender_full_name": "Andreas", + "timestamp": 1718373252 + }, + { + "content": "

I also like dataDir to remain $HOME/.services-flake/ollama, because then I can always revisit the \"app\" by re-runing nix run ... and play with the model locally. In a way, this example also demonstrates that you can use services-flake not only to run services in development project, but also as an end-user \"app\" (where there's no concept of flake project directory under $HOME, since nix run ... doesn't require it).

", + "id": 444705940, + "sender_full_name": "Srid", + "timestamp": 1718373296 + }, + { + "content": "

Hey hi !

", + "id": 444706369, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718373415 + }, + { + "content": "

I'm @drupol on Github.

", + "id": 444706402, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718373423 + }, + { + "content": "

Hey @Pol Dellaiera and welcome!

", + "id": 444706411, + "sender_full_name": "Andreas", + "timestamp": 1718373425 + }, + { + "content": "

I joined to discuss about this: https://github.com/juspay/services-flake/pull/227#issuecomment-2168096533

", + "id": 444706541, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718373470 + }, + { + "content": "

@Srid Hey I'm here :)

", + "id": 444706643, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718373495 + }, + { + "content": "

Welcome :-)

", + "id": 444706855, + "sender_full_name": "Srid", + "timestamp": 1718373558 + }, + { + "content": "

(I posted about the formatter in #nix )

", + "id": 444706914, + "sender_full_name": "Srid", + "timestamp": 1718373578 + }, + { + "content": "

How about finding a compromise?

\n

services-flake is great because it can save data in the same user directory where the flake.nix belong. Maybe we should establish some kind of ./data directory that is always there (equivalent to the ./state directory in direnv) and add a comment explaining that user is free to change that directory?

\n

Hiding the ollama LLMs under $home/.service-flake/ is definitely too intrusive for me already.

", + "id": 444708159, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718373930 + }, + { + "content": "

How are you using example/llm for your use case? As an actual app seeing everyday use?

", + "id": 444708403, + "sender_full_name": "Srid", + "timestamp": 1718373994 + }, + { + "content": "

No, I use the NixOS service on my side, but I have plenty of colleagues I wish I could show the demo. But Nix is already quite magical for a lot of people and I think it's a good idea to make things clear by not hiding where the files are going to be saved by default.

", + "id": 444708567, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718374046 + }, + { + "content": "

Pol Dellaiera said:

\n
\n

Nix is already quite magical for a lot of people and I think it's a good idea to make things clear by not hiding where the files are going to be saved by default.

\n
\n

Okay, fair enough. I'm happy with using default dataDir then.

", + "id": 444708826, + "sender_full_name": "Srid", + "timestamp": 1718374118 + }, + { + "content": "

Cool, thanks ! :) Do you want me to add a comment in the flake for dataDir ?

", + "id": 444708902, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718374145 + }, + { + "content": "

Instead of removing it, you could just comment out # dataDir = ...

", + "id": 444709042, + "sender_full_name": "Srid", + "timestamp": 1718374200 + }, + { + "content": "

yeah I was about to do that.

", + "id": 444709136, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718374216 + }, + { + "content": "

Also, I still like pre-loading models, so restore models = [ \"llama2-uncensored\" ]; as well.

", + "id": 444709202, + "sender_full_name": "Srid", + "timestamp": 1718374239 + }, + { + "content": "

Sad. I would prefer to start with no LLM so users are free to use whatever they want.

", + "id": 444709379, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718374290 + }, + { + "content": "

And starting with llama2-uncensored is... meh.

", + "id": 444709422, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718374303 + }, + { + "content": "

I mainly want the nix run ... invocation for this example to work 'out of the box' (with little manual poking) as much as possible. I have no preference on the specific model (smaller is generally better)

", + "id": 444709658, + "sender_full_name": "Srid", + "timestamp": 1718374372 + }, + { + "content": "

I mean nowadays we could go llama3 ... or which one would you prefer?

", + "id": 444709699, + "sender_full_name": "Andreas", + "timestamp": 1718374383 + }, + { + "content": "

IMHO - I would not force users to download 4+GB of models on their behalv. I would leave it empty.

", + "id": 444709774, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718374416 + }, + { + "content": "

How about a middle ground? use tinydolphin as the default pre-loaded model, for the purpose of the user to quickly verify if they are able to prompt and get a response. After which they are free to pull whatever model they want from the Admin panel?

", + "id": 444709948, + "sender_full_name": "Shivaraj B H", + "timestamp": 1718374465 + }, + { + "content": "

How big is tinydolphin?

", + "id": 444710106, + "sender_full_name": "Srid", + "timestamp": 1718374512 + }, + { + "content": "

637 MB it seems

", + "id": 444710156, + "sender_full_name": "Andreas", + "timestamp": 1718374532 + }, + { + "content": "

which means it will run on almost any GPU that is supported, which is nice

", + "id": 444710326, + "sender_full_name": "Andreas", + "timestamp": 1718374587 + }, + { + "content": "

so, tinydolphin ?

", + "id": 444710570, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718374680 + }, + { + "content": "

I propose this then,

\n

Have two examples,

\n
    \n
  • examples/ollama-ui: basically our current example but with all of @Pol Dellaiera 's suggestions (no custom dataDir; no pre-loaded models)
  • \n
  • examples/llm: a new example that imports the previous example (shared service) and sets the two things only -- dataDir and models (here, we can use a good model without size restriction)
  • \n
\n

For video demo (on X and for docs), we can use the latter example.

", + "id": 444710764, + "sender_full_name": "Srid", + "timestamp": 1718374732 + }, + { + "content": "

The later can also serve as a demonstration of sharing of services.

", + "id": 444710875, + "sender_full_name": "Srid", + "timestamp": 1718374763 + }, + { + "content": "

As you wish guys... this is your project :)

", + "id": 444711152, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718374848 + }, + { + "content": "

Srid said:

\n
\n

For video demo (on X and for docs), we can use the latter example.

\n
\n

And in future, we can tell people \"if you want to see what services-flake can do, run nix run ...\" (pointing to this latter example)

", + "id": 444711183, + "sender_full_name": "Srid", + "timestamp": 1718374854 + }, + { + "content": "

perhaps choose a slightly more specific name for examples/llm... idk what you guys typically go for, examples/ollama-preloaded maybe?

", + "id": 444711211, + "sender_full_name": "Andreas", + "timestamp": 1718374861 + }, + { + "content": "

Yea, good idea

", + "id": 444711261, + "sender_full_name": "Srid", + "timestamp": 1718374871 + }, + { + "content": "

By the way, how do you manage to not use --impure and write in the current directory? What's the magic trick ?

", + "id": 444711286, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718374877 + }, + { + "content": "

Cool, I will merge @Pol Dellaiera ’s PR once the models is removed to demonstrate only the open-webui. I will rename the example/llm to example/open-webui in a different PR. And then add example/ollama-preloaded in another one.

\n

Sounds good?

", + "id": 444712275, + "sender_full_name": "Shivaraj B H", + "timestamp": 1718375171 + }, + { + "content": "

Done.

", + "id": 444712464, + "sender_full_name": "Pol Dellaiera", + "timestamp": 1718375238 + }, + { + "content": "

Pol Dellaiera said:

\n
\n

By the way, how do you manage to not use --impure and write in the current directory? What's the magic trick ?

\n
\n

nix run doesn’t require pure evaluation mode

", + "id": 444713027, + "sender_full_name": "Shivaraj B H", + "timestamp": 1718375422 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/Weaviate.json b/zulip_json/414011-services-flake/Weaviate.json new file mode 100644 index 00000000000..17a275ae1a4 --- /dev/null +++ b/zulip_json/414011-services-flake/Weaviate.json @@ -0,0 +1,164 @@ +[ + { + "content": "

I looked through documentation of Weaviate but I cant find how to run Weaviate locally.

", + "id": 440079291, + "sender_full_name": "Mahdi Seyedan", + "timestamp": 1716380451 + }, + { + "content": "
nix run nixpkgs#weaviate -- --scheme=http\n
", + "id": 440085062, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716382439 + }, + { + "content": "

That uses all the default configs, except I ask it not to use TLS, otherwise you will have to provide the location to the certificates and a bunch of other TLS related stuff

", + "id": 440085236, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716382496 + }, + { + "content": "

In services-flake, we can assume it is http by default — as we only target local development and CI workflows.

", + "id": 440085525, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716382588 + }, + { + "content": "

I wrote this basic weaviate process:

\n
{\n  settings.processes.weaviate1.command = pkgs.writeShellApplication {\n    name = \"start-weaviate\";\n    runtimeInputs = [ pkgs.weaviate ];\n    text = ''\n      exec weaviate --scheme=http --host 0.0.0.0 --port 8080\n    '';\n  };\n}\n
\n

But I don't know why running it doesn't always produce logs
\nswappy-20240522_175414.png
\nswappy-20240522_175259.png

\n
", + "id": 440106578, + "sender_full_name": "Mahdi Seyedan", + "timestamp": 1716388308 + }, + { + "content": "

I am not very certain, but it could be an upstream process-compose bug. I have noticed that when you switch back to the process you see logs, you can do that if there are more than one processes

", + "id": 440126817, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716393531 + }, + { + "content": "

Anyways, you could also pass “-t=false” to process-compose to disable TUI mode

", + "id": 440126943, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716393565 + }, + { + "content": "

That should do that job as well

", + "id": 440126962, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716393570 + }, + { + "content": "

Right now this is my weaviate.nix file:

\n
{ pkgs, lib, name, config, ... }:\nlet\n  inherit (lib) types;\nin\n{\n  options = {\n    enable = lib.mkEnableOption name;\n\n    package = lib.mkPackageOption pkgs \"weaviate\" { };\n\n    outputs.settings = lib.mkOption {\n      type = types.deferredModule;\n      internal = true;\n      readOnly = true;\n      default = {\n        processes = {\n          \"${name}\" =\n            let\n              startScript = pkgs.writeShellApplication {\n                name = \"start-weaviate\";\n                runtimeInputs = [ config.package ];\n                text = ''\n                  exec weaviate --scheme=http --host 0.0.0.0 --port 8080\n                '';\n              };\n\n              readyScript = pkgs.writeText \"ready.py\" ''\n                import weaviate\n                client = weaviate.connect_to_local(port=8080)\n                client.close()\n              '';\n            in\n            {\n              command = startScript;\n\n              readiness_probe = {\n                exec.command = \"${(pkgs.python3.withPackages (p: [ p.weaviate-client ]))}/bin/python ${readyScript}\";\n                initial_delay_seconds = 2;\n                period_seconds = 10;\n                timeout_seconds = 4;\n                success_threshold = 1;\n                failure_threshold = 5;\n              };\n              namespace = name;\n\n              # https://github.com/F1bonacc1/process-compose#-auto-restart-if-not-healthy\n              availability.restart = \"on_failure\";\n            };\n        };\n      };\n    };\n  };\n}\n
\n

and this is weaviate_test.nix file:

\n
{ pkgs, config, ... }: {\n  services.weaviate.\"weaviate1\".enable = true;\n\n  settings.processes.test =\n    let\n      cfg = config.services.weaviate.\"weaviate1\";\n      testScript = pkgs.writeText \"test.py\" ''\n        import weaviate\n\n        client = weaviate.connect_to_local(\n            port=8080,\n        )\n        client.close()\n      '';\n    in\n    {\n      command = pkgs.writeShellApplication {\n        runtimeInputs = [\n          cfg.package\n          (pkgs.python3.withPackages (python-pkgs: [\n            python-pkgs.weaviate-client\n          ]))\n        ];\n        text = ''\n          exec python3 ${testScript}\n        '';\n        name = \"weaviate-test\";\n      };\n      depends_on.\"weaviate1\".condition = \"process_healthy\";\n    };\n}\n
\n

command just run weaviate works fine but when i run just test weaviate I get error:
\nswappy-20240522_235102.png

\n
", + "id": 440178687, + "sender_full_name": "Mahdi Seyedan", + "timestamp": 1716410270 + }, + { + "content": "

can’t reproduce. Tried it on macOS the test is passing.

", + "id": 440316022, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716468731 + }, + { + "content": "

I added other config options and even doc in this commit. Can you see if there is anything missing

", + "id": 440316261, + "sender_full_name": "Mahdi Seyedan", + "timestamp": 1716468806 + }, + { + "content": "

I can reproduce your error on linux

", + "id": 440316504, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716468887 + }, + { + "content": "
\n

I added other config options and even doc in this commit. Can you see if there is anything missing

\n
\n

Looks neat! Only missing piece will be the test failing on linux. Weaviate is doing something different on macOS, it works there.

", + "id": 440317226, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716469110 + }, + { + "content": "

It works with just run weaviate right?

", + "id": 440317460, + "sender_full_name": "Mahdi Seyedan", + "timestamp": 1716469188 + }, + { + "content": "

And the only difference i can see is running process-compose with -t=false flag

", + "id": 440318378, + "sender_full_name": "Mahdi Seyedan", + "timestamp": 1716469457 + }, + { + "content": "

I added --no-sandbox to

\n
test service:\n    nix --no-sandbox build ./test#checks.$(nix eval --impure --expr \"builtins.currentSystem\").{{service}} --override-input services-flake . -L\n
\n

and it works

", + "id": 440335675, + "sender_full_name": "Mahdi Seyedan", + "timestamp": 1716474515 + }, + { + "content": "
\n

I added other config options and even doc in this commit. Can you see if there is anything missing

\n
\n

You are missing dataDir option for the service

", + "id": 440465935, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716540182 + }, + { + "content": "

Also, Usage of the weaviate.conf.json file is deprecated and will be removed in the future. Please use environment variables.

", + "id": 440471909, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716542405 + }, + { + "content": "

I changed the configs to use environment variables commit also added dataDir option.

\n

and found a better way to check for readiness and for test without the python scripts. commit

", + "id": 440514571, + "sender_full_name": "Mahdi Seyedan", + "timestamp": 1716558911 + }, + { + "content": "

Great!

\n
\n

I added --no-sandbox to and it works

\n
\n

I don’t why weaviate would require to disable sandbox mode.

", + "id": 440529968, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716564062 + }, + { + "content": "

I thought it was because of weaviate telemetry but even after disabling it, test won't pass.

", + "id": 440531175, + "sender_full_name": "Mahdi Seyedan", + "timestamp": 1716564572 + }, + { + "content": "

I think I figured it out. It has to do with https://github.com/hashicorp/memberlist. Although I am yet to find the exact reason, but setting this ENV makes the test pass:

\n
diff --git a/nix/weaviate_test.nix b/nix/weaviate_test.nix\nindex a766c58..31d7975 100644\n--- a/nix/weaviate_test.nix\n+++ b/nix/weaviate_test.nix\n@@ -1,5 +1,10 @@\n { pkgs, config, ... }: {\n-  services.weaviate."weaviate1".enable = true;\n+  services.weaviate."weaviate1" = {\n+    enable = true;\n+    envs = {\n+      CLUSTER_ADVERTISE_ADDR = "127.0.0.1";\n+    };\n+  };\n\n   settings.processes.test =\n     let\n
", + "id": 440532050, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716564828 + }, + { + "content": "

This is what lead me to it: https://github.com/weaviate/weaviate/blob/9e924cc88933b3042e27e30ad4abf26ab9ab78f8/usecases/cluster/state.go#L84-L86

", + "id": 440532706, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716565068 + }, + { + "content": "

I think it has to do with the fact that the default value for AdvertiseAddr config is an empty string: https://github.com/hashicorp/memberlist/blob/3f82dc10a89f82efe300228752f7077d0d9f87e4/config.go#L308

\n

But what I fail to understand is, how does it work when sandbox is disabled. I think the question can be better framed as: What does empty addr translate to?

", + "id": 440533450, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716565407 + }, + { + "content": "

When AdvertiseAddr is empty it goes to this path:
\nhttps://github.com/hashicorp/memberlist/blob/3f82dc10a89f82efe300228752f7077d0d9f87e4/net_transport.go#L160

\n

and calls GetPrivateIP function which I guess in sandbox mode can't find any ip

", + "id": 440542394, + "sender_full_name": "Mahdi Seyedan", + "timestamp": 1716568718 + }, + { + "content": "

Should i use types.raw as type of value of environment? other than int, str, list of str and bool, is there anything else? at least for environment values of weaviate

", + "id": 440759946, + "sender_full_name": "Mahdi Seyedan", + "timestamp": 1716775309 + }, + { + "content": "

I forgot to update envs to environment in weaviate.md file
\nhttps://github.com/juspay/services-flake/blob/main/doc/weaviate.md?plain=1#L32

", + "id": 441010077, + "sender_full_name": "Mahdi Seyedan", + "timestamp": 1716892334 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/cargo-doc-live.20initial.20PR.json b/zulip_json/414011-services-flake/cargo-doc-live.20initial.20PR.json new file mode 100644 index 00000000000..bc22a0d01ea --- /dev/null +++ b/zulip_json/414011-services-flake/cargo-doc-live.20initial.20PR.json @@ -0,0 +1,266 @@ +[ + { + "content": "

I am trying to integrate cargo-doc-live into services-flake, I added cargo-doc-live for nixci https://github.com/juspay/services-flake/pull/246/commits/7877ddc635eb45ebe0b71f02bc529065f06b6c5f#diff-206b9ce276ab5971a2489d75eb1b12999d4bf3843b7988cbe8d687cfde61dea0R31-R34, it errors out since it's not running the build in the example/cargo-doc-live directory

\n

the error says:

\n
cargo-doc-live-test> + process-compose --no-server -t=false\ncargo-doc-live-test> [cargo-doc-live1-cargo-doc ] error: project root does not exist\n
\n

any way I could run the nixci in the specified directory instead of top directory of services-flake?

", + "id": 446489275, + "sender_full_name": "Hao Liu", + "timestamp": 1719187194 + }, + { + "content": "

Srid has marked this topic as unresolved.

", + "id": 446491401, + "sender_full_name": "Notification Bot", + "timestamp": 1719188809 + }, + { + "content": "

@Hao Liu It should not matter from which directory you run nix build <flake-url> (which is what nixci build does essentially) on, because nix builds are pure anyway.

", + "id": 446493416, + "sender_full_name": "Srid", + "timestamp": 1719190344 + }, + { + "content": "
error: project root does not exist\n
\n

Where's this error originating from?

\n

Take a look at how we set project root to the repo root in other places, e.g.: https://github.com/juspay/services-flake/blob/641937bc0f523405fbac4bb89c074de613dcee4d/dev/flake.nix#L26

", + "id": 446493576, + "sender_full_name": "Srid", + "timestamp": 1719190392 + }, + { + "content": "

@Srid this is how I set the projectRoot in example https://github.com/juspay/services-flake/pull/246/files#diff-1cb9f37420e339a53fbd8b86243c074e2c4a3c93072a31a5ca73133054a63572R26

", + "id": 446493896, + "sender_full_name": "Hao Liu", + "timestamp": 1719190479 + }, + { + "content": "

the error error: project root does not exist is from cargo-watch when it could find a Rust project to watch on

", + "id": 446494015, + "sender_full_name": "Hao Liu", + "timestamp": 1719190509 + }, + { + "content": "

This is where the flake check is defined: https://github.com/Platonic-Systems/process-compose-flake/blob/main/nix/process-compose/test.nix

", + "id": 446494275, + "sender_full_name": "Srid", + "timestamp": 1719190583 + }, + { + "content": "

Looks we need a cd there before running pc

", + "id": 446494292, + "sender_full_name": "Srid", + "timestamp": 1719190601 + }, + { + "content": "

More generally, what if our process-compose test depends on $PWD being set to something? That sounds like a feature request to https://github.com/Platonic-Systems/process-compose-flake repo

", + "id": 446494341, + "sender_full_name": "Srid", + "timestamp": 1719190639 + }, + { + "content": "

you mean instead of hardcoded cd $HOME, introduce an option to enter a different directory like $PWD?

", + "id": 446494463, + "sender_full_name": "Hao Liu", + "timestamp": 1719190729 + }, + { + "content": "

Haven't fully thought about it, but yes maybe something like that.

", + "id": 446494646, + "sender_full_name": "Srid", + "timestamp": 1719190827 + }, + { + "content": "

Or it could be something like preHook option we already have

", + "id": 446494672, + "sender_full_name": "Srid", + "timestamp": 1719190843 + }, + { + "content": "
preHook = ''\n  cd ${inputs.self}\n'';\n
\n

won't work due to permission issue,

\n
✔ ~/services-flake/example/cargo-doc-live [add-cargo-doc-live|✚ 1…1]\n11:07 $ result/bin/cargo-doc-live\n+ process-compose --no-server\n[cargo-doc-live1-cargo-doc  ] [Running 'run-cargo-doc']\n[cargo-doc-live1-cargo-doc  ] error: Permission denied (os error 13) at path "/nix/store/a0vgclrrfn2svimc56k96m0nm0xvlndi-source/example/cargo-doc-live/targetwM02VI"\n
", + "id": 446495870, + "sender_full_name": "Hao Liu", + "timestamp": 1719191304 + }, + { + "content": "
preHook = ''\n  cp -r ${inputs.self} $HOME/project\n  cd ~/project\n'';\n
", + "id": 446496590, + "sender_full_name": "Srid", + "timestamp": 1719191510 + }, + { + "content": "

image.png

\n
", + "id": 446496934, + "sender_full_name": "Hao Liu", + "timestamp": 1719191717 + }, + { + "content": "

Yes, writeShellApplication uses shellcheck, so the script should conform to it.

", + "id": 446497348, + "sender_full_name": "Srid", + "timestamp": 1719192035 + }, + { + "content": "

ahh, no wonder :)

", + "id": 446497360, + "sender_full_name": "Hao Liu", + "timestamp": 1719192053 + }, + { + "content": "

the same permission issue after copying to my home dir

\n
11:21 $ result/bin/cargo-doc-live\n+ process-compose --no-server\n[cargo-doc-live1-cargo-doc  ] [Running 'run-cargo-doc']\n[cargo-doc-live1-cargo-doc  ] error: Permission denied (os error 13) at path "/home/hao/project/targetuijuhb"\n[cargo-doc-live1-cargo-doc  ] Browsersync not running at http://localhost:8009\n
", + "id": 446497418, + "sender_full_name": "Hao Liu", + "timestamp": 1719192105 + }, + { + "content": "

should I introduce a chown?

", + "id": 446497514, + "sender_full_name": "Hao Liu", + "timestamp": 1719192177 + }, + { + "content": "

Yes.

", + "id": 446497675, + "sender_full_name": "Srid", + "timestamp": 1719192301 + }, + { + "content": "

chown $USER $HOME/project won't work ...

", + "id": 446498000, + "sender_full_name": "Hao Liu", + "timestamp": 1719192545 + }, + { + "content": "

and putting preHook in example/cargo-doc-live/flake.nix doesn't feel right since the user of the service should not bother to know that :D

", + "id": 446498036, + "sender_full_name": "Hao Liu", + "timestamp": 1719192592 + }, + { + "content": "

chmod -R a+...

", + "id": 446498685, + "sender_full_name": "Srid", + "timestamp": 1719193105 + }, + { + "content": "

https://github.com/srid/haskell-flake/blob/3f76199d42d55e3a36bf8e8e0544e715d6a3f007/nix/modules/project/hls-check.nix#L23-L24

", + "id": 446498703, + "sender_full_name": "Srid", + "timestamp": 1719193133 + }, + { + "content": "

Hao Liu said:

\n
\n

and putting preHook in example/cargo-doc-live/flake.nix doesn't feel right since the user of the service should not bother to know that :D

\n
\n

I suggest doing this by hand then - i.e., write the flake check yourself, and then we can see how it can be abstracted out.

", + "id": 446498755, + "sender_full_name": "Srid", + "timestamp": 1719193199 + }, + { + "content": "

@Srid copying the project to HOME will stop the realtime update from happening since the user is updating the doc in example/cargo-doc-live while the BrowserSync is watching the folder in HOME

", + "id": 446500938, + "sender_full_name": "Hao Liu", + "timestamp": 1719194837 + }, + { + "content": "

When the flake check is built, where is the user involved?

", + "id": 446501060, + "sender_full_name": "Srid", + "timestamp": 1719194896 + }, + { + "content": "

ahh, indeed, no user will involve at the testing stage

", + "id": 446501131, + "sender_full_name": "Hao Liu", + "timestamp": 1719194960 + }, + { + "content": "

@Hao Liu This preHook stuff should be added to the test only, of course.

", + "id": 446501575, + "sender_full_name": "Srid", + "timestamp": 1719195328 + }, + { + "content": "

Which is why I suggested further above as to how this may well be a PR to process-compose-flake

", + "id": 446501684, + "sender_full_name": "Srid", + "timestamp": 1719195401 + }, + { + "content": "

But better to add flake check manually, because we don't know yet what the best API design here is.

", + "id": 446501708, + "sender_full_name": "Srid", + "timestamp": 1719195426 + }, + { + "content": "

indeed

", + "id": 446501730, + "sender_full_name": "Hao Liu", + "timestamp": 1719195451 + }, + { + "content": "

Hao Liu said:

\n
\n

indeed

\n
\n

You realize, this commit adds the preHook stuff to more than the test, right?

", + "id": 446502610, + "sender_full_name": "Srid", + "timestamp": 1719196122 + }, + { + "content": "

i.e., nix run is impacted too.

", + "id": 446502619, + "sender_full_name": "Srid", + "timestamp": 1719196139 + }, + { + "content": "

yes, should only the checks to be impacted, right?

", + "id": 446502742, + "sender_full_name": "Hao Liu", + "timestamp": 1719196241 + }, + { + "content": "

The whole point is to fix this test failure, is it not?

\n
error: project root does not exist\n
\n

This error occurs only in tests, does it not?

", + "id": 446502778, + "sender_full_name": "Srid", + "timestamp": 1719196286 + }, + { + "content": "

yes, it's only there for test

", + "id": 446502792, + "sender_full_name": "Hao Liu", + "timestamp": 1719196304 + }, + { + "content": "

So, do you see how that commit is not doing it only for test?

", + "id": 446502870, + "sender_full_name": "Srid", + "timestamp": 1719196356 + }, + { + "content": "

I reckon I will move this under test package, will read process-compose-flake for how to

", + "id": 446502895, + "sender_full_name": "Hao Liu", + "timestamp": 1719196386 + }, + { + "content": "

I am trying to move it under settings.processes.test

", + "id": 446503555, + "sender_full_name": "Hao Liu", + "timestamp": 1719197003 + }, + { + "content": "

(deleted)

", + "id": 446503910, + "sender_full_name": "Hao Liu", + "timestamp": 1719197206 + }, + { + "content": "

@Srid there doesn't seem to be a way to have a preHook specifically for test process

", + "id": 446513517, + "sender_full_name": "Hao Liu", + "timestamp": 1719202226 + }, + { + "content": "

Ya, as I said above.

", + "id": 446516152, + "sender_full_name": "Srid", + "timestamp": 1719203709 + }, + { + "content": "

a feature request to process-compose-flake?

", + "id": 446516277, + "sender_full_name": "Hao Liu", + "timestamp": 1719203776 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/custom.20local.20service.json b/zulip_json/414011-services-flake/custom.20local.20service.json new file mode 100644 index 00000000000..5996b66360c --- /dev/null +++ b/zulip_json/414011-services-flake/custom.20local.20service.json @@ -0,0 +1,20 @@ +[ + { + "content": "

Is there a simple way to run a service by only adding something to my flake.nix file without having to upstream it? I guess I'm interested in both knowing how to import a service file that uses the same format as upstream and a way to set up a service with just a command (like nats-server --js.

", + "id": 440542921, + "sender_full_name": "Bruno Bigras", + "timestamp": 1716568939 + }, + { + "content": "

Yes, there is. See the pgweb service here: https://github.com/juspay/services-flake/blob/5ffae902f78b8f31416e5667ab95c40ee7a5ebef/example/simple/flake.nix#L42-L61

", + "id": 440612147, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716617177 + }, + { + "content": "

And here’s an example of a service that doesn’t exist upstream but is only specific to the project: https://github.com/nammayatri/nammayatri/blob/main/Backend/nix/services/postgres-with-replica.nix

\n

And one more example: https://github.com/nammayatri/passetto/blob/nixify/process-compose.nix. This service is imported in nammayatri: https://github.com/nammayatri/nammayatri/blob/e8032f1fac3581b9062e2469dfc778d2913d3665/Backend/nix/services/nammayatri.nix#L32

\n

and it is configured like: https://github.com/nammayatri/nammayatri/blob/e8032f1fac3581b9062e2469dfc778d2913d3665/Backend/nix/services/nammayatri.nix#L285-L297

", + "id": 440612359, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716617418 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/dataDir.20for.20postgres.20service.20has.20incorrect.20permissions.json b/zulip_json/414011-services-flake/dataDir.20for.20postgres.20service.20has.20incorrect.20permissions.json new file mode 100644 index 00000000000..c90ea3e956c --- /dev/null +++ b/zulip_json/414011-services-flake/dataDir.20for.20postgres.20service.20has.20incorrect.20permissions.json @@ -0,0 +1,182 @@ +[ + { + "content": "

I'm running into the local run directory for process-compose that I set with dataDir having the wrong permissions and its unable to initialize the database. Its possible the system has auto new directories having specific permissions, but I think we should check for that?

", + "id": 405175107, + "sender_full_name": "tgunnoe", + "timestamp": 1701368721 + }, + { + "content": "

Maybe something here: https://github.com/juspay/services-flake/blob/main/nix/postgres.nix#L354-L357

", + "id": 405175502, + "sender_full_name": "tgunnoe", + "timestamp": 1701368866 + }, + { + "content": "

What do you mean by \"wrong permissions\"? For reference, this is what I see on my local machine (which happens to be a mac) when I nix run the example in the repo,

\n
 ls -ld data/\ndrwxr-xr-x 4 srid staff 128 Nov 30 13:28 data/\n\n❯ ls -ld data/pg1/global\ndrwx------ 63 srid staff 2016 Nov 30 13:28 data/pg1/global\n
", + "id": 405175860, + "sender_full_name": "Srid", + "timestamp": 1701368996 + }, + { + "content": "

And

\n
 ls -dl data/pg1\ndrwx------ 25 srid staff 800 Nov 30 13:28 data/pg1\n
\n
\n

its unable to initialize the database

\n
\n

Could you post the error? Maybe initdb requires data directory to not be world-readable.

", + "id": 405176418, + "sender_full_name": "Srid", + "timestamp": 1701369181 + }, + { + "content": "

image-4.png

\n
", + "id": 405176659, + "sender_full_name": "tgunnoe", + "timestamp": 1701369266 + }, + { + "content": "

Oh it is a locale related issue?

", + "id": 405177040, + "sender_full_name": "Srid", + "timestamp": 1701369413 + }, + { + "content": "

sorry, looks unrelated :sweat_smile: but this is the start of it. I am troubleshooting someone elses environment. when he goes to run the postgres init again, then its a permissions issue

", + "id": 405177133, + "sender_full_name": "tgunnoe", + "timestamp": 1701369456 + }, + { + "content": "

By the way, you can also pass -t=false arguments to get flat interleaved log output that is easier to copy-paste.

\n
# Example\nnix run . -- -t=false up\n
", + "id": 405177397, + "sender_full_name": "Srid", + "timestamp": 1701369556 + }, + { + "content": "

good to know. seems the selection mode in process-compose doesn't work well

", + "id": 405177499, + "sender_full_name": "tgunnoe", + "timestamp": 1701369591 + }, + { + "content": "

There is also the log_location (in #process-compose-flake) option to have it write to a log file

", + "id": 405177649, + "sender_full_name": "Srid", + "timestamp": 1701369638 + }, + { + "content": "

tgunnoe said:

\n
\n

image-4.png

\n
\n

Error in screenshot:

\n
initdb: error: invalid locale settings: check LANG and LC_* environment variables\n
\n

Perhaps services-flake should explicitly set this env. cc @Shivaraj B H

\n

Ref: https://stackoverflow.com/a/42111789/55246

", + "id": 405177957, + "sender_full_name": "Srid", + "timestamp": 1701369740 + }, + { + "content": "

tgunnoe said:

\n
\n

sorry, looks unrelated :sweat_smile: but this is the start of it. I am troubleshooting someone elses environment. when he goes to run the postgres init again, then its a permissions issue

\n
\n

What's the permission issue in particular?

", + "id": 405178113, + "sender_full_name": "Srid", + "timestamp": 1701369811 + }, + { + "content": "

Can this problem be reproduced in another system? Then we have a bug report as well.

", + "id": 405178181, + "sender_full_name": "Srid", + "timestamp": 1701369838 + }, + { + "content": "

What should services-flake set those vars to?

", + "id": 405178957, + "sender_full_name": "tgunnoe", + "timestamp": 1701370105 + }, + { + "content": "

Probably the same as those in StackOverflow answer, so:

\n
export LC_ALL="en_US.UTF-8"\nexport LC_CTYPE="en_US.UTF-8"\n
", + "id": 405179341, + "sender_full_name": "Srid", + "timestamp": 1701370224 + }, + { + "content": "

would setting them in the shell before running process compose not be the same result?

", + "id": 405179518, + "sender_full_name": "tgunnoe", + "timestamp": 1701370283 + }, + { + "content": "

I'd think so, yes.

", + "id": 405179616, + "sender_full_name": "Srid", + "timestamp": 1701370316 + }, + { + "content": "

Here's another answer from Nix context which suggests adding the glibcLocales package to the environment.

", + "id": 405179637, + "sender_full_name": "Srid", + "timestamp": 1701370322 + }, + { + "content": "

that's a good bet

", + "id": 405179818, + "sender_full_name": "tgunnoe", + "timestamp": 1701370385 + }, + { + "content": "

image-6.png
\nwell more logs in the latest, but still the same. i need to mess up my locales to solve this

\n
", + "id": 405182280, + "sender_full_name": "tgunnoe", + "timestamp": 1701371174 + }, + { + "content": "

because its using the nix devshell, something needs to be set properly there. ah

", + "id": 405182448, + "sender_full_name": "tgunnoe", + "timestamp": 1701371234 + }, + { + "content": "

The \"cannot change locale\" warnings are concerning.

", + "id": 405182721, + "sender_full_name": "Srid", + "timestamp": 1701371316 + }, + { + "content": "

yeah. its trying to setlocale from within process compose in a nix shell :melting_face:

", + "id": 405183337, + "sender_full_name": "tgunnoe", + "timestamp": 1701371505 + }, + { + "content": "

https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/build-managers/msbuild/default.nix#L49-L52

\n
# https://github.com/NixOS/nixpkgs/issues/38991\n  # bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)\n  env.LOCALE_ARCHIVE = lib.optionalString stdenv.hostPlatform.isLinux "${glibcLocales}/lib/locale/locale-archive";\n
", + "id": 405184275, + "sender_full_name": "tgunnoe", + "timestamp": 1701371848 + }, + { + "content": "

would this be enough as an env in the shell? or i wonder, does nixpkgs glibc have a general issue

", + "id": 405184836, + "sender_full_name": "tgunnoe", + "timestamp": 1701372080 + }, + { + "content": "
\n

would this be enough as an env in the shell?

\n
\n

Probably.

\n

We might even want to add this to service-flake.

", + "id": 405185063, + "sender_full_name": "Srid", + "timestamp": 1701372177 + }, + { + "content": "

I've had locale issues on emanote (which too uses Nix) as well:

\n

https://github.com/srid/emanote/issues/125

\n

So, certainly not limited to postgres here.

", + "id": 405185181, + "sender_full_name": "Srid", + "timestamp": 1701372228 + }, + { + "content": "

@tgunnoe Perhaps you can create an issue in services-flake and we can track it there?

", + "id": 405191751, + "sender_full_name": "Shivaraj B H", + "timestamp": 1701374506 + }, + { + "content": "

I will. could it be something with lib.getExe?

", + "id": 405223660, + "sender_full_name": "tgunnoe", + "timestamp": 1701385351 + }, + { + "content": "
\n

could it be something with lib.getExe?

\n
\n

Not sure, but a way to reproduce would be great to debug

", + "id": 405346315, + "sender_full_name": "Shivaraj B H", + "timestamp": 1701431905 + } +] \ No newline at end of file diff --git a/zulip_json/414011-services-flake/stream.20events.json b/zulip_json/414011-services-flake/stream.20events.json new file mode 100644 index 00000000000..e3e1cc95074 --- /dev/null +++ b/zulip_json/414011-services-flake/stream.20events.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Web-public stream created by Srid. Description:

\n
\n

Discussion of https://github.com/juspay/services-flake

\n
", + "id": 403652388, + "sender_full_name": "Notification Bot", + "timestamp": 1700680731 + } +] \ No newline at end of file diff --git a/zulip_json/414022-process-compose-flake/Alternative.20to.20F.3Cn.3E.20keys.json b/zulip_json/414022-process-compose-flake/Alternative.20to.20F.3Cn.3E.20keys.json new file mode 100644 index 00000000000..0e76905e944 --- /dev/null +++ b/zulip_json/414022-process-compose-flake/Alternative.20to.20F.3Cn.3E.20keys.json @@ -0,0 +1,56 @@ +[ + { + "content": "

Nice!

\n

image.png

\n
", + "id": 422835205, + "sender_full_name": "David Arnold", + "timestamp": 1708614210 + }, + { + "content": "

A message was moved here from #process-compose-flake > process-compose log in GitHub runners by Srid.

", + "id": 422835392, + "sender_full_name": "Notification Bot", + "timestamp": 1708614257 + }, + { + "content": "

Not so nice

\n

(I don't have F keys)

\n

What can I do?

\n

image.png

\n
", + "id": 422835406, + "sender_full_name": "David Arnold", + "timestamp": 1708614262 + }, + { + "content": "

Your OS might have have a way to simulate one. Or, is there a 'Fn' key on keyboard? You can press Fn+number key as well.

", + "id": 422835464, + "sender_full_name": "Srid", + "timestamp": 1708614283 + }, + { + "content": "

If nothing else, we have to file an issue asking the maintainer: https://github.com/F1bonacc1/process-compose

", + "id": 422835523, + "sender_full_name": "Srid", + "timestamp": 1708614299 + }, + { + "content": "

image.png

\n
", + "id": 422835667, + "sender_full_name": "David Arnold", + "timestamp": 1708614338 + }, + { + "content": "

I could bind them somewhere, but I've lived a long time without them, already.

", + "id": 422835915, + "sender_full_name": "David Arnold", + "timestamp": 1708614407 + }, + { + "content": "

Maybe there:

\n

image.png

\n
", + "id": 422836035, + "sender_full_name": "David Arnold", + "timestamp": 1708614443 + }, + { + "content": "
\n

You can press Fn+number key as well.

\n
\n

That would then work.

", + "id": 422836375, + "sender_full_name": "David Arnold", + "timestamp": 1708614528 + } +] \ No newline at end of file diff --git a/zulip_json/414022-process-compose-flake/Branding.json b/zulip_json/414022-process-compose-flake/Branding.json new file mode 100644 index 00000000000..c86158fb608 --- /dev/null +++ b/zulip_json/414022-process-compose-flake/Branding.json @@ -0,0 +1,20 @@ +[ + { + "content": "

Can I brand this?

\n

image.png

\n
", + "id": 422836263, + "sender_full_name": "David Arnold", + "timestamp": 1708614499 + }, + { + "content": "

This would also be a question to the maintainer at https://github.com/F1bonacc1/process-compose

", + "id": 422847978, + "sender_full_name": "Srid", + "timestamp": 1708617253 + }, + { + "content": "

https://github.com/F1bonacc1/process-compose/issues/143

", + "id": 422867580, + "sender_full_name": "David Arnold", + "timestamp": 1708622802 + } +] \ No newline at end of file diff --git a/zulip_json/414022-process-compose-flake/Hard.20to.20see.20when.20I.20try.20to.20quit.json b/zulip_json/414022-process-compose-flake/Hard.20to.20see.20when.20I.20try.20to.20quit.json new file mode 100644 index 00000000000..2efa64954cf --- /dev/null +++ b/zulip_json/414022-process-compose-flake/Hard.20to.20see.20when.20I.20try.20to.20quit.json @@ -0,0 +1,44 @@ +[ + { + "content": "

I don't know if it's because of my alacritty or zsh themes. I'm using catppuccin (mocha) everywhere.

\n

The rest of the UI seems fine.

\n

image.png

\n
", + "id": 440960528, + "sender_full_name": "Bruno Bigras", + "timestamp": 1716868909 + }, + { + "content": "

process-compose does allow to configure custom themes: https://f1bonacc1.github.io/process-compose/tui/?h=theme#tui-themes

\n

(Moving this topic to #process-compose-flake )

", + "id": 440979939, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716881484 + }, + { + "content": "

This topic was moved here from #services-flake > Hard to see when I try to quit by Shivaraj B H.

", + "id": 440980051, + "sender_full_name": "Notification Bot", + "timestamp": 1716881523 + }, + { + "content": "

Also, if you don’t like TUI mode, you can disable it too: nix run . -- -t=false

", + "id": 441002498, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716889460 + }, + { + "content": "

With the default theme, does everyone see the same thing as me? If so, maybe the exit prompt could be tweaked a bit.

", + "id": 441053519, + "sender_full_name": "Bruno Bigras", + "timestamp": 1716906675 + }, + { + "content": "

The quit dialog is not that clear even with my theme too. I didn’t bother trying to change it since I usually just Ctrl-C and press Return.

\n

Screenshot-2024-05-28-at-9.56.36PM.png

\n
", + "id": 441075351, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716913793 + }, + { + "content": "

It would be clearer if the text was in some darker colour. Anyway, I haven’t tried out theming in process-compose, maybe will try it out tomorrow.

", + "id": 441075708, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716913910 + } +] \ No newline at end of file diff --git a/zulip_json/414022-process-compose-flake/Unable.20to.20select.20text.20in.20the.20tui.json b/zulip_json/414022-process-compose-flake/Unable.20to.20select.20text.20in.20the.20tui.json new file mode 100644 index 00000000000..ca7ec970317 --- /dev/null +++ b/zulip_json/414022-process-compose-flake/Unable.20to.20select.20text.20in.20the.20tui.json @@ -0,0 +1,26 @@ +[ + { + "content": "

Is this something within this implementation, or something upstream? Even after going into select mode using Ctrl+S, you can highlight the text but no normal copy operations will save to the clipboard. in any other tui, I can copy things to the clipboard

", + "id": 406595030, + "sender_full_name": "tgunnoe", + "timestamp": 1701972261 + }, + { + "content": "

It has to be an upstream issue. We just shell out to process-compose command, passing it the arguments passed by the user:

\n
srid on appreciate process-compose-flake/example on  main via ❄️  impure (nix-shell-env)\n❯ cat $(nix build --print-out-paths)/bin/*\n#!/nix/store/rz0xwswp80pjyn8sf2vz3xlv67sfiyns-bash-5.2-p15/bin/bash\nset -o errexit\nset -o nounset\nset -o pipefail\n\nexport PATH=\"/nix/store/srqqppq5zbn41dlpb87si0rw947d00w2-process-compose-0.60.0/bin:$PATH\"\n\nexport PC_CONFIG_FILES=/nix/store/8j1rnipbcmcyqg6md3mdizx6i4qwagdl-default.yaml\n\nexec process-compose -p 0 \"$@\"\n
", + "id": 406595604, + "sender_full_name": "Srid", + "timestamp": 1701972500 + }, + { + "content": "

Note again, you can use the log_location option to have it write the process output to a log file, which should be straightforward to copy.

\n

https://github.com/nammayatri/nammayatri/blob/7203bc29d5c2bf30e1e96582af2d3604915a5a97/Backend/nix/run-mobility-stack.nix#L13

", + "id": 406595924, + "sender_full_name": "Srid", + "timestamp": 1701972607 + }, + { + "content": "

yes, I am using that. thanks

", + "id": 406596016, + "sender_full_name": "tgunnoe", + "timestamp": 1701972652 + } +] \ No newline at end of file diff --git a/zulip_json/414022-process-compose-flake/devenv.json b/zulip_json/414022-process-compose-flake/devenv.json new file mode 100644 index 00000000000..a0cebf81e05 --- /dev/null +++ b/zulip_json/414022-process-compose-flake/devenv.json @@ -0,0 +1,8 @@ +[ + { + "content": "

the new devenv uses process-compose now https://devenv.sh/blog/2023/03/20/devenv-10-rewrite-in-rust/#process-compose-is-now-the-default-process-manager

", + "id": 427932552, + "sender_full_name": "tgunnoe", + "timestamp": 1710942773 + } +] \ No newline at end of file diff --git a/zulip_json/414022-process-compose-flake/process-compose.201.2E0.20released.json b/zulip_json/414022-process-compose-flake/process-compose.201.2E0.20released.json new file mode 100644 index 00000000000..3f2e45fb12c --- /dev/null +++ b/zulip_json/414022-process-compose-flake/process-compose.201.2E0.20released.json @@ -0,0 +1,8 @@ +[ + { + "content": "

https://github.com/F1bonacc1/process-compose/releases/tag/v1.0.0

", + "id": 429395233, + "sender_full_name": "Srid", + "timestamp": 1711372135 + } +] \ No newline at end of file diff --git a/zulip_json/414022-process-compose-flake/process-compose.20log.20in.20GitHub.20runners.json b/zulip_json/414022-process-compose-flake/process-compose.20log.20in.20GitHub.20runners.json new file mode 100644 index 00000000000..e26217bc38c --- /dev/null +++ b/zulip_json/414022-process-compose-flake/process-compose.20log.20in.20GitHub.20runners.json @@ -0,0 +1,32 @@ +[ + { + "content": "

On my NixOS it is usually found at /tmp/process-compose-<user>.log but this file doesn’t exist on the GitHub runners, anyone happen to know where else could it be?

", + "id": 422718437, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708556429 + }, + { + "content": "

That’s probably because nix flake check runs in sandbox mode. I could set the log_location somewhere in the build directory and create a process that will tail -f on the log: https://github.com/F1bonacc1/process-compose/blob/main/www/docs/logging.md

", + "id": 422851940, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708618312 + }, + { + "content": "

But the problem is that the output is not very readable, need to expose log_configuration options in process-compose-flake

", + "id": 422852192, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708618385 + }, + { + "content": "

In the flake check how about cat'ing the log file at the end of a failed run?

", + "id": 422852764, + "sender_full_name": "Srid", + "timestamp": 1708618559 + }, + { + "content": "

But there is no failed run, it’s an infinite loop

", + "id": 422852946, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708618608 + } +] \ No newline at end of file diff --git a/zulip_json/414022-process-compose-flake/process-compose.20on.20FreeBSD-based.20systems.3F.json b/zulip_json/414022-process-compose-flake/process-compose.20on.20FreeBSD-based.20systems.3F.json new file mode 100644 index 00000000000..92b1ec828d2 --- /dev/null +++ b/zulip_json/414022-process-compose-flake/process-compose.20on.20FreeBSD-based.20systems.3F.json @@ -0,0 +1,38 @@ +[ + { + "content": "

As mentioned in the NixOS stream, there is now a project trying to get more serious about building something like NixOS on FreeBSD.

\n

I was wondering, what would it take to run process-compose flakes on FreeBSD via Nix? OPNsense and PFsense would be my targets essentially.

\n

Does process-compose itself support FreeBSD?

", + "id": 430953986, + "sender_full_name": "Andreas", + "timestamp": 1712134982 + }, + { + "content": "

Apparently it's a simple go binary without any dependencies... so it should compile on FreeBSD, I guess?

", + "id": 430960193, + "sender_full_name": "Andreas", + "timestamp": 1712136737 + }, + { + "content": "

I'd think so, yes. It even runs on macOS (doesn't use any platform specific runner)

", + "id": 431158164, + "sender_full_name": "Srid", + "timestamp": 1712171584 + }, + { + "content": "

yeah, maybe I should start up a FreeBSD VM and compile it...

\n

More interesting question perhaps: Can one use Nix with process-compose flake to define services for FreeBSD?

", + "id": 431160855, + "sender_full_name": "Andreas", + "timestamp": 1712172613 + }, + { + "content": "

because that would be really neat I'd say, if you could extend the functionality of pfsense and opnsense in that way.

", + "id": 431160930, + "sender_full_name": "Andreas", + "timestamp": 1712172643 + }, + { + "content": "

And as I said here https://nixos.zulipchat.com/#narrow/stream/413948-nixos/topic/NixBSD.2C.20it's.20NixOS.20on.20FreeBSD

\n

there is now a fork of nixpkgs one might try to use...

", + "id": 431162841, + "sender_full_name": "Andreas", + "timestamp": 1712173287 + } +] \ No newline at end of file diff --git a/zulip_json/414022-process-compose-flake/stream.20events.json b/zulip_json/414022-process-compose-flake/stream.20events.json new file mode 100644 index 00000000000..36b98e89550 --- /dev/null +++ b/zulip_json/414022-process-compose-flake/stream.20events.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Web-public stream created by Srid. Description:

\n
\n

Discussion about https://github.com/Platonic-Systems/process-compose-flake

\n
", + "id": 403675038, + "sender_full_name": "Notification Bot", + "timestamp": 1700692519 + } +] \ No newline at end of file diff --git a/zulip_json/415266-social-media/Discourse.20Announcements.json b/zulip_json/415266-social-media/Discourse.20Announcements.json new file mode 100644 index 00000000000..8a9675b80a9 --- /dev/null +++ b/zulip_json/415266-social-media/Discourse.20Announcements.json @@ -0,0 +1,1370 @@ +[ + { + "content": "

NixOS 23.11 released!

\n

Link: https://discourse.nixos.org/t/nixos-23-11-released/36210
\nPublished Date: Wed, 29 Nov 2023 21:03:16 +0000

\n
\n

Hi everyone,

\n

We are very pleased to announce the public availability of NixOS 23.11 (the Linux distribution) and nixpkgs 23.11 (the package set), under the codename “Tapir”.

\n

Release Announcement

\n

Release Notes

\n

Upgrade Instructions

\n

Downloads

\n

This release was made possible by the effort of over 2100 contributors. I want to say thank you to everyone in the community for working on this.

\n

A highlight of the release is GNOME 45, which introduced a new image viewer and a new camera app. The GNOME team has been working on the update for the past 4 months, and the update was able to make the cut right before the release.

\n

Another highlight is the update of the default version of the LLVM package set from 11 to 16 on both Linux and Darwin. @reckenrode has worked hard on this to make this transition as seemingless as possible.

\n

A lot more features and improvements also made it into the release, the full list can be found in the release notes .

\n

The 23.05 “Stoat” release is now officially deprecated, and will reach its end-of-life and stop receiving security updates after 2023-12-31. Please schedule your upgrades accordingly.

\n

We are scheduling a retrospective for 2023-12-09. If you have something to contribute, please join the release management room , where the URL will be announced.

\n

I would like to thank @RaitoBezarius for guiding me through everything, the release editors (@alejandrosame and @riotbib ) for working on the release notes. And special thanks to @riotbib for taking the picture for the release artwork , and @infinisil for the clutch at the final release meeting.

\n

Enjoy the new release!

\n

17 posts - 12 participants

\n

Read full topic

\n
", + "id": 405117237, + "sender_full_name": "Zapier", + "timestamp": 1701350742 + }, + { + "content": "

The garn devlog

\n

Link: https://discourse.nixos.org/t/the-garn-devlog/36297
\nPublished Date: Fri, 01 Dec 2023 10:50:33 +0000

\n
\n

garn is an effort to give a Typescript-based alternative to Nix, and an easier CLI interface. It’s been discussed before , but development is happening very quickly, so I thought I’d create a devlog thread here. If you don’t want to hear more about it, you can mute it, and if you do, you can follow it.

\n

2 posts - 1 participant

\n

Read full topic

\n
", + "id": 405336561, + "sender_full_name": "Zapier", + "timestamp": 1701427944 + }, + { + "content": "

Alt F4 working on kickstarter

\n

Link: https://discourse.nixos.org/t/alt-f4-working-on-kickstarter/36360
\nPublished Date: Sat, 02 Dec 2023 20:10:32 +0000

\n
\n

Twitch (live)

\n

working on

\n

GitHub

\n

GitHub - ALT-F4-LLC/kickstart.nix: Kickstart your Nix environment.

\n

Kickstart your Nix environment. Contribute to ALT-F4-LLC/kickstart.nix development by creating an account on GitHub.

\n

contribute if you want! or DONT!

\n

1 post - 1 participant

\n

Read full topic

\n
", + "id": 405564003, + "sender_full_name": "Zapier", + "timestamp": 1701548634 + }, + { + "content": "

NixCon NA 2024 - Call for Proposals!

\n

Link: https://discourse.nixos.org/t/nixcon-na-2024-call-for-proposals/36491
\nPublished Date: Tue, 05 Dec 2023 16:36:29 +0000

\n
\n

Hey everyone! The Call for Proposals for NixCon NA 2024 is officially open and we’re inviting you to submit proposals for talks and workshops. We’d love to provide you a platform for you to share your ideas, projects, and experiences with Nix and NixOS with the rest of the community.

\n

You can submit your proposals at the following link: NixCon NA 2024 - CFP

\n

The last day to submit proposals is December 31st, so there’s a little less than a month remaining. We know this isn’t much time, but we’re putting this together on a short timeline, so we need your help to make this event a success!

\n

The conference will consist of two days:

\n

Day 1: Workshops. We’d like this to be an opportunity for new users and the Nix-curious alike to gain valuable experience using Nix to solve their problems. This is also an opportunity to get help and advice from experienced Nix users, which can be incredibly helpful when you’re getting started with Nix. Workshops will be 90-minutes each, and we plan to have multiple workshops running in parallel so that there’s a wide variety of topics for attendees to choose from at any point in time.

\n

Day 2: Talks. What’s a conference without talks? Talks will be given in a single track, and each talk will be 25 minutes. Again, we’d like this event to be accessible for those with little or no Nix experience, so we welcome introductory level talks that teach or explain Nix concepts that new Nix users struggle with.

\n

As part of the submission process you will indicate whether you’re submitting a proposal for a talk or a workshop. Feel free to make as many submissions as you like to either or both categories.

\n

Also, even though we want to make the event beginner friendly, advanced technical talks and workshops are still welcome!

\n

1 post - 1 participant

\n

Read full topic

\n
", + "id": 406100770, + "sender_full_name": "Zapier", + "timestamp": 1701794374 + }, + { + "content": "

NixOS S3 Long Term Resolution - Phase 1

\n

Link: https://discourse.nixos.org/t/nixos-s3-long-term-resolution-phase-1/36493
\nPublished Date: Tue, 05 Dec 2023 17:07:46 +0000

\n
\n

Quick Recap:

\n

As we need to expedite our timelines in optimizing our S3 Cache, the NixOS Foundation is supporting a “Phase 1” effort via initial funding of 10,000 EUR.

\n

The total estimated project funds are 30,000 EUR and we are also announcing the Open Collective Project for those that wish to donate and support the effort!

\n

We hope that this effort also helps us learn how to go about allocating funds to the community and if you’re interested in partaking in the wider community discussion about that please do reach out and/or visit NixCon Governance Workshop - Announcements - NixOS Discourse .

\n

Initial Background & Prior Recaps

\n

After we reached a short term resolution for our S3 binary cache situation (NixOS S3 Short Term Resolution! - Announcements - NixOS Discourse ), a number of awesome folks across the community stepped up to begin researching a long term solution.

\n

The community members involved have been sharing updates on progress and discussion . (add links to github repo as well)

\n

About a month ago, an ad-hoc working group was formed following the creation of the issue Garbage-collect cache.nixos.org · Issue #282 · NixOS/nixos-org-configurations · GitHub . The first meeting happened on the 24th October (notes and further notes can be found in: 2023-10-24 re: Long-term S3 cache solutions meeting minutes #1 ).

\n

A team composed of @zimbatm , @edolstra , @RaitoBezarius , @flokli and @edef quickly formed to answer multiple questions, notably the cache’s bucket growth per year and our need to reduce our cache footprint in AWS.

\n

From this team’s activities, two solutions emerged:

\n

Garbage collection of historical data

\n

Deduplication of historical data

\n

The team found that the cache’s bucket growth per year was increasing, implying that a brutal garbage collection would be a short term solution, one that causes us to lose historical data and buys us an unknown amount of time. Our estimates suggest it would only buy us 6 months to 2 years, depending on how Nixpkgs needs evolve, with estimates suggesting roughly 1 year.

\n

After this, there was an initial agreement to prioritize the deduplication solution and only perform the garbage collection as a last-resort measure, if needed at all.

\n

During the following month, @flokli and @edef , in charge of the deduplication solution, worked in their free time to build a bespoke set of tools to analyze cache.nixos.org . For example, they created. a fast .narinfo parser that imports all of the data into Clickhouse to perform various analytics and guide the solution. Many more examples of the team’s tooling can be found in the detailed notes.

\n

The team looked at:

\n

Fastly logs

\n

S3 bucket logs

\n

A SQLite database that @edolstra provided which contains a mapping of channel bumps to store paths (and their size)

\n

Data analysis is still ongoing and is focusing on questions like “what would be the request rate to cold paths that would be deduplicated?” that might shed light on the scalability of the reassembly component, i.e. the piece of software responsible for reassembling the deduplicated pieces into a full NAR that gets cached by the Fastly CDN.

\n

In the meantime, we discussed the potential gains might see with deduplication, and it is hard to answer. In the past, projects like nix-casync provided deduplication down to 20% of the original uncompressed size.

\n

In the past weeks, @flokli and @edef have started tuning the fast content-defined chunker parameters to determine the optimal parameters with respect to the cache data.

\n

To do so, they took multiple channel bumps, ingested them on a server in the same AWS region as our bucket, read through all NARs of a given channel bump, uncompressed and decomposed the NARs, fed all blobs into a content-defined chunker, and recorded the deduplication metadata chunk length (compressed+uncompressed) and digest. The actual chunk data itself was not stored, as this process was mostly there to find good parameters, balancing chunk size and compression possibilities (i.e. when chunks are smaller, the compression context window is smaller and compression performs worse, but we get a better chance to deduplicate).

\n

During that process, they uncovered that xz decompression is a big bottleneck while ingesting the existing NARs. After ingesting 3 channel bumps separated each by the months, the recorded total size of the data was 71% of the original compressed size (including metadata). Note that these numbers are just small samples of the entire dataset, using one picked chunk size and store paths further apart in time than we usually have in channel bumps, constructing a bad-case scenario. Adding another two channel bumps, each two weeks apart brought the recorded size down to 65% of the original compressed size. One of the next steps are to further explore the parameter space to figure out which ones make sense for cache.nixos.org as a whole.

\n

Next Steps & Initial Plan

\n

As we approach the halfway mark of our 12-month AWS funding (9,000 USD/month), the urgency for a sustainable solution is higher, especially given the significant growth in our cache expenses (November charge 13,728 USD split between S3 storage - 8,696.88 and data transfer - 4,776.67).

\n

We’re excited to announce a major step forward: an initiative led by @flokli and @edef , targeting an accelerated milestone for the long term resolution plan:

\n

Cache analytics: support technical decision-making on where to deploy things with respect to our needs for performance (latency, parallel requests, etc.)

\n

Deduplication analytics: explore the parameter space of the chunker and data structures for metadata.

\n

NAR reassembly: extend “nar-bridge” to support operating where NAR reassembly would happen (AWS Lambda or Fastly Compute@Edge), and to support the used storage model

\n

Enablement: extend Fastly 404 handler to reroute historical data to this new S3 store and delete the old data from the main S3 binary cache

\n

As timing is crucial on this project, the NixOS Foundation will fund the first 10,000 EUR to enable us to get going. In parallel, we plan to open up an Open Collective project to raise the remaining ca. 20,000 EUR for those who want to take part in helping make progress on our S3 cache needs.

\n

If you want to support the project please visit the Open Collective project page or reach out to us at the foundation (foundation@nixos.org ).

\n

Background on Funding/AWS and Additional Context

\n

As cache.nixos.org serves as a critical resource to the community, it is essential for the Foundation to empower active contributors to expedite work on critical areas via funding. In this case, deduplication efforts can significantly enhance the efficiency of cache.nixos.org . This, in turn, can lead to additional benefits such as supporting contributors relying more on the cache, e.g. debug symbols . This task is difficult and requires prior expertise with how Nix has been storing things in the past and knowledge of state-of-the-art solutions that are better at storing things without compromising on performance. Furthermore, all of this has to be done in a tight timeline without compromising the integrity of the data manipulated.

\n

In this instance, the Foundation will be investing into the deduplication group to provide a sustainable solution to the cache’s size. We considered multiple alternatives, such as:

\n

Performing garbage collection

\n

Removing more aggressively staging data

\n

Removing the copies of NixOS ISOs published on releases.nixos.org

\n

Using off-the-shelf community software such as GitHub - zhaofengli/attic: Multi-tenant Nix Binary Cache

\n

As mentioned above, some of those solutions may only buy us a short amount of time and will require another intervention. Other solutions may significantly degrade the contributing experience in Nixpkgs, since active contributors rely on the presence of the staging data to perform large-scale bisections and root cause analysis of the whole ecosystem ( README - hydrasect - Prioritize commits evaluated by Hydra when bisecting Nixpkgs is an example of such a tool). Finally, in regard to existing tooling, we uncovered that such tools would not necessarily have an optimal out-of-the-box performance, and we have not dug into them to gain familiarity with all the failure modes they could exhibit.

\n

Why does this matter? A wider recap can be found in the NixOS Discourse (The NixOS Foundation’s Call to Action: S3 Costs Require Community Support - Announcements - NixOS Discourse )

\n

Cost Efficiency: Reducing our cache size directly impacts our ongoing expenses, making our operations more economical.

\n

Future-Proofing: As Nix keeps growing, we need to deploy long term strategies that can keep matters as sustainable as possible. This will also help in demonstrating our commitment to sustainability which strengthens our case for continued AWS support or other potential partnerships.

\n

Community Involvement: We’re inviting more hands and minds to join in. Your participation, be it through volunteering, funding, or sharing ideas, is critical.

\n

We want to thank everyone again for rallying around the S3 and Cache needs. Please reach out, participate, and share feedback whenever you can. https://matrix.to/#/#binary-cache-selfhosting:nixos.org

\n

This announcement was written by @edolstra @ron and @zimbatm with the help of @RaitoBezarius and @fricklerhandwerk .

\n

1 post - 1 participant

\n

Read full topic

\n
", + "id": 406107382, + "sender_full_name": "Zapier", + "timestamp": 1701796135 + }, + { + "content": "

Announcing landscape.nixlang.wiki, a Nix equivalent of the CNCF landscape

\n

Link: https://discourse.nixos.org/t/announcing-landscape-nixlang-wiki-a-nix-equivalent-of-the-cncf-landscape/36532
\nPublished Date: Wed, 06 Dec 2023 10:52:18 +0000

\n
\n

I’m happy to announce https://landscape.nixlang.wiki/ , a daughter project of https://nixlang.wiki , aiming to map the various Nix and Nix adjacent projects, and make them easier for beginners to discover.

\n

The project is based on landscape2, the upcoming rust version of the CNCF landscape, of which we maintain our own fork with some changes GitHub - nixlang-wiki/landscape2: Landscape2 is a tool that generates interactive landscapes websites .

\n

While the project is still early in its development cycle, it’s no longer in its infancy, and we believe that most people should be able to contribute additions to the landscape at this point, and if not, we’ll gladly receive issues with suggestions and see what we can do at GitHub - nixlang-wiki/nixos-landscape: The Landscape of NixOS and associated projects .

\n

We hope to see your contributions, and can’t wait to see how the landscape will look once it gets filled out.

\n

1 post - 1 participant

\n

Read full topic

\n
", + "id": 406280772, + "sender_full_name": "Zapier", + "timestamp": 1701860401 + }, + { + "content": "

NixThePlanet - Run macOS, Windows and more via a single Nix command + nixosModules

\n

Link: https://discourse.nixos.org/t/nixtheplanet-run-macos-windows-and-more-via-a-single-nix-command-nixosmodules/36634
\nPublished Date: Sat, 09 Dec 2023 03:35:51 +0000

\n
\n

GitHub

\n

GitHub - MatthewCroughan/NixThePlanet: Run macOS, Windows and more via a...

\n

Run macOS, Windows and more via a single Nix command, or simple nixosModules - GitHub - MatthewCroughan/NixThePlanet: Run macOS, Windows and more via a single Nix command, or simple nixosModules

\n

I was nerd sniped by @Enzime at nix.camp into implementing this, and here it is, over two months of painstaking work and reproducibility testing. See the README.md for more details of how it works, but the TL;DR is that it uses TCL Expect and Tesseract OCR together to automate the installation of archaic operating systems and boil them down to a single Nix command, or nixosModule.

\n

The main attraction, I’m sure is going to be macOS, which you can enable from this flake with:

\n

services.macos-ventura.enable = true

\n

CI is implemented to run the macOS installer 10 times whenever it changes, catching any bugs and uploading a replay of what went wrong as screencaptures to IPFS. I’m tempted to increase that number to 100 and to start doing statistics, because VMs are tricky. But I’ve found it’s pretty reliable after 200~ runs without failure on various slow/fast hardware.

\n

NixThePlanet introduces a few image builder functions such as makeDarwinImage and makeWin30Image which can be used like this for example:

\n

makeWin30Image {

\n

dosPostInstall = ''

\n

c:

\n

echo win >> AUTOEXEC.BAT

\n

'';

\n

}

\n

makeDarwinImage { diskSizeBytes = 60000000000; };

\n

There’s still plenty left to do in this project as you can see by the TODOs in the README.md, which you should read if you’re interested.

\n

1 post - 1 participant

\n

Read full topic

\n
", + "id": 406880736, + "sender_full_name": "Zapier", + "timestamp": 1702093734 + }, + { + "content": "

Announcing - NixOS-DNS

\n

Link: https://discourse.nixos.org/t/announcing-nixos-dns/36702
\nPublished Date: Sun, 10 Dec 2023 21:46:13 +0000

\n
\n

tldr: manage your dns deployments with nixos.

\n

I spent a lot of time documenting everything and making it so hopefully other people find it useful as well.

\n

docs: Summary - NixOS-DNS

\n

source: GitHub - Janik-Haag/NixOS-DNS: Manage your dns zones with NixOS

\n

1 post - 1 participant

\n

Read full topic

\n
", + "id": 407111404, + "sender_full_name": "Zapier", + "timestamp": 1702245520 + }, + { + "content": "

Nix-community infra update

\n

Link: https://discourse.nixos.org/t/nix-community-infra-update/36815
\nPublished Date: Wed, 13 Dec 2023 18:38:07 +0000

\n
\n

Nix-community infrastructure update

\n

The Nix-community GitHub organization is a central hub for a wide range of popular tools related to Nix. In addition to maintaining Continuous Integration (CI) infrastructure, we also oversee the community builder within the same organization. This includes hosting the ryantm-r bot.

\n

Recent Infrastructure Upgrades:

\n

Over the past month, we’ve made significant upgrades to our infrastructure , primarily based on Hetzner servers:

\n

CI Builder Enhancement: Our two x86_64 CI builders have been upgraded from AMD Ryzen 5 3600 (6-Core Processor, 64GB RAM) to AMD Ryzen 9 3900 (12-Core Processor, 128GB RAM). This upgrade approximately doubles our performance capabilities.

\n

New Nix-Based CI Development: We’re excited to introduce a new nix-based CI system , tailored for pull request workflows in open-source projects. Projects within the nix-community can activate this CI by adding buildbot-nix to their topic tags. Build results are then uploaded to our 1TB Cachix cache, generously sponsored.

\n

Looking Ahead

\n

Expansion to Aarch64-Linux:

\n

We’re currently supporting aarch64-linux through a virtual machine hosted on Oracle Cloud, which unfortunately lacks nested virtualization support. Our goal is to transition to an Ampera Ultra server. This would allow us to run NixOS tests. However, we’re facing a funding gap for this upgrade. To achieve this goal, we are short by 40-50 Euros per month in our nix-community collective . Any contributions towards closing this gap would be greatly appreciated and will help us continue to improve our infrastructure and support for the community.

\n

1 post - 1 participant

\n

Read full topic

\n
", + "id": 407790845, + "sender_full_name": "Zapier", + "timestamp": 1702493529 + }, + { + "content": "

Hare-master-overlay: An easy way to have the latest Hare version

\n

Link: https://discourse.nixos.org/t/hare-master-overlay-an-easy-way-to-have-the-latest-hare-version/36826
\nPublished Date: Wed, 13 Dec 2023 19:55:53 +0000

\n
\n

hare-master-overlay is Flake I’ve made to easily have the most recent version of Hare .

\n

It provides:

\n

overlays for hare , harec and qbe , which may be used separately or as whole through the default overlay;

\n

the overwritten versions of hare , harec and qbe through the packages attribute; and

\n

a devShells for Hare development through the default `devShell.

\n

1 post - 1 participant

\n

Read full topic

\n
", + "id": 407801332, + "sender_full_name": "Zapier", + "timestamp": 1702497913 + }, + { + "content": "

Flake-Env: yet another direnv plugin for nix

\n

Link: https://discourse.nixos.org/t/flake-env-yet-another-direnv-plugin-for-nix/37229
\nPublished Date: Fri, 22 Dec 2023 19:17:34 +0000

\n
\n

Hi! Recently, nix-direnv (which I help maintain) has had a lot of issues opened because of the bash version or the core-tools dependencies we have. For instance, we recently started requiring GNU sort, but there are users out there with other sort implementations. There’s really very little that we can do to ensure the user’s experience is good in this scenario and that got me thinking about whether or not we could do better.

\n

And then I started writing a new tool. I’m not sure it’s better yet, but I think I’m ready to announce flake_env.

\n

Flake_env is a compiled version of nix-direnv. The logic is almost exactly the same, but there’s a lot less bash involved, so you can be reasonably sure that the binary will work with your setup. Overall, flake_env is much simpler than nix-direnv. It is flake-only by design and will not support legacy setups.

\n

I know that this space is crowded already, but this has been a lot of fun to write and I think the path forward is a lot simpler than competing tools. I hope it helps some of you all. Find it at flake_env: experimental direnv plugin for nix flakes

\n

1 post - 1 participant

\n

Read full topic

\n
", + "id": 409633028, + "sender_full_name": "Zapier", + "timestamp": 1703273568 + }, + { + "content": "

NixCon NA CFP deadline extended to January 7th!

\n

Link: https://discourse.nixos.org/t/nixcon-na-cfp-deadline-extended-to-january-7th/37268
\nPublished Date: Sat, 23 Dec 2023 19:10:19 +0000

\n
\n

Given how busy the holidays are we’ve decided to extend the CFP deadline from December 31st to January 7th. For details on the CFP you can see the original announcement , and you can make your submission on the submission site . Keep in mind you can continue to make edits to your submission until the CFP deadline.

\n

Come be a part of the very first NixCon North America!

\n

1 post - 1 participant

\n

Read full topic

\n
", + "id": 409742278, + "sender_full_name": "Zapier", + "timestamp": 1703358917 + }, + { + "content": "

Another Moment of Awesome 2023 - nixpkgs top 10, again!

\n

Link: https://discourse.nixos.org/t/another-moment-of-awesome-2023-nixpkgs-top-10-again/37334
\nPublished Date: Tue, 26 Dec 2023 07:16:03 +0000

\n
\n

Quick shoutout to all the amazing folks on here if you haven’t seen the latest Github Octoverse reports for 2023!

\n

Nix is on the top charts second year in a row! (Last years post - Another Moment of Awesome - nixpkgs top 10 - NixOS Discourse )

\n

Octoverse: The state of open source and rise of AI in 2023 - The GitHub Blog

\n

Happy holidays and happy new year!

\n

1 post - 1 participant

\n

Read full topic

\n
", + "id": 409985364, + "sender_full_name": "Zapier", + "timestamp": 1703574986 + }, + { + "content": "

Contribute to the Nix 2023 Recap

\n

December 29, 2023 at 10:20AM

\n

https://discourse.nixos.org/t/contribute-to-the-nix-2023-recap/37484

", + "id": 410463159, + "sender_full_name": "IFTTT", + "timestamp": 1703874127 + }, + { + "content": "

Limited cache availability for i686 (32 bits x86) architecture

\n

January 01, 2024 at 08:37PM

\n

https://discourse.nixos.org/t/limited-cache-availability-for-i686-32-bits-x86-architecture/37626

", + "id": 410793873, + "sender_full_name": "IFTTT", + "timestamp": 1704170488 + }, + { + "content": "

First NixCon NA Sessions Confirmed - CFP Deadline Approaching!

\n

January 03, 2024 at 07:31PM

\n

https://discourse.nixos.org/t/first-nixcon-na-sessions-confirmed-cfp-deadline-approaching/37718

", + "id": 411120408, + "sender_full_name": "IFTTT", + "timestamp": 1704339112 + }, + { + "content": "

NixCon North America - Sponsorship Tracks

\n

January 04, 2024 at 08:46AM

\n

https://discourse.nixos.org/t/nixcon-north-america-sponsorship-tracks/37755

", + "id": 411225331, + "sender_full_name": "IFTTT", + "timestamp": 1704387108 + }, + { + "content": "

Janurary Nix-community infra update

\n

January 05, 2024 at 01:23AM

\n

https://discourse.nixos.org/t/janurary-nix-community-infra-update/37809

", + "id": 411334049, + "sender_full_name": "IFTTT", + "timestamp": 1704446786 + }, + { + "content": "

Zürich 23.11 ZHF Hackathon and UX workshop report

\n

January 05, 2024 at 10:44AM

\n

https://discourse.nixos.org/t/zurich-23-11-zhf-hackathon-and-ux-workshop-report/37848

", + "id": 411415854, + "sender_full_name": "IFTTT", + "timestamp": 1704480412 + }, + { + "content": "

Pkgs/by-name for the masses

\n

January 05, 2024 at 06:45PM

\n

https://discourse.nixos.org/t/pkgs-by-name-for-the-masses/37858

", + "id": 411467802, + "sender_full_name": "IFTTT", + "timestamp": 1704509203 + }, + { + "content": "

Nip presistent nix-shell

\n

January 07, 2024 at 04:43AM

\n

https://discourse.nixos.org/t/nip-presistent-nix-shell/37920

", + "id": 411598186, + "sender_full_name": "IFTTT", + "timestamp": 1704631605 + }, + { + "content": "

Noogle release: 2024. A groundbreaking refactoring

\n

January 07, 2024 at 08:41AM

\n

https://discourse.nixos.org/t/noogle-release-2024-a-groundbreaking-refactoring/37925

", + "id": 411613674, + "sender_full_name": "IFTTT", + "timestamp": 1704645994 + }, + { + "content": "

Cachix v1.7 release

\n

January 12, 2024 at 05:30AM

\n

https://discourse.nixos.org/t/cachix-v1-7-release/38166

", + "id": 412545339, + "sender_full_name": "IFTTT", + "timestamp": 1705066327 + }, + { + "content": "

NixOS on Xilinx Zynq and ZynqMP

\n

January 13, 2024 at 10:27AM

\n

https://discourse.nixos.org/t/nixos-on-xilinx-zynq-and-zynqmp/38217

", + "id": 412732013, + "sender_full_name": "IFTTT", + "timestamp": 1705170988 + }, + { + "content": "

Clonix: declarative rsync deployments

\n

January 13, 2024 at 12:40PM

\n

https://discourse.nixos.org/t/clonix-declarative-rsync-deployments/38221

", + "id": 412740710, + "sender_full_name": "IFTTT", + "timestamp": 1705178781 + }, + { + "content": "

Nixpkgs.dev: a link shortener for Nixpkgs

\n

January 15, 2024 at 05:15AM

\n

https://discourse.nixos.org/t/nixpkgs-dev-a-link-shortener-for-nixpkgs/38284

", + "id": 412955445, + "sender_full_name": "IFTTT", + "timestamp": 1705324623 + }, + { + "content": "

Zig2nix: Flake for packaging, building and running Zig projects

\n

January 17, 2024 at 07:18PM

\n

https://discourse.nixos.org/t/zig2nix-flake-for-packaging-building-and-running-zig-projects/38444

", + "id": 416487934, + "sender_full_name": "IFTTT", + "timestamp": 1705548108 + }, + { + "content": "

NixCon NA 2024 Schedule is Live!

\n

January 19, 2024 at 10:32AM

\n

https://discourse.nixos.org/t/nixcon-na-2024-schedule-is-live/38531

", + "id": 416844460, + "sender_full_name": "IFTTT", + "timestamp": 1705689719 + }, + { + "content": "

Official NixOS Wiki

\n

January 23, 2024 at 10:41AM

\n

https://discourse.nixos.org/t/official-nixos-wiki/38715

", + "id": 417506917, + "sender_full_name": "IFTTT", + "timestamp": 1706035319 + }, + { + "content": "

Drift: Update Nix Flake package sources

\n

January 26, 2024 at 03:43PM

\n

https://discourse.nixos.org/t/drift-update-nix-flake-package-sources/38862

", + "id": 418366809, + "sender_full_name": "IFTTT", + "timestamp": 1706312780 + }, + { + "content": "

GitHub - BirdeeHub/nixCats-nvim: A Lua-natic nix user's Neovim Flake,

\n

January 28, 2024 at 04:54PM

\n

https://discourse.nixos.org/t/github-birdeehub-nixcats-nvim-a-lua-natic-nix-users-neovim-flake/38956

", + "id": 418550413, + "sender_full_name": "IFTTT", + "timestamp": 1706490089 + }, + { + "content": "

Geospatial NIX flake and Geospatial NIX web UI

\n

January 29, 2024 at 02:53AM

\n

https://discourse.nixos.org/t/geospatial-nix-flake-and-geospatial-nix-web-ui/38974

", + "id": 418611047, + "sender_full_name": "IFTTT", + "timestamp": 1706525772 + }, + { + "content": "

Git-verify: in-band commit verification

\n

January 29, 2024 at 09:50AM

\n

https://discourse.nixos.org/t/git-verify-in-band-commit-verification/38991

", + "id": 418690104, + "sender_full_name": "IFTTT", + "timestamp": 1706550719 + }, + { + "content": "

Nix 2.20 released

\n

January 30, 2024 at 03:38AM

\n

https://discourse.nixos.org/t/nix-2-20-released/39027

", + "id": 418819291, + "sender_full_name": "IFTTT", + "timestamp": 1706615214 + }, + { + "content": "

Call for mentors: Google Summer of Code 2024

\n

January 30, 2024 at 05:06AM

\n

https://discourse.nixos.org/t/call-for-mentors-google-summer-of-code-2024/39031

", + "id": 418831930, + "sender_full_name": "IFTTT", + "timestamp": 1706620053 + }, + { + "content": "

Upcoming Garbage Collection for cache.nixos.org

\n

January 31, 2024 at 05:24AM

\n

https://discourse.nixos.org/t/upcoming-garbage-collection-for-cache-nixos-org/39078

", + "id": 419038876, + "sender_full_name": "IFTTT", + "timestamp": 1706707600 + }, + { + "content": "

Call for testing: Nix formatter

\n

February 02, 2024 at 01:16AM

\n

https://discourse.nixos.org/t/call-for-testing-nix-formatter/39179

", + "id": 419416131, + "sender_full_name": "IFTTT", + "timestamp": 1706865393 + }, + { + "content": "

Whats-in-my-store: Match your Nix Store to packages from NixPkgs

\n

February 03, 2024 at 04:15AM

\n

https://discourse.nixos.org/t/whats-in-my-store-match-your-nix-store-to-packages-from-nixpkgs/39232

", + "id": 419604110, + "sender_full_name": "IFTTT", + "timestamp": 1706962598 + }, + { + "content": "

Typhon: Nix-based continuous integration

\n

February 04, 2024 at 04:23AM

\n

https://discourse.nixos.org/t/typhon-nix-based-continuous-integration/39281

", + "id": 419695272, + "sender_full_name": "IFTTT", + "timestamp": 1707049915 + }, + { + "content": "

NixVirt: manage virtual machines

\n

February 04, 2024 at 12:47PM

\n

https://discourse.nixos.org/t/nixvirt-manage-virtual-machines/39305

", + "id": 419730264, + "sender_full_name": "IFTTT", + "timestamp": 1707080163 + }, + { + "content": "

Full Time Nix (podcast)

\n

February 07, 2024 at 07:01AM

\n

https://discourse.nixos.org/t/full-time-nix-podcast/39442

", + "id": 420273108, + "sender_full_name": "IFTTT", + "timestamp": 1707318430 + }, + { + "content": "

Umport: Automatic Import of Modules

\n

February 07, 2024 at 11:17AM

\n

https://discourse.nixos.org/t/umport-automatic-import-of-modules/39455

", + "id": 420325991, + "sender_full_name": "IFTTT", + "timestamp": 1707333684 + }, + { + "content": "

Welcome Ryan Hendrickson to the Moderation Team

\n

February 07, 2024 at 12:53PM

\n

https://discourse.nixos.org/t/welcome-ryan-hendrickson-to-the-moderation-team/39460

", + "id": 420341183, + "sender_full_name": "IFTTT", + "timestamp": 1707339406 + }, + { + "content": "

Call for testing: \"This Week in NixOS\"

\n

February 07, 2024 at 02:03PM

\n

https://discourse.nixos.org/t/call-for-testing-this-week-in-nixos/39465

", + "id": 420351377, + "sender_full_name": "IFTTT", + "timestamp": 1707343634 + }, + { + "content": "

Nix team report 2023-04 — 2024-01

\n

February 08, 2024 at 11:25PM

\n

https://discourse.nixos.org/t/nix-team-report-2023-04-2024-01/39525

", + "id": 420598242, + "sender_full_name": "IFTTT", + "timestamp": 1707463613 + }, + { + "content": "

Explainix: Learn Nix syntax visually

\n

February 13, 2024 at 02:04AM

\n

https://discourse.nixos.org/t/explainix-learn-nix-syntax-visually/39721

", + "id": 421212689, + "sender_full_name": "IFTTT", + "timestamp": 1707819082 + }, + { + "content": "

Nixpkgs merge bot testing and plan

\n

February 15, 2024 at 07:48AM

\n

https://discourse.nixos.org/t/nixpkgs-merge-bot-testing-and-plan/39824

", + "id": 421685865, + "sender_full_name": "IFTTT", + "timestamp": 1708012598 + }, + { + "content": "

Nix-pkgset: Cross-compilation aware (flake) package sets

\n

February 17, 2024 at 06:30AM

\n

https://discourse.nixos.org/t/nix-pkgset-cross-compilation-aware-flake-package-sets/39911

", + "id": 422015664, + "sender_full_name": "IFTTT", + "timestamp": 1708180300 + }, + { + "content": "

Introduction to nixpkgs-terraform

\n

February 20, 2024 at 06:10AM

\n

https://discourse.nixos.org/t/introduction-to-nixpkgs-terraform/40041

", + "id": 422426438, + "sender_full_name": "IFTTT", + "timestamp": 1708438640 + }, + { + "content": "

Nix-buildproxy, reproducible HTTP/HTTPS responder in sandboxed Nix builds

\n

February 21, 2024 at 02:14AM

\n

https://discourse.nixos.org/t/nix-buildproxy-reproducible-http-https-responder-in-sandboxed-nix-builds/40081

", + "id": 422585422, + "sender_full_name": "IFTTT", + "timestamp": 1708510906 + }, + { + "content": "

Nixpkgs-xr: Nightly packages for XR/AR/VR tools and apps

\n

February 21, 2024 at 02:52AM

\n

https://discourse.nixos.org/t/nixpkgs-xr-nightly-packages-for-xr-ar-vr-tools-and-apps/40083

", + "id": 422591180, + "sender_full_name": "IFTTT", + "timestamp": 1708512983 + }, + { + "content": "

RFC 166 FCP: Nix formatting

\n

February 21, 2024 at 06:30AM

\n

https://discourse.nixos.org/t/rfc-166-fcp-nix-formatting/40092

", + "id": 422630110, + "sender_full_name": "IFTTT", + "timestamp": 1708525896 + }, + { + "content": "

We got accepted for Google Summer of Code :tada:

\n

February 21, 2024 at 10:09AM

\n

https://discourse.nixos.org/t/we-got-accepted-for-google-summer-of-code/40102

", + "id": 422678749, + "sender_full_name": "IFTTT", + "timestamp": 1708539370 + }, + { + "content": "

Anatomy of a NixOS config

\n

February 24, 2024 at 12:50PM

\n

https://discourse.nixos.org/t/anatomy-of-a-nixos-config/40252

", + "id": 423203195, + "sender_full_name": "IFTTT", + "timestamp": 1708808206 + }, + { + "content": "

Typix: A Nix library for compiling Typst projects

\n

February 24, 2024 at 05:42PM

\n

https://discourse.nixos.org/t/typix-a-nix-library-for-compiling-typst-projects/40257

", + "id": 423221072, + "sender_full_name": "IFTTT", + "timestamp": 1708825574 + }, + { + "content": "

Community teams budget

\n

February 25, 2024 at 11:48PM

\n

https://discourse.nixos.org/t/community-teams-budget/40307

", + "id": 423339765, + "sender_full_name": "IFTTT", + "timestamp": 1708934190 + }, + { + "content": "

Google Season of Docs 2024: Call for Proposals to Enhance Nix Documentation

\n

February 21, 2024 at 01:39PM

\n

https://discourse.nixos.org/t/google-season-of-docs-2024-call-for-proposals-to-enhance-nix-documentation/40107

", + "id": 423832418, + "sender_full_name": "IFTTT", + "timestamp": 1709131302 + }, + { + "content": "

Announcing Phase 1 of the Nix(OS) Website Rework

\n

February 28, 2024 at 12:45PM

\n

https://discourse.nixos.org/t/announcing-phase-1-of-the-nix-os-website-rework/40473

", + "id": 423900096, + "sender_full_name": "IFTTT", + "timestamp": 1709153222 + }, + { + "content": "

Comin: Git Push NixOS Machines

\n

March 03, 2024 at 01:01AM

\n

https://discourse.nixos.org/t/comin-git-push-nixos-machines/40688

", + "id": 424489607, + "sender_full_name": "IFTTT", + "timestamp": 1709456523 + }, + { + "content": "

Nixos-needsreboot: Determine if you need to reboot your NixOS machine

\n

March 04, 2024 at 09:32AM

\n

https://discourse.nixos.org/t/nixos-needsreboot-determine-if-you-need-to-reboot-your-nixos-machine/40790

", + "id": 424710364, + "sender_full_name": "IFTTT", + "timestamp": 1709573799 + }, + { + "content": "

macOS support for running NixOS tests

\n

March 04, 2024 at 01:09PM

\n

https://discourse.nixos.org/t/macos-support-for-running-nixos-tests/40801

", + "id": 424748888, + "sender_full_name": "IFTTT", + "timestamp": 1709587006 + }, + { + "content": "

Security fix: Nix fixed-output derivation sandbox bypass

\n

March 07, 2024 at 10:42AM

\n

https://discourse.nixos.org/t/security-fix-nix-fixed-output-derivation-sandbox-bypass/40972

", + "id": 425372030, + "sender_full_name": "IFTTT", + "timestamp": 1709837227 + }, + { + "content": "

Crowdsec modules for NixOS

\n

March 10, 2024 at 07:53AM

\n

https://discourse.nixos.org/t/crowdsec-modules-for-nixos/41160

", + "id": 425779748, + "sender_full_name": "IFTTT", + "timestamp": 1710082594 + }, + { + "content": "

NixOS Foundation board – open board meeting – 2024-03-20

\n

March 11, 2024 at 03:01AM

\n

https://discourse.nixos.org/t/nixos-foundation-board-open-board-meeting-2024-03-20/41209

", + "id": 425873896, + "sender_full_name": "IFTTT", + "timestamp": 1710151297 + }, + { + "content": "

Nix 2.21 released

\n

March 11, 2024 at 11:14PM

\n

https://discourse.nixos.org/t/nix-2-21-released/41300

", + "id": 426060639, + "sender_full_name": "IFTTT", + "timestamp": 1710224173 + }, + { + "content": "

Announcing services-flake

\n

March 12, 2024 at 11:24AM

\n

https://discourse.nixos.org/t/announcing-services-flake/41338

", + "id": 426189496, + "sender_full_name": "IFTTT", + "timestamp": 1710268308 + }, + { + "content": "

Port vscode-ide-nix to coc.nvim

\n

March 12, 2024 at 11:41PM

\n

https://discourse.nixos.org/t/port-vscode-ide-nix-to-coc-nvim/41364

", + "id": 426269029, + "sender_full_name": "IFTTT", + "timestamp": 1710312110 + }, + { + "content": "

Introducing FlakeHub Cache (private beta)

\n

March 13, 2024 at 07:44AM

\n

https://discourse.nixos.org/t/introducing-flakehub-cache-private-beta/41382

", + "id": 426356611, + "sender_full_name": "IFTTT", + "timestamp": 1710341220 + }, + { + "content": "

Introducing teraflops, an alternative to NixOps

\n

March 17, 2024 at 06:04PM

\n

https://discourse.nixos.org/t/introducing-teraflops-an-alternative-to-nixops/41703

", + "id": 427276240, + "sender_full_name": "IFTTT", + "timestamp": 1710724015 + }, + { + "content": "

NixCon NA Photos

\n

March 18, 2024 at 11:42AM

\n

https://discourse.nixos.org/t/nixcon-na-photos/41770

", + "id": 427553968, + "sender_full_name": "IFTTT", + "timestamp": 1710787876 + }, + { + "content": "

Devenv 1.0: Rewrite in Rust

\n

March 20, 2024 at 06:45AM

\n

https://discourse.nixos.org/t/devenv-1-0-rewrite-in-rust/41891

", + "id": 427931422, + "sender_full_name": "IFTTT", + "timestamp": 1710942422 + }, + { + "content": "

Opportunity: The NGIpkgs Maintenance Mob

\n

March 22, 2024 at 12:35AM

\n

https://discourse.nixos.org/t/opportunity-the-ngipkgs-maintenance-mob/41997

", + "id": 428274343, + "sender_full_name": "IFTTT", + "timestamp": 1711093023 + }, + { + "content": "

NixOS Secrets Management video series and blog

\n

March 22, 2024 at 10:49AM

\n

https://discourse.nixos.org/t/nixos-secrets-management-video-series-and-blog/42020

", + "id": 428383259, + "sender_full_name": "IFTTT", + "timestamp": 1711130199 + }, + { + "content": "

Nixpkgs.news - A Weekly Recap For The Nix Community

\n

March 24, 2024 at 06:52PM

\n

https://discourse.nixos.org/t/nixpkgs-news-a-weekly-recap-for-the-nix-community/42137

", + "id": 429270972, + "sender_full_name": "IFTTT", + "timestamp": 1711331781 + }, + { + "content": "

Nix-ld-rs: Testers wanted

\n

March 24, 2024 at 11:58PM

\n

https://discourse.nixos.org/t/nix-ld-rs-testers-wanted/42145

", + "id": 429302062, + "sender_full_name": "IFTTT", + "timestamp": 1711350398 + }, + { + "content": "

Darwin Updates News

\n

March 26, 2024 at 07:02PM

\n

https://discourse.nixos.org/t/darwin-updates-news/42249

", + "id": 429770005, + "sender_full_name": "IFTTT", + "timestamp": 1711505202 + }, + { + "content": "

Announcing rippkgs: searching nixpkgs in under 30 milliseconds

\n

March 29, 2024 at 09:17AM

\n

https://discourse.nixos.org/t/announcing-rippkgs-searching-nixpkgs-in-under-30-milliseconds/42381

", + "id": 430280634, + "sender_full_name": "IFTTT", + "timestamp": 1711729318 + }, + { + "content": "

RFC 0173 FCP; NixOS hotline

\n

March 31, 2024 at 03:42PM

\n

https://discourse.nixos.org/t/rfc-0173-fcp-nixos-hotline/42536

", + "id": 430513956, + "sender_full_name": "IFTTT", + "timestamp": 1711925180 + }, + { + "content": "

Nix-garrys-mod - Bringing Garry's Mod dedicated servers to Nix/NixOS

\n

April 01, 2024 at 01:32AM

\n

https://discourse.nixos.org/t/nix-garrys-mod-bringing-garrys-mod-dedicated-servers-to-nix-nixos/42553

", + "id": 430562464, + "sender_full_name": "IFTTT", + "timestamp": 1711960912 + }, + { + "content": "

Wiki.nixos.org is now live

\n

April 01, 2024 at 06:43AM

\n

https://discourse.nixos.org/t/wiki-nixos-org-is-now-live/42570

", + "id": 430595148, + "sender_full_name": "IFTTT", + "timestamp": 1711979209 + }, + { + "content": "

Shoji-Nix: SSH key management module for Nix

\n

April 01, 2024 at 08:06AM

\n

https://discourse.nixos.org/t/shoji-nix-ssh-key-management-module-for-nix/42576

", + "id": 430609267, + "sender_full_name": "IFTTT", + "timestamp": 1711984307 + }, + { + "content": "

Update on Sponsorship Policy Discussion

\n

April 03, 2024 at 06:45AM

\n

https://discourse.nixos.org/t/update-on-sponsorship-policy-discussion/42704

", + "id": 431007425, + "sender_full_name": "IFTTT", + "timestamp": 1712151989 + }, + { + "content": "

Introducing the Clan project

\n

April 04, 2024 at 06:31AM

\n

https://discourse.nixos.org/t/introducing-the-clan-project/42746

", + "id": 431315343, + "sender_full_name": "IFTTT", + "timestamp": 1712237799 + }, + { + "content": "

Kickstart-nix.nvim - A dead simple Nix flake template repo for Neovim derivations

\n

April 05, 2024 at 02:27AM

\n

https://discourse.nixos.org/t/kickstart-nix-nvim-a-dead-simple-nix-flake-template-repo-for-neovim-derivations/42791

", + "id": 431485656, + "sender_full_name": "IFTTT", + "timestamp": 1712309520 + }, + { + "content": "

Catppuccin-nix: the soothing pastel theme, but for nix!

\n

April 07, 2024 at 02:09PM

\n

https://discourse.nixos.org/t/catppuccin-nix-the-soothing-pastel-theme-but-for-nix/42915

", + "id": 431817023, + "sender_full_name": "IFTTT", + "timestamp": 1712524580 + }, + { + "content": "

NixOS Foundation Event Sponsorship Policy

\n

April 10, 2024 at 03:21AM

\n

https://discourse.nixos.org/t/nixos-foundation-event-sponsorship-policy/43110

", + "id": 432471979, + "sender_full_name": "IFTTT", + "timestamp": 1712744778 + }, + { + "content": "

Nix-inspect: a TUI for browsing nix configs and other expressions

\n

April 11, 2024 at 04:09AM

\n

https://discourse.nixos.org/t/nix-inspect-a-tui-for-browsing-nix-configs-and-other-expressions/43180

", + "id": 432681710, + "sender_full_name": "IFTTT", + "timestamp": 1712834196 + }, + { + "content": "

Virus detected on NixOS VirtualBox Appliance

\n

April 16, 2024 at 12:29PM

\n

https://discourse.nixos.org/t/virus-detected-on-nixos-virtualbox-appliance/43534

", + "id": 433591425, + "sender_full_name": "IFTTT", + "timestamp": 1713295903 + }, + { + "content": "

Let's have a great 24.05 release cycle!

\n

April 17, 2024 at 06:16AM

\n

https://discourse.nixos.org/t/lets-have-a-great-24-05-release-cycle/43564

", + "id": 433754046, + "sender_full_name": "IFTTT", + "timestamp": 1713359802 + }, + { + "content": "

.NET Aspire Dashboard: Local OpenTelemetry UI packaged for Nix

\n

April 18, 2024 at 10:03AM

\n

https://discourse.nixos.org/t/net-aspire-dashboard-local-opentelemetry-ui-packaged-for-nix/43650

", + "id": 434204599, + "sender_full_name": "IFTTT", + "timestamp": 1713460009 + }, + { + "content": "

Nixd: 2.0.2 released

\n

April 22, 2024 at 04:09AM

\n

https://discourse.nixos.org/t/nixd-2-0-2-released/43891

", + "id": 434720838, + "sender_full_name": "IFTTT", + "timestamp": 1713784606 + }, + { + "content": "

Nix 2.22 released

\n

April 24, 2024 at 03:37AM

\n

https://discourse.nixos.org/t/nix-2-22-released/44007

", + "id": 435161180, + "sender_full_name": "IFTTT", + "timestamp": 1713955613 + }, + { + "content": "

Nixf-tidy: static linter for your nix code - alpha github actions

\n

April 24, 2024 at 07:26PM

\n

https://discourse.nixos.org/t/nixf-tidy-static-linter-for-your-nix-code-alpha-github-actions/44040

", + "id": 435301102, + "sender_full_name": "IFTTT", + "timestamp": 1714012311 + }, + { + "content": "

Earth-view: random desktop background from Google Earth View

\n

April 26, 2024 at 12:33AM

\n

https://discourse.nixos.org/t/earth-view-random-desktop-background-from-google-earth-view/44124

", + "id": 435531597, + "sender_full_name": "IFTTT", + "timestamp": 1714117005 + }, + { + "content": "

Welcome lassulus to the Moderation Team

\n

April 26, 2024 at 02:46AM

\n

https://discourse.nixos.org/t/welcome-lassulus-to-the-moderation-team/44129

", + "id": 435554022, + "sender_full_name": "IFTTT", + "timestamp": 1714125367 + }, + { + "content": "

Unofficial Nix/NixOS Japanese chat for Matrix

\n

April 27, 2024 at 07:27PM

\n

https://discourse.nixos.org/t/unofficial-nix-nixos-japanese-chat-for-matrix/44304

", + "id": 435809914, + "sender_full_name": "IFTTT", + "timestamp": 1714271812 + }, + { + "content": "

NixOS Foundation board: Giving power to the community

\n

April 30, 2024 at 05:36PM

\n

https://discourse.nixos.org/t/nixos-foundation-board-giving-power-to-the-community/44552

", + "id": 436375960, + "sender_full_name": "IFTTT", + "timestamp": 1714524084 + }, + { + "content": "

Announcing our Google Summer of Code participants

\n

May 01, 2024 at 11:04AM

\n

https://discourse.nixos.org/t/announcing-our-google-summer-of-code-participants/44618

", + "id": 436548170, + "sender_full_name": "IFTTT", + "timestamp": 1714586824 + }, + { + "content": "

Exciting Partnership Announcement: Framework Community & NixOS Communities Join Forces!

\n

May 01, 2024 at 04:55PM

\n

https://discourse.nixos.org/t/exciting-partnership-announcement-framework-community-nixos-communities-join-forces/44640

", + "id": 436592721, + "sender_full_name": "IFTTT", + "timestamp": 1714608093 + }, + { + "content": "

Noshell: user-configurable login shell

\n

May 02, 2024 at 08:43AM

\n

https://discourse.nixos.org/t/noshell-user-configurable-login-shell/44703

", + "id": 436723950, + "sender_full_name": "IFTTT", + "timestamp": 1714664837 + }, + { + "content": "

Agenix-shell: keep secrets directly in your flake and access them from your devShell

\n

May 02, 2024 at 12:51PM

\n

https://discourse.nixos.org/t/agenix-shell-keep-secrets-directly-in-your-flake-and-access-them-from-your-devshell/44716

", + "id": 436767014, + "sender_full_name": "IFTTT", + "timestamp": 1714679813 + }, + { + "content": "

Buildbot-nix now supports Gitea

\n

May 03, 2024 at 04:43AM

\n

https://discourse.nixos.org/t/buildbot-nix-now-supports-gitea/44789

", + "id": 436867489, + "sender_full_name": "IFTTT", + "timestamp": 1714736815 + }, + { + "content": "

Welcome endocrimes to the Moderation Team

\n

May 03, 2024 at 05:35AM

\n

https://discourse.nixos.org/t/welcome-endocrimes-to-the-moderation-team/44793

", + "id": 436874735, + "sender_full_name": "IFTTT", + "timestamp": 1714739809 + }, + { + "content": "

Nix-inst 0.3.3 released: better imperitive package management

\n

May 03, 2024 at 04:23PM

\n

https://discourse.nixos.org/t/nix-inst-0-3-3-released-better-imperitive-package-management/44831

", + "id": 436973642, + "sender_full_name": "IFTTT", + "timestamp": 1714778813 + }, + { + "content": "

Brew-nix: a flake automatically packaging all homebrew casks

\n

May 04, 2024 at 10:33AM

\n

https://discourse.nixos.org/t/brew-nix-a-flake-automatically-packaging-all-homebrew-casks/44880

", + "id": 437037942, + "sender_full_name": "IFTTT", + "timestamp": 1714844204 + }, + { + "content": "

Documentation office hours, onboarding for new maintainers

\n

May 07, 2024 at 05:11AM

\n

https://discourse.nixos.org/t/documentation-office-hours-onboarding-for-new-maintainers/45015

", + "id": 437439971, + "sender_full_name": "IFTTT", + "timestamp": 1715084200 + }, + { + "content": "

Help Wanted: Updating links to point to the new NixOS wiki

\n

May 09, 2024 at 11:33PM

\n

https://discourse.nixos.org/t/help-wanted-updating-links-to-point-to-the-new-nixos-wiki/45185

", + "id": 437931874, + "sender_full_name": "IFTTT", + "timestamp": 1715323014 + }, + { + "content": "

Nix Constitutional Assembly Applications open

\n

May 09, 2024 at 11:46PM

\n

https://discourse.nixos.org/t/nix-constitutional-assembly-applications-open/45186

", + "id": 437933263, + "sender_full_name": "IFTTT", + "timestamp": 1715323866 + }, + { + "content": "

Call for volunteers: curating official projects

\n

May 13, 2024 at 05:34PM

\n

https://discourse.nixos.org/t/call-for-volunteers-curating-official-projects/45382

", + "id": 438476123, + "sender_full_name": "IFTTT", + "timestamp": 1715647285 + }, + { + "content": "

NixOS Foundation Board: Constitutional Assembly Appointment

\n

May 15, 2024 at 08:18PM

\n

https://discourse.nixos.org/t/nixos-foundation-board-constitutional-assembly-appointment/45504

", + "id": 438922993, + "sender_full_name": "IFTTT", + "timestamp": 1715829693 + }, + { + "content": "

Styx - alternate binary substitution mechanism

\n

May 17, 2024 at 02:12AM

\n

https://discourse.nixos.org/t/styx-alternate-binary-substitution-mechanism/45579

", + "id": 439183573, + "sender_full_name": "IFTTT", + "timestamp": 1715937386 + }, + { + "content": "

Assembly Q&A stream

\n

May 19, 2024 at 05:46PM

\n

https://discourse.nixos.org/t/assembly-q-a-stream/45707

", + "id": 439479574, + "sender_full_name": "IFTTT", + "timestamp": 1716166303 + }, + { + "content": "

Deps_nix: mix2nix alternative as a mix task

\n

May 20, 2024 at 12:58PM

\n

https://discourse.nixos.org/t/deps-nix-mix2nix-alternative-as-a-mix-task/45740

", + "id": 439670116, + "sender_full_name": "IFTTT", + "timestamp": 1716235288 + }, + { + "content": "

Neovim's flake.nix moved to nix-community

\n

May 23, 2024 at 03:59PM

\n

https://discourse.nixos.org/t/neovims-flake-nix-moved-to-nix-community/45887

", + "id": 440411649, + "sender_full_name": "IFTTT", + "timestamp": 1716505289 + }, + { + "content": "

Introducing the NixOS to JSON Schema Converter

\n

May 25, 2024 at 12:41AM

\n

https://discourse.nixos.org/t/introducing-the-nixos-to-json-schema-converter/45948

", + "id": 440616946, + "sender_full_name": "IFTTT", + "timestamp": 1716622899 + }, + { + "content": "

buildGradleApplication – a simpler approach to packaging Gradle projects

\n

May 26, 2024 at 06:51AM

\n

https://discourse.nixos.org/t/buildgradleapplication-a-simpler-approach-to-packaging-gradle-projects/46012

", + "id": 440714801, + "sender_full_name": "IFTTT", + "timestamp": 1716731503 + }, + { + "content": "

Gradle2nix V2: Call for testers

\n

May 29, 2024 at 06:34PM

\n

https://discourse.nixos.org/t/gradle2nix-v2-call-for-testers/46199

", + "id": 441356137, + "sender_full_name": "IFTTT", + "timestamp": 1717032990 + }, + { + "content": "

NixOS 24.05 released!

\n

May 31, 2024 at 12:31PM

\n

https://discourse.nixos.org/t/nixos-24-05-released/46279

", + "id": 441787855, + "sender_full_name": "IFTTT", + "timestamp": 1717183909 + }, + { + "content": "

Introducing Brioche, a new Nix-like package manager written in Rust

\n

June 03, 2024 at 11:35AM

\n

https://discourse.nixos.org/t/introducing-brioche-a-new-nix-like-package-manager-written-in-rust/46447

", + "id": 442338928, + "sender_full_name": "IFTTT", + "timestamp": 1717439815 + }, + { + "content": "

[Marketing] Looking for support in the social media department

\n

June 05, 2024 at 12:52PM

\n

https://discourse.nixos.org/t/marketing-looking-for-support-in-the-social-media-department/46562

", + "id": 442879003, + "sender_full_name": "IFTTT", + "timestamp": 1717617417 + }, + { + "content": "

NixOS 24.05 Retrospective

\n

June 08, 2024 at 12:13PM

\n

https://discourse.nixos.org/t/nixos-24-05-retrospective/46719

", + "id": 443513305, + "sender_full_name": "IFTTT", + "timestamp": 1717874202 + }, + { + "content": "

Mk-cache-key.nix: make build-cache key for \"half board\" nix projects

\n

June 09, 2024 at 02:08PM

\n

https://discourse.nixos.org/t/mk-cache-key-nix-make-build-cache-key-for-half-board-nix-projects/46771

", + "id": 443642239, + "sender_full_name": "IFTTT", + "timestamp": 1717967506 + }, + { + "content": "

Target date, public repo, office hours, interviews

\n

June 10, 2024 at 11:13AM

\n

https://discourse.nixos.org/t/target-date-public-repo-office-hours-interviews/46827

", + "id": 443835026, + "sender_full_name": "IFTTT", + "timestamp": 1718043408 + }, + { + "content": "

Screen Time features for NixOS

\n

June 14, 2024 at 01:31AM

\n

https://discourse.nixos.org/t/screen-time-features-for-nixos/46996

", + "id": 444648323, + "sender_full_name": "IFTTT", + "timestamp": 1718353887 + }, + { + "content": "

Nixpkgs LLVM Workspace

\n

June 15, 2024 at 07:46PM

\n

https://discourse.nixos.org/t/nixpkgs-llvm-workspace/47074

", + "id": 444931649, + "sender_full_name": "IFTTT", + "timestamp": 1718505994 + }, + { + "content": "

Maintainers: Drop samueldr #321436

\n

June 20, 2024 at 10:55PM

\n

https://discourse.nixos.org/t/maintainers-drop-samueldr-321436/47354

", + "id": 446011097, + "sender_full_name": "IFTTT", + "timestamp": 1718949725 + }, + { + "content": "

Constitutional Assembly Statement on Jon Ringer

\n

June 21, 2024 at 07:45AM

\n

https://discourse.nixos.org/t/constitutional-assembly-statement-on-jon-ringer/47393

", + "id": 446098002, + "sender_full_name": "IFTTT", + "timestamp": 1718981173 + }, + { + "content": "

What is happening with the community?

\n

June 22, 2024 at 07:54AM

\n

https://discourse.nixos.org/t/what-is-happening-with-the-community/47467

", + "id": 446279980, + "sender_full_name": "IFTTT", + "timestamp": 1719068187 + }, + { + "content": "

Announcing Proxmox-NixOS

\n

June 24, 2024 at 04:38AM

\n

https://discourse.nixos.org/t/announcing-proxmox-nixos/47579

", + "id": 446593403, + "sender_full_name": "IFTTT", + "timestamp": 1719229598 + }, + { + "content": "

Declarative Backups and Restore with NixOS

\n

June 24, 2024 at 06:16AM

\n

https://discourse.nixos.org/t/declarative-backups-and-restore-with-nixos/47581

", + "id": 446612735, + "sender_full_name": "IFTTT", + "timestamp": 1719235007 + }, + { + "content": "

github-nix-ci (for self-hosting GitHub runners on macOS/Linux)

\n

June 25, 2024 at 07:43AM

\n

https://discourse.nixos.org/t/github-nix-ci-for-self-hosting-github-runners-on-macos-linux/47642

", + "id": 446904717, + "sender_full_name": "IFTTT", + "timestamp": 1719326786 + }, + { + "content": "

Xonsh xontribs: Announcing xontrib NUR repository

\n

June 26, 2024 at 06:57PM

\n

https://discourse.nixos.org/t/xonsh-xontribs-announcing-xontrib-nur-repository/47744

", + "id": 447370602, + "sender_full_name": "IFTTT", + "timestamp": 1719453744 + }, + { + "content": "

Security fix: Nix derivation sandbox escape

\n

June 27, 2024 at 06:45AM

\n

https://discourse.nixos.org/t/security-fix-nix-derivation-sandbox-escape/47778

", + "id": 447482313, + "sender_full_name": "IFTTT", + "timestamp": 1719496006 + }, + { + "content": "

RFC 0146 FCP: Meta.Categories

\n

June 27, 2024 at 11:28PM

\n

https://discourse.nixos.org/t/rfc-0146-fcp-meta-categories/47818

", + "id": 447672130, + "sender_full_name": "IFTTT", + "timestamp": 1719556316 + }, + { + "content": "

Wealth. Snap. loan app customer care helpline number 91//- 9201332831-}8961223351 call now hh

\n

June 30, 2024 at 10:49PM

\n

https://discourse.nixos.org/t/wealth-snap-loan-app-customer-care-helpline-number-91-9201332831-8961223351-call-now-hh/48196

", + "id": 448230448, + "sender_full_name": "IFTTT", + "timestamp": 1719813071 + }, + { + "content": "

Security Advisory - Use of hardcoded cryptographic settings by default in the LimeSurvey NixOS module

\n

June 29, 2024 at 02:28PM

\n

https://discourse.nixos.org/t/security-advisory-use-of-hardcoded-cryptographic-settings-by-default-in-the-limesurvey-nixos-module/48107

", + "id": 448314234, + "sender_full_name": "IFTTT", + "timestamp": 1719836474 + }, + { + "content": "

Security advisory: OpenSSH CVE-2024-6387 “regreSSHion” – update your servers ASAP

\n

July 01, 2024 at 05:12AM

\n

https://discourse.nixos.org/t/security-advisory-openssh-cve-2024-6387-regresshion-update-your-servers-asap/48220

", + "id": 448314236, + "sender_full_name": "IFTTT", + "timestamp": 1719836475 + }, + { + "content": "

NCA & jonringer joint announcement

\n

July 01, 2024 at 09:39AM

\n

https://discourse.nixos.org/t/nca-jonringer-joint-announcement/48231

", + "id": 448383666, + "sender_full_name": "IFTTT", + "timestamp": 1719852114 + }, + { + "content": "

Constitutional Assembly: Status Report

\n

July 05, 2024 at 07:41AM

\n

https://discourse.nixos.org/t/constitutional-assembly-status-report/48502

", + "id": 449328287, + "sender_full_name": "IFTTT", + "timestamp": 1720190785 + }, + { + "content": "

make-shell, a modular replacement for mkShell

\n

July 05, 2024 at 09:33AM

\n

https://discourse.nixos.org/t/make-shell-a-modular-replacement-for-mkshell/48509

", + "id": 449353043, + "sender_full_name": "IFTTT", + "timestamp": 1720197674 + }, + { + "content": "

Constitutional Assembly: Interim Nixpkgs committer delegation team

\n

July 06, 2024 at 05:31AM

\n

https://discourse.nixos.org/t/constitutional-assembly-interim-nixpkgs-committer-delegation-team/48562

", + "id": 449487621, + "sender_full_name": "IFTTT", + "timestamp": 1720269686 + }, + { + "content": "

Nix-search: A faster, better nix search

\n

July 06, 2024 at 07:22AM

\n

https://discourse.nixos.org/t/nix-search-a-faster-better-nix-search/48568

", + "id": 449502648, + "sender_full_name": "IFTTT", + "timestamp": 1720276272 + }, + { + "content": "

NixOS wiki now with translations

\n

July 08, 2024 at 03:38AM

\n

https://discourse.nixos.org/t/nixos-wiki-now-with-translations/48653

", + "id": 449832208, + "sender_full_name": "IFTTT", + "timestamp": 1720435286 + }, + { + "content": "

PLCT Lab intends to collaborate on RISC-V support

\n

July 11, 2024 at 06:09AM

\n

https://discourse.nixos.org/t/plct-lab-intends-to-collaborate-on-risc-v-support/48875

", + "id": 450707780, + "sender_full_name": "IFTTT", + "timestamp": 1720703785 + }, + { + "content": "

Searchix: web-based option/package search including nix-darwin and home-manager

\n

July 11, 2024 at 06:45AM

\n

https://discourse.nixos.org/t/searchix-web-based-option-package-search-including-nix-darwin-and-home-manager/48877

", + "id": 450714854, + "sender_full_name": "IFTTT", + "timestamp": 1720705620 + }, + { + "content": "

Nix-roleplay: Form a better relationship with your code, v0.1.0 released

\n

July 11, 2024 at 11:25PM

\n

https://discourse.nixos.org/t/nix-roleplay-form-a-better-relationship-with-your-code-v0-1-0-released/48915

", + "id": 450886488, + "sender_full_name": "IFTTT", + "timestamp": 1720765616 + }, + { + "content": "

Autopilot: automatically load/export user defined library and flake-parts modules

\n

July 19, 2024 at 05:38AM

\n

https://discourse.nixos.org/t/autopilot-automatically-load-export-user-defined-library-and-flake-parts-modules/49313

", + "id": 452562150, + "sender_full_name": "IFTTT", + "timestamp": 1721392911 + }, + { + "content": "

Nix Survey 2024

\n

July 22, 2024 at 08:12AM

\n

https://discourse.nixos.org/t/nix-survey-2024/49446

", + "id": 453204340, + "sender_full_name": "IFTTT", + "timestamp": 1721661424 + }, + { + "content": "

Constitutional Assembly: New interim GitHub org owner

\n

July 25, 2024 at 12:26PM

\n

https://discourse.nixos.org/t/constitutional-assembly-new-interim-github-org-owner/49636

", + "id": 454036497, + "sender_full_name": "IFTTT", + "timestamp": 1721935892 + }, + { + "content": "

We added a linter to Nixpkgs checking workflows

\n

July 27, 2024 at 07:32AM

\n

https://discourse.nixos.org/t/we-added-a-linter-to-nixpkgs-checking-workflows/49722

", + "id": 454477962, + "sender_full_name": "IFTTT", + "timestamp": 1722091015 + }, + { + "content": "

I made a flake with commonly used OpenMW modding tools (including OpenMW nightly)!

\n

July 29, 2024 at 10:19PM

\n

https://discourse.nixos.org/t/i-made-a-flake-with-commonly-used-openmw-modding-tools-including-openmw-nightly/49850

", + "id": 455031077, + "sender_full_name": "IFTTT", + "timestamp": 1722316901 + }, + { + "content": "

NixDevImgs: a modest flake that builds docker CI images from your devShell definition

\n

July 30, 2024 at 03:46AM

\n

https://discourse.nixos.org/t/nixdevimgs-a-modest-flake-that-builds-docker-ci-images-from-your-devshell-definition/49858

", + "id": 455095688, + "sender_full_name": "IFTTT", + "timestamp": 1722336672 + }, + { + "content": "

Nix Community Values; draft for feedback before finalisation

\n

July 31, 2024 at 03:08PM

\n

https://discourse.nixos.org/t/nix-community-values-draft-for-feedback-before-finalisation/49950

", + "id": 455494381, + "sender_full_name": "IFTTT", + "timestamp": 1722463886 + }, + { + "content": "

Nix 2.24 released

\n

August 01, 2024 at 06:03AM

\n

https://discourse.nixos.org/t/nix-2-24-released/49986

", + "id": 455643183, + "sender_full_name": "IFTTT", + "timestamp": 1722517584 + }, + { + "content": "

Welcome Picnoir to the moderation team!

\n

August 02, 2024 at 05:57AM

\n

https://discourse.nixos.org/t/welcome-picnoir-to-the-moderation-team/50042

", + "id": 455928817, + "sender_full_name": "IFTTT", + "timestamp": 1722603727 + }, + { + "content": "

SkaraboxOS - opinionated NixOS installer

\n

August 04, 2024 at 02:57PM

\n

https://discourse.nixos.org/t/skaraboxos-opinionated-nixos-installer/50138

", + "id": 456397895, + "sender_full_name": "IFTTT", + "timestamp": 1722808900 + }, + { + "content": "

nixCats-nvim: new updates

\n

August 09, 2024 at 12:12PM

\n

https://discourse.nixos.org/t/nixcats-nvim-new-updates/50373

", + "id": 459557263, + "sender_full_name": "IFTTT", + "timestamp": 1723231282 + }, + { + "content": "

Several information leaks in Vaultwarden 1.32.0

\n

August 12, 2024 at 03:44AM

\n

https://discourse.nixos.org/t/several-information-leaks-in-vaultwarden-1-32-0/50500

", + "id": 460055779, + "sender_full_name": "IFTTT", + "timestamp": 1723459866 + }, + { + "content": "

Nixos-shell 2.0 can now start Linux VMs on macOS

\n

August 13, 2024 at 11:22PM

\n

https://discourse.nixos.org/t/nixos-shell-2-0-can-now-start-linux-vms-on-macos/50577

", + "id": 462273029, + "sender_full_name": "IFTTT", + "timestamp": 1723617092 + }, + { + "content": "

Security advisory: Graphical installer disk encryption bug regression on legacy BIOS systems using manual partitioning (GHSA-vfxf-gpmj-2p25)

\n

August 15, 2024 at 02:25PM

\n

https://discourse.nixos.org/t/security-advisory-graphical-installer-disk-encryption-bug-regression-on-legacy-bios-systems-using-manual-partitioning-ghsa-vfxf-gpmj-2p25/50665

", + "id": 462643859, + "sender_full_name": "IFTTT", + "timestamp": 1723757211 + }, + { + "content": "

Join the NixOS wiki infra team

\n

August 16, 2024 at 04:05AM

\n

https://discourse.nixos.org/t/join-the-nixos-wiki-infra-team/50689

", + "id": 462764783, + "sender_full_name": "IFTTT", + "timestamp": 1723806685 + }, + { + "content": "

Bachelor's Thesis on Expression Update Security

\n

August 17, 2024 at 03:13AM

\n

https://discourse.nixos.org/t/bachelors-thesis-on-expression-update-security/50738

", + "id": 462963289, + "sender_full_name": "IFTTT", + "timestamp": 1723889808 + }, + { + "content": "

Security Advisory: Hardcoded default password for the root user in NixOS OpenStack configuration module

\n

August 18, 2024 at 11:00AM

\n

https://discourse.nixos.org/t/security-advisory-hardcoded-default-password-for-the-root-user-in-nixos-openstack-configuration-module/50802

", + "id": 463213112, + "sender_full_name": "IFTTT", + "timestamp": 1724004127 + }, + { + "content": "

Introducing the Nix fuck-up assessment form

\n

August 18, 2024 at 02:00PM

\n

https://discourse.nixos.org/t/introducing-the-nix-fuck-up-assessment-form/50807

", + "id": 463241378, + "sender_full_name": "IFTTT", + "timestamp": 1724014925 + }, + { + "content": "

S3 Sponsorship Extension - More Resources to Build a More Sustainable Nix

\n

August 21, 2024 at 09:50AM

\n

https://discourse.nixos.org/t/s3-sponsorship-extension-more-resources-to-build-a-more-sustainable-nix/50936

", + "id": 464109943, + "sender_full_name": "IFTTT", + "timestamp": 1724259112 + }, + { + "content": "

Nixsa - a Nix Standalone Environment

\n

August 22, 2024 at 02:25PM

\n

https://discourse.nixos.org/t/nixsa-a-nix-standalone-environment/50995

", + "id": 464483719, + "sender_full_name": "IFTTT", + "timestamp": 1724362024 + }, + { + "content": "

Uploaded configuration to GitLab

\n

August 23, 2024 at 01:47PM

\n

https://discourse.nixos.org/t/uploaded-configuration-to-gitlab/51054

", + "id": 464743265, + "sender_full_name": "IFTTT", + "timestamp": 1724446320 + }, + { + "content": "

NUR is looking for a new maintainer

\n

August 25, 2024 at 02:37AM

\n

https://discourse.nixos.org/t/nur-is-looking-for-a-new-maintainer/51129

", + "id": 464972981, + "sender_full_name": "IFTTT", + "timestamp": 1724578911 + }, + { + "content": "

\"Reproducibility in Software Engineering\" thesis has been published

\n

August 26, 2024 at 12:01AM

\n

https://discourse.nixos.org/t/reproducibility-in-software-engineering-thesis-has-been-published/51181

", + "id": 465098402, + "sender_full_name": "IFTTT", + "timestamp": 1724655732 + }, + { + "content": "

Flamegraphs for NixOS

\n

August 26, 2024 at 02:00AM

\n

https://discourse.nixos.org/t/flamegraphs-for-nixos/51183

", + "id": 465126647, + "sender_full_name": "IFTTT", + "timestamp": 1724662901 + }, + { + "content": "

Security advisory: Missing authentication in Hydra when triggering evaluations

\n

August 27, 2024 at 05:42PM

\n

https://discourse.nixos.org/t/security-advisory-missing-authentication-in-hydra-when-triggering-evaluations/51262

", + "id": 465598199, + "sender_full_name": "IFTTT", + "timestamp": 1724806018 + }, + { + "content": "

Is this the place to find all nixos / nix security advisories?

\n

August 29, 2024 at 05:37AM

\n

https://discourse.nixos.org/t/is-this-the-place-to-find-all-nixos-nix-security-advisories/51317

", + "id": 466004458, + "sender_full_name": "IFTTT", + "timestamp": 1724935298 + }, + { + "content": "

Stay Updated with the NixOS Blogosphere: Subscribe to the Nixcademy Newsletter

\n

August 29, 2024 at 05:53AM

\n

https://discourse.nixos.org/t/stay-updated-with-the-nixos-blogosphere-subscribe-to-the-nixcademy-newsletter/51318

", + "id": 466007684, + "sender_full_name": "IFTTT", + "timestamp": 1724936215 + }, + { + "content": "

Nix Governance Constitution; draft for feedback

\n

August 30, 2024 at 10:07AM

\n

https://discourse.nixos.org/t/nix-governance-constitution-draft-for-feedback/51373

", + "id": 466311912, + "sender_full_name": "IFTTT", + "timestamp": 1725037919 + }, + { + "content": "

Security advisory: local privilege escalation in the fcgiwrap NixOS module (also affecting the cgit, smokeping, and zoneminder modules)

\n

August 31, 2024 at 08:05AM

\n

https://discourse.nixos.org/t/security-advisory-local-privilege-escalation-in-the-fcgiwrap-nixos-module-also-affecting-the-cgit-smokeping-and-zoneminder-modules/51419

", + "id": 466559292, + "sender_full_name": "IFTTT", + "timestamp": 1725116845 + }, + { + "content": "

Let's have a great 24.11 release cycle!

\n

September 02, 2024 at 08:01PM

\n

https://discourse.nixos.org/t/lets-have-a-great-24-11-release-cycle/51549

", + "id": 467095780, + "sender_full_name": "IFTTT", + "timestamp": 1725332830 + }, + { + "content": "

Infuse.nix: \"deep\" override{Attrs}, generalizes pipe and recursiveUpdate

\n

September 05, 2024 at 04:17AM

\n

https://discourse.nixos.org/t/infuse-nix-deep-override-attrs-generalizes-pipe-and-recursiveupdate/51665

", + "id": 467825243, + "sender_full_name": "IFTTT", + "timestamp": 1725535573 + }, + { + "content": "

Initial Release of Nix Weather (v0.0.2) - Guix Weather... for Nix!

\n

September 05, 2024 at 10:14PM

\n

https://discourse.nixos.org/t/initial-release-of-nix-weather-v0-0-2-guix-weather-for-nix/51694

", + "id": 468069164, + "sender_full_name": "IFTTT", + "timestamp": 1725599829 + }, + { + "content": "

New release of Shoji-nix :key:

\n

September 07, 2024 at 03:23PM

\n

https://discourse.nixos.org/t/new-release-of-shoji-nix/51763

", + "id": 468480124, + "sender_full_name": "IFTTT", + "timestamp": 1725747978 + }, + { + "content": "

Vulnerability in nix 2.24

\n

September 10, 2024 at 03:22AM

\n

https://discourse.nixos.org/t/vulnerability-in-nix-2-24/51902

", + "id": 469053440, + "sender_full_name": "IFTTT", + "timestamp": 1725963997 + }, + { + "content": "

Seeking Feedback: Paid Long-Term Support (LTS) for NixOS starting with 24.05

\n

September 10, 2024 at 06:13AM

\n

https://discourse.nixos.org/t/seeking-feedback-paid-long-term-support-lts-for-nixos-starting-with-24-05/51910

", + "id": 469088431, + "sender_full_name": "IFTTT", + "timestamp": 1725974210 + }, + { + "content": "

New Discord To Discuss Nix/NixOS and the Wider Ecosystem

\n

September 10, 2024 at 05:26PM

\n

https://discourse.nixos.org/t/new-discord-to-discuss-nix-nixos-and-the-wider-ecosystem/51953

", + "id": 469240384, + "sender_full_name": "IFTTT", + "timestamp": 1726014708 + }, + { + "content": "

Morlana: nix-darwin utilities, implemented in Rust

\n

September 10, 2024 at 10:29PM

\n

https://discourse.nixos.org/t/morlana-nix-darwin-utilities-implemented-in-rust/51962

", + "id": 469287010, + "sender_full_name": "IFTTT", + "timestamp": 1726032699 + }, + { + "content": "

Devenv 1.1: Nested Nix outputs using the module system

\n

September 11, 2024 at 03:37AM

\n

https://discourse.nixos.org/t/devenv-1-1-nested-nix-outputs-using-the-module-system/51975

", + "id": 469360692, + "sender_full_name": "IFTTT", + "timestamp": 1726051588 + }, + { + "content": "

Security advisory: Sensitive Data Exposure via services.prometheus.exporters.pgbouncer

\n

September 11, 2024 at 04:44AM

\n

https://discourse.nixos.org/t/security-advisory-sensitive-data-exposure-via-services-prometheus-exporters-pgbouncer/51978

", + "id": 469375232, + "sender_full_name": "IFTTT", + "timestamp": 1726055512 + }, + { + "content": "

Dev report: Providing Type-safe interfaces between NixOS and other languages

\n

September 12, 2024 at 04:02AM

\n

https://discourse.nixos.org/t/dev-report-providing-type-safe-interfaces-between-nixos-and-other-languages/52030

", + "id": 469637282, + "sender_full_name": "IFTTT", + "timestamp": 1726139001 + }, + { + "content": "

NixOS Facter: declarative hardware configuration for NixOS

\n

September 13, 2024 at 03:31AM

\n

https://discourse.nixos.org/t/nixos-facter-declarative-hardware-configuration-for-nixos/52083

", + "id": 469925113, + "sender_full_name": "IFTTT", + "timestamp": 1726223492 + }, + { + "content": "

macOS 15 Sequoia update clobbers _nixbld1-4 users

\n

September 16, 2024 at 08:29AM

\n

https://discourse.nixos.org/t/macos-15-sequoia-update-clobbers-nixbld1-4-users/52223

", + "id": 470647717, + "sender_full_name": "IFTTT", + "timestamp": 1726500736 + }, + { + "content": "

Nix Steering Committee Election 2024

\n

September 16, 2024 at 10:44AM

\n

https://discourse.nixos.org/t/nix-steering-committee-election-2024/52232

", + "id": 470690699, + "sender_full_name": "IFTTT", + "timestamp": 1726508812 + }, + { + "content": "

Broken Framework laptop drivers on 6.11 kernel

\n

September 17, 2024 at 01:54PM

\n

https://discourse.nixos.org/t/broken-framework-laptop-drivers-on-6-11-kernel/52302

", + "id": 471093610, + "sender_full_name": "IFTTT", + "timestamp": 1726606974 + }, + { + "content": "

Nixpkgs-update-notifier: subscribe to nixpkgs-update build errors

\n

September 23, 2024 at 05:09AM

\n

https://discourse.nixos.org/t/nixpkgs-update-notifier-subscribe-to-nixpkgs-update-build-errors/52554

", + "id": 472212010, + "sender_full_name": "IFTTT", + "timestamp": 1727093504 + }, + { + "content": "

Security Advisory: Environment variables accessible during a build might be world readable

\n

September 23, 2024 at 11:56PM

\n

https://discourse.nixos.org/t/security-advisory-environment-variables-accessible-during-a-build-might-be-world-readable/52601

", + "id": 472413226, + "sender_full_name": "IFTTT", + "timestamp": 1727161355 + }, + { + "content": "

Devenv 1.2: Tasks for convergent configuration with Nix

\n

September 24, 2024 at 06:11AM

\n

https://discourse.nixos.org/t/devenv-1-2-tasks-for-convergent-configuration-with-nix/52619

", + "id": 472548931, + "sender_full_name": "IFTTT", + "timestamp": 1727201500 + }, + { + "content": "

RFC 0180 FCP: Remove broken packages or unmaintained leaf packages

\n

September 25, 2024 at 12:04PM

\n

https://discourse.nixos.org/t/rfc-0180-fcp-remove-broken-packages-or-unmaintained-leaf-packages/52704

", + "id": 472758697, + "sender_full_name": "IFTTT", + "timestamp": 1727291250 + }, + { + "content": "

Nix 2.24.8 release to fix builtin:fetchurl security issue

\n

September 26, 2024 at 01:56AM

\n

https://discourse.nixos.org/t/nix-2-24-8-release-to-fix-builtin-fetchurl-security-issue/52732

", + "id": 472848056, + "sender_full_name": "IFTTT", + "timestamp": 1727341316 + }, + { + "content": "

Nix-system-graphics: Seamless nix graphics on any Linux distribution

\n

September 26, 2024 at 06:40AM

\n

https://discourse.nixos.org/t/nix-system-graphics-seamless-nix-graphics-on-any-linux-distribution/52747

", + "id": 472901324, + "sender_full_name": "IFTTT", + "timestamp": 1727358398 + }, + { + "content": "

Security Advisory: Unsafe handling of credentials in pkgs.fetchurl

\n

September 26, 2024 at 01:57PM

\n

https://discourse.nixos.org/t/security-advisory-unsafe-handling-of-credentials-in-pkgs-fetchurl/52767

", + "id": 472973039, + "sender_full_name": "IFTTT", + "timestamp": 1727384547 + }, + { + "content": "

NixOS :green_heart: Xen Project — Reviving the Xen Project Hypervisor on Nixpkgs

\n

September 26, 2024 at 02:21PM

\n

https://discourse.nixos.org/t/nixos-xen-project-reviving-the-xen-project-hypervisor-on-nixpkgs/52768

", + "id": 472975712, + "sender_full_name": "IFTTT", + "timestamp": 1727385983 + }, + { + "content": "

Newly announced vulnerabilities in CUPS

\n

September 26, 2024 at 02:47PM

\n

https://discourse.nixos.org/t/newly-announced-vulnerabilities-in-cups/52771

", + "id": 472990802, + "sender_full_name": "IFTTT", + "timestamp": 1727395310 + }, + { + "content": "

cups, cups-filters and libppd security issues

\n

September 26, 2024 at 11:23PM

\n

https://discourse.nixos.org/t/cups-cups-filters-and-libppd-security-issues/52780

", + "id": 473023631, + "sender_full_name": "IFTTT", + "timestamp": 1727418721 + }, + { + "content": "

Devenv 1.3: Instant developer environments with Nix caching

\n

October 03, 2024 at 06:38AM

\n

https://discourse.nixos.org/t/devenv-1-3-instant-developer-environments-with-nix-caching/53851

", + "id": 474594788, + "sender_full_name": "IFTTT", + "timestamp": 1727963213 + }, + { + "content": "

Denix: A Library for Creating Scalable NixOS and Home Manager Configurations with Modules, Hosts, and Rices

\n

October 04, 2024 at 07:14AM

\n

https://discourse.nixos.org/t/denix-a-library-for-creating-scalable-nixos-and-home-manager-configurations-with-modules-hosts-and-rices/53916

", + "id": 474833436, + "sender_full_name": "IFTTT", + "timestamp": 1728051421 + }, + { + "content": "

Steering Committee candidates on the Full Time Nix podcast

\n

October 06, 2024 at 02:30AM

\n

https://discourse.nixos.org/t/steering-committee-candidates-on-the-full-time-nix-podcast/53989

", + "id": 475081281, + "sender_full_name": "IFTTT", + "timestamp": 1728207402 + }, + { + "content": "

Ordenada is a Reproducible Development Environment for Nix

\n

October 09, 2024 at 03:38AM

\n

https://discourse.nixos.org/t/ordenada-is-a-reproducible-development-environment-for-nix/54131

", + "id": 475823729, + "sender_full_name": "IFTTT", + "timestamp": 1728470468 + }, + { + "content": "

Introducing Thymis: Web-Based Dashboard and Device Provisioning for NixOS

\n

October 09, 2024 at 10:18AM

\n

https://discourse.nixos.org/t/introducing-thymis-web-based-dashboard-and-device-provisioning-for-nixos/54147

", + "id": 475920842, + "sender_full_name": "IFTTT", + "timestamp": 1728494512 + }, + { + "content": "

Formalize creation of the stdenv team

\n

October 11, 2024 at 10:04AM

\n

https://discourse.nixos.org/t/formalize-creation-of-the-stdenv-team/54232

", + "id": 476427931, + "sender_full_name": "IFTTT", + "timestamp": 1728666455 + }, + { + "content": "

OceanSprint #5 is happening on March 2025

\n

October 15, 2024 at 09:33AM

\n

https://discourse.nixos.org/t/oceansprint-5-is-happening-on-march-2025/54399

", + "id": 477029103, + "sender_full_name": "IFTTT", + "timestamp": 1729010213 + }, + { + "content": "

A Batch of nixbuild.net Updates

\n

October 18, 2024 at 10:19AM

\n

https://discourse.nixos.org/t/a-batch-of-nixbuild-net-updates/54545

", + "id": 477699212, + "sender_full_name": "IFTTT", + "timestamp": 1729272106 + }, + { + "content": "

Nix-output-monitor 2.1.4

\n

October 19, 2024 at 03:46AM

\n

https://discourse.nixos.org/t/nix-output-monitor-2-1-4/54583

", + "id": 477795470, + "sender_full_name": "IFTTT", + "timestamp": 1729334814 + }, + { + "content": "

Announcing Determinate Nix

\n

October 21, 2024 at 12:41PM

\n

https://discourse.nixos.org/t/announcing-determinate-nix/54709

", + "id": 478139760, + "sender_full_name": "IFTTT", + "timestamp": 1729540915 + }, + { + "content": "

Devenv is switching Nix implementation to Tvix

\n

October 22, 2024 at 06:25AM

\n

https://discourse.nixos.org/t/devenv-is-switching-nix-implementation-to-tvix/54753

", + "id": 478284858, + "sender_full_name": "IFTTT", + "timestamp": 1729603610 + }, + { + "content": "

Nix-make: Incremental builds for C and C++

\n

October 23, 2024 at 04:43AM

\n

https://discourse.nixos.org/t/nix-make-incremental-builds-for-c-and-c/54812

", + "id": 478475844, + "sender_full_name": "IFTTT", + "timestamp": 1729684002 + }, + { + "content": "

Nix-raspi-camera: A Raspberry PI camera module and apps

\n

October 23, 2024 at 07:55AM

\n

https://discourse.nixos.org/t/nix-raspi-camera-a-raspberry-pi-camera-module-and-apps/54823

", + "id": 478516237, + "sender_full_name": "IFTTT", + "timestamp": 1729695389 + }, + { + "content": "

Announcing FlakeHub Cache and private flakes

\n

October 23, 2024 at 10:26AM

\n

https://discourse.nixos.org/t/announcing-flakehub-cache-and-private-flakes/54832

", + "id": 478547956, + "sender_full_name": "IFTTT", + "timestamp": 1729704683 + }, + { + "content": "

Globset: Source filtering using globs with filesets

\n

October 25, 2024 at 01:36AM

\n

https://discourse.nixos.org/t/globset-source-filtering-using-globs-with-filesets/54915

", + "id": 478869198, + "sender_full_name": "IFTTT", + "timestamp": 1729845688 + }, + { + "content": "

The Darwin SDKs have been updated

\n

October 31, 2024 at 07:26AM

\n

https://discourse.nixos.org/t/the-darwin-sdks-have-been-updated/55295

", + "id": 479891650, + "sender_full_name": "IFTTT", + "timestamp": 1730385129 + }, + { + "content": "

Nix-mongodb-bin: Flake for almost every MongoDB version there is

\n

October 31, 2024 at 04:35PM

\n

https://discourse.nixos.org/t/nix-mongodb-bin-flake-for-almost-every-mongodb-version-there-is/55322

", + "id": 479974193, + "sender_full_name": "IFTTT", + "timestamp": 1730417786 + }, + { + "content": "

Nix Community Survey 2024 Results

\n

November 02, 2024 at 12:23PM

\n

https://discourse.nixos.org/t/nix-community-survey-2024-results/55403

", + "id": 480244580, + "sender_full_name": "IFTTT", + "timestamp": 1730575877 + }, + { + "content": "

Unofficial Nix/NixOS Uzbek Community on Telegram

\n

November 02, 2024 at 06:57PM

\n

https://discourse.nixos.org/t/unofficial-nix-nixos-uzbek-community-on-telegram/55418

", + "id": 480267790, + "sender_full_name": "IFTTT", + "timestamp": 1730599303 + }, + { + "content": "

Nix Community Survey 2024 Results: Gender

\n

November 02, 2024 at 09:46PM

\n

https://discourse.nixos.org/t/nix-community-survey-2024-results-gender/55489

", + "id": 480501898, + "sender_full_name": "IFTTT", + "timestamp": 1730744526 + }, + { + "content": "

Call for T-Shirt Designs: FOSDEM 2025 Nix Merchandise

\n

November 02, 2024 at 07:30AM

\n

https://discourse.nixos.org/t/call-for-t-shirt-designs-fosdem-2025-nix-merchandise/55391

", + "id": 480537085, + "sender_full_name": "IFTTT", + "timestamp": 1730759495 + }, + { + "content": "

Results for the Nix Steering Committee Election 2024

\n

November 05, 2024 at 02:16AM

\n

https://discourse.nixos.org/t/results-for-the-nix-steering-committee-election-2024/55511

", + "id": 480687388, + "sender_full_name": "IFTTT", + "timestamp": 1730802400 + }, + { + "content": "

Nixos-rebuild-ng: a nixos-rebuild rewrite

\n

November 06, 2024 at 07:52AM

\n

https://discourse.nixos.org/t/nixos-rebuild-ng-a-nixos-rebuild-rewrite/55606

", + "id": 480950901, + "sender_full_name": "IFTTT", + "timestamp": 1730908605 + }, + { + "content": "

Nix-Infra Provisions and Orchestrates Your NixOS Private Cloud

\n

November 10, 2024 at 05:11AM

\n

https://discourse.nixos.org/t/nix-infra-provisions-and-orchestrates-your-nixos-private-cloud/55822

", + "id": 481560617, + "sender_full_name": "IFTTT", + "timestamp": 1731244314 + }, + { + "content": "

Garnix Blog: Private caches

\n

November 11, 2024 at 11:27AM

\n

https://discourse.nixos.org/t/garnix-blog-private-caches/55894

", + "id": 481793169, + "sender_full_name": "IFTTT", + "timestamp": 1731353530 + }, + { + "content": "

Concluding the Nix Constitutional Assembly (NCA)

\n

November 11, 2024 at 11:42AM

\n

https://discourse.nixos.org/t/concluding-the-nix-constitutional-assembly-nca/55896

", + "id": 481797672, + "sender_full_name": "IFTTT", + "timestamp": 1731354441 + }, + { + "content": "

Nix 2.25 released

\n

November 13, 2024 at 04:36AM

\n

https://discourse.nixos.org/t/nix-2-25-released/55988

", + "id": 482162201, + "sender_full_name": "IFTTT", + "timestamp": 1731501428 + }, + { + "content": "

Nix 2.25 released

\n

November 13, 2024 at 06:25AM

\n

https://discourse.nixos.org/t/nix-2-25-released/55994

", + "id": 482184563, + "sender_full_name": "IFTTT", + "timestamp": 1731508007 + } +] \ No newline at end of file diff --git a/zulip_json/415266-social-media/Hacker.20News.json b/zulip_json/415266-social-media/Hacker.20News.json new file mode 100644 index 00000000000..9e8b8cbc290 --- /dev/null +++ b/zulip_json/415266-social-media/Hacker.20News.json @@ -0,0 +1,182 @@ +[ + { + "content": "

Flakes aren't real and cannot hurt you: using Nix flakes the non-flake way

\n

January 09, 2024 at 10:05AM

\n

https://jade.fyi/blog/flakes-arent-real/

", + "id": 412019606, + "sender_full_name": "IFTTT", + "timestamp": 1704837737 + }, + { + "content": "

NixOS: Declarative Builds and Deployments

\n

January 14, 2024 at 02:27PM

\n

https://nixos.org/

", + "id": 412858371, + "sender_full_name": "IFTTT", + "timestamp": 1705277501 + }, + { + "content": "

Going declarative on macOS with Nix and Nix-Darwin

\n

January 15, 2024 at 11:10AM

\n

https://nixcademy.com/2024/01/15/nix-on-macos/

", + "id": 413023383, + "sender_full_name": "IFTTT", + "timestamp": 1705349825 + }, + { + "content": "

IFTTT said:

\n
\n

Going declarative on macOS with Nix and Nix-Darwin

\n

January 15, 2024 at 11:10AM

\n

https://nixcademy.com/2024/01/15/nix-on-macos/

\n
\n

https://news.ycombinator.com/item?id=39004785

", + "id": 413114010, + "sender_full_name": "Srid", + "timestamp": 1705397635 + }, + { + "content": "

Cloudflare R2-Backed Nix Binary Cache on Fly.io

\n

January 17, 2024 at 08:32AM

\n

https://lgug2z.com/articles/deploying-a-cloudflare-r2-backed-nix-binary-cache-attic-on-fly-io/

", + "id": 416331372, + "sender_full_name": "IFTTT", + "timestamp": 1705523531 + }, + { + "content": "

Geospatial Nix – create, use and deploy today

\n

February 24, 2024 at 01:44AM

\n

https://geospatial-nix.today/

", + "id": 423179209, + "sender_full_name": "IFTTT", + "timestamp": 1708787495 + }, + { + "content": "

Kākāpō – A web bundler for Nix strings with context

\n

March 10, 2024 at 05:57AM

\n

https://github.com/adisbladis/kakapo

", + "id": 425794255, + "sender_full_name": "IFTTT", + "timestamp": 1710095514 + }, + { + "content": "

Show HN: Flox 1.0 – Open-source dev env as code with Nix

\n

March 13, 2024 at 08:44AM

\n

https://github.com/flox/flox

", + "id": 426392216, + "sender_full_name": "IFTTT", + "timestamp": 1710350811 + }, + { + "content": "

Show HN: FlakeHub Cache: Fast, secure, configurable. A new take on Nix caching

\n

March 13, 2024 at 07:38AM

\n

https://determinate.systems/posts/flakehub-cache-beta/

", + "id": 426443569, + "sender_full_name": "IFTTT", + "timestamp": 1710372700 + }, + { + "content": "

Nix is a better Docker image builder than Docker's image builder

\n

March 15, 2024 at 12:56PM

\n

https://xeiaso.net/talks/2024/nix-docker-build/

", + "id": 426826458, + "sender_full_name": "IFTTT", + "timestamp": 1710538900 + }, + { + "content": "

Nix at Scale

\n

March 25, 2024 at 07:52PM

\n

https://lwn.net/SubscriberLink/965631/f3db6d3dde3f83cb/

", + "id": 429698478, + "sender_full_name": "IFTTT", + "timestamp": 1711471902 + }, + { + "content": "

NixOS-generators – Collection of VM and Container disk image builders for NixOS

\n

March 26, 2024 at 08:24AM

\n

https://github.com/nix-community/nixos-generators

", + "id": 429811529, + "sender_full_name": "IFTTT", + "timestamp": 1711530098 + }, + { + "content": "

Nix – A One Pager

\n

April 06, 2024 at 07:44PM

\n

https://github.com/tazjin/nix-1p/blob/master/README.md

", + "id": 431748093, + "sender_full_name": "IFTTT", + "timestamp": 1712481713 + }, + { + "content": "

Official NixOS Wiki Launched

\n

April 11, 2024 at 04:08AM

\n

https://wiki.nixos.org/wiki/NixOS_Wiki

", + "id": 432772254, + "sender_full_name": "IFTTT", + "timestamp": 1712863299 + }, + { + "content": "

Fast, Declarative, Reproduble and Composable Developer Environments Using Nix

\n

April 12, 2024 at 03:08AM

\n

https://devenv.sh/

", + "id": 432902837, + "sender_full_name": "IFTTT", + "timestamp": 1712928110 + }, + { + "content": "

Tvix – A New Implementation of Nix

\n

April 16, 2024 at 02:51PM

\n

https://tvix.dev/

", + "id": 433622842, + "sender_full_name": "IFTTT", + "timestamp": 1713309721 + }, + { + "content": "

open letter to the NixOS foundation

\n

April 21, 2024 at 10:12AM

\n

https://save-nix-together.org/

", + "id": 434801179, + "sender_full_name": "IFTTT", + "timestamp": 1713805320 + }, + { + "content": "

Package management on macOS with Nix-Darwin

\n

April 25, 2024 at 08:15AM

\n

https://davi.sh/blog/2024/01/nix-darwin/

", + "id": 435428281, + "sender_full_name": "IFTTT", + "timestamp": 1714063287 + }, + { + "content": "

The dire state of NixOS's moderation culture

\n

April 26, 2024 at 01:04AM

\n

https://github.com/nrdxp/rfc-evidence/blob/master/rfc_evidences_experiences.md

", + "id": 435601868, + "sender_full_name": "IFTTT", + "timestamp": 1714143083 + }, + { + "content": "

On Community in Nix

\n

April 26, 2024 at 10:34AM

\n

https://determinate.systems/posts/on-community-in-nix/

", + "id": 435879103, + "sender_full_name": "IFTTT", + "timestamp": 1714314995 + }, + { + "content": "

A leadership crisis in the Nix community

\n

April 29, 2024 at 07:57AM

\n

https://lwn.net/SubscriberLink/970824/0d89c6d83efad1e0/

", + "id": 436079665, + "sender_full_name": "IFTTT", + "timestamp": 1714405313 + }, + { + "content": "

NixOS 24.05 \"Uakari\" Released

\n

May 31, 2024 at 12:22PM

\n

https://nixos.org/blog/announcements/2024/nixos-2405/

", + "id": 441972544, + "sender_full_name": "IFTTT", + "timestamp": 1717279622 + }, + { + "content": "

Show HN: Brioche – A new Nix-like package manager

\n

June 03, 2024 at 09:00AM

\n

https://brioche.dev/blog/announcing-brioche/

", + "id": 442365558, + "sender_full_name": "IFTTT", + "timestamp": 1717446695 + }, + { + "content": "

Brew-Nix: a flake automatically packaging all homebrew casks

\n

June 13, 2024 at 07:16PM

\n

https://discourse.nixos.org/t/brew-nix-a-flake-automatically-packaging-all-homebrew-casks/44880

", + "id": 444640129, + "sender_full_name": "IFTTT", + "timestamp": 1718350895 + }, + { + "content": "

The Overengineered Resume with Zola, JSON Resume, Weasyprint, and Nix

\n

July 11, 2024 at 01:06AM

\n

https://ktema.org/articles/the-overengineered-resume/

", + "id": 450682304, + "sender_full_name": "IFTTT", + "timestamp": 1720696891 + }, + { + "content": "

SnowflakeOS: Beginner friendly and GUI focused NixOS variant

\n

July 31, 2024 at 04:06PM

\n

https://snowflakeos.org/

", + "id": 455518927, + "sender_full_name": "IFTTT", + "timestamp": 1722475602 + }, + { + "content": "

Interactive NixOS Tests

\n

September 03, 2024 at 11:10PM

\n

https://paperless.blog/interactive-nixos-tests

", + "id": 467472707, + "sender_full_name": "IFTTT", + "timestamp": 1725441996 + }, + { + "content": "

Nix 2.24 is vulnerable to (remote) privilege escalation

\n

September 09, 2024 at 01:05PM

\n

https://puckipedia.com/7hkj-98sq/qixt

", + "id": 469058266, + "sender_full_name": "IFTTT", + "timestamp": 1725965812 + }, + { + "content": "

NixOS is a good server OS, except when it isn't

\n

October 01, 2024 at 09:06PM

\n

https://sidhion.com/blog/posts/nixos_server_issues/

", + "id": 474203981, + "sender_full_name": "IFTTT", + "timestamp": 1727850685 + }, + { + "content": "

NixOS Is Not Reproducible

\n

October 26, 2024 at 12:19AM

\n

https://linderud.dev/blog/nixos-is-not-reproducible/

", + "id": 479041336, + "sender_full_name": "IFTTT", + "timestamp": 1729939886 + } +] \ No newline at end of file diff --git a/zulip_json/415266-social-media/Lobste.2Ers.json b/zulip_json/415266-social-media/Lobste.2Ers.json new file mode 100644 index 00000000000..6378374b001 --- /dev/null +++ b/zulip_json/415266-social-media/Lobste.2Ers.json @@ -0,0 +1,986 @@ +[ + { + "content": "

Source filtering with file sets

\n

Date: Tue, 28 Nov 2023 07:52:33 -0600
\nLink: https://www.tweag.io/blog/2023-11-28-file-sets/
\nComments: https://lobste.rs/s/3yltn4/source_filtering_with_file_sets

", + "id": 404985529, + "sender_full_name": "Zapier", + "timestamp": 1701308812 + }, + { + "content": "

nixpkgs 23.11

\n

Date: Wed, 29 Nov 2023 20:55:06 -0600
\nLink: https://github.com/NixOS/nixpkgs/tree/23.11
\nComments: https://lobste.rs/s/q26ap9/nixpkgs_23_11

", + "id": 404999940, + "sender_full_name": "Zapier", + "timestamp": 1701313152 + }, + { + "content": "

Release: garn version v0.0.17 and v0.0.18

\n

Date: Fri, 01 Dec 2023 05:15:05 -0600
\nLink: https://garnix.io/blog/garn-v0_0_18
\nComments: https://lobste.rs/s/wmfyob/release_garn_version_v0_0_17_v0_0_18

", + "id": 405341116, + "sender_full_name": "Zapier", + "timestamp": 1701429778 + }, + { + "content": "

Unveiling the Power of the NixOS Integration Test Driver (Part 2)

\n

Date: Sat, 02 Dec 2023 03:58:55 -0600
\nLink: https://nixcademy.com/2023/12/01/nixos-integration-tests-part-2/
\nComments: https://lobste.rs/s/2bayti/unveiling_power_nixos_integration_test

", + "id": 405519736, + "sender_full_name": "Zapier", + "timestamp": 1701511864 + }, + { + "content": "

Efficient Nix Derivations with File Sets

\n

Date: Sat, 02 Dec 2023 15:29:37 -0600
\nLink: https://johns.codes/blog/efficient-nix-derivations-with-file-sets
\nComments: https://lobste.rs/s/wvd8hg/efficient_nix_derivations_with_file_sets

", + "id": 405568292, + "sender_full_name": "Zapier", + "timestamp": 1701552607 + }, + { + "content": "

Nix-snapshotter: Native understanding of Nix packages for containerd

\n

Date: Sat, 02 Dec 2023 17:52:31 -0600
\nLink: https://discourse.nixos.org/t/nix-snapshotter-native-understanding-of-nix-packages-for-containerd/32696
\nComments: https://lobste.rs/s/nogwtn/nix_snapshotter_native_understanding

", + "id": 405577785, + "sender_full_name": "Zapier", + "timestamp": 1701561615 + }, + { + "content": "

Announcing - First NixCon North America

\n

Date: Sun, 03 Dec 2023 11:21:09 -0600
\nLink: https://discourse.nixos.org/t/announcing-first-nixcon-north-america/35874?u=zmitchell
\nComments: https://lobste.rs/s/kmcuf4/announcing_first_nixcon_north_america

", + "id": 405683452, + "sender_full_name": "Zapier", + "timestamp": 1701625016 + }, + { + "content": "

Nix Super

\n

Date: Tue, 05 Dec 2023 12:15:13 -0600
\nLink: https://github.com/privatevoid-net/nix-super
\nComments: https://lobste.rs/s/i7k7zv/nix_super

", + "id": 406120326, + "sender_full_name": "Zapier", + "timestamp": 1701800716 + }, + { + "content": "

nix-ld: Run unpatched dynamic binaries on NixOS

\n

Date: Thu, 07 Dec 2023 04:27:01 -0600
\nLink: https://github.com/Mic92/nix-ld
\nComments: https://lobste.rs/s/zz9au3/nix_ld_run_unpatched_dynamic_binaries_on

", + "id": 406515089, + "sender_full_name": "Zapier", + "timestamp": 1701945563 + }, + { + "content": "

Run macOS, Windows and more via a single Nix command

\n

Date: Sat, 09 Dec 2023 20:06:07 -0600
\nLink: https://github.com/MatthewCroughan/NixThePlanet
\nComments: https://lobste.rs/s/epvubb/run_macos_windows_more_via_single_nix

", + "id": 406997360, + "sender_full_name": "Zapier", + "timestamp": 1702174582 + }, + { + "content": "

Install NixOS with Flake configuration on Git

\n

Date: Mon, 11 Dec 2023 09:23:47 -0600
\nLink: https://nixos.asia/en/tutorial/nixos-install
\nComments: https://lobste.rs/s/sd9kqb/install_nixos_with_flake_configuration

", + "id": 407264499, + "sender_full_name": "Zapier", + "timestamp": 1702308599 + }, + { + "content": "

openwrt - dewclaw.git - the second-worst way to configure openwrt, by some metric

\n

Date: Wed, 13 Dec 2023 07:42:19 -0600
\nLink: https://git.eno.space/dewclaw.git/tree/openwrt
\nComments: https://lobste.rs/s/7qwq4g/openwrt_dewclaw_git_second_worst_way

", + "id": 407730514, + "sender_full_name": "Zapier", + "timestamp": 1702475397 + }, + { + "content": "

NixOS-DNS: Manage your dns zones with NixOS

\n

Date: Wed, 13 Dec 2023 07:41:01 -0600
\nLink: https://github.com/Janik-Haag/nixos-dns/
\nComments: https://lobste.rs/s/q29msm/nixos_dns_manage_your_dns_zones_with_nixos

", + "id": 407730519, + "sender_full_name": "Zapier", + "timestamp": 1702475398 + }, + { + "content": "

What I Like About Nix

\n

Date: Wed, 13 Dec 2023 07:55:03 -0600
\nLink: https://davi.sh/blog/2023/12/what-i-like-about-nix/
\nComments: https://lobste.rs/s/k53l1s/what_i_like_about_nix

", + "id": 407734333, + "sender_full_name": "Zapier", + "timestamp": 1702476417 + }, + { + "content": "

Some notes on NixOS

\n

January 01, 2024 at 09:09AM

\n

https://jvns.ca/blog/2024/01/01/some-notes-on-nixos/

", + "id": 410739598, + "sender_full_name": "IFTTT", + "timestamp": 1704129030 + }, + { + "content": "

Comrak on Akkoma

\n

January 01, 2024 at 08:52PM

\n

https://lottia.net/notes/0006-comrak-on-akkoma.html

\n
        <p><a href="https://lobste.rs/s/qhcjmk/comrak_on_akkoma">Comments</a></p>\n
", + "id": 410794654, + "sender_full_name": "IFTTT", + "timestamp": 1704171349 + }, + { + "content": "

Flakes aren't real and cannot hurt you: a guide to using Nix flakes the non-flake way

\n

January 02, 2024 at 05:58AM

\n

https://jade.fyi/blog/flakes-arent-real/

\n
        <p><a href="https://lobste.rs/s/exlaeq/flakes_aren_t_real_cannot_hurt_you_guide">Comments</a></p>\n
", + "id": 410849638, + "sender_full_name": "IFTTT", + "timestamp": 1704204054 + }, + { + "content": "

The Nix Thesis

\n

January 02, 2024 at 09:25AM

\n

https://jonathanlorimer.dev/posts/nix-thesis.html

\n
        <p><a href="https://lobste.rs/s/kgvnxd/nix_thesis">Comments</a></p>\n
", + "id": 410880127, + "sender_full_name": "IFTTT", + "timestamp": 1704216678 + }, + { + "content": "

Elixir Dev Environment With Nix Flakes

\n

January 02, 2024 at 09:28PM

\n

https://www.mathiaspolligkeit.com/elixir-dev-environment-with-nix-flakes/

\n
        <p><a href="https://lobste.rs/s/4loezq/elixir_dev_environment_with_nix_flakes">Comments</a></p>\n
", + "id": 410959389, + "sender_full_name": "IFTTT", + "timestamp": 1704259826 + }, + { + "content": "

I'm speaking at NixCon North America 2024! - Xe Iaso

\n

January 04, 2024 at 02:32PM

\n

https://xeiaso.net//blog/2024/nixcon-na/

\n
        <p><a href="https://lobste.rs/s/wqeu4r/i_m_speaking_at_nixcon_north_america_2024">Comments</a></p>\n
", + "id": 411272297, + "sender_full_name": "IFTTT", + "timestamp": 1704407735 + }, + { + "content": "

Typing \"nix-env -i\" should not try to install every single package [2014]

\n

January 05, 2024 at 01:38AM

\n

https://github.com/NixOS/nix/issues/308

\n
        <p><a href="https://lobste.rs/s/hekyng/typing_nix_env_i_should_not_try_install">Comments</a></p>\n
", + "id": 411335954, + "sender_full_name": "IFTTT", + "timestamp": 1704447637 + }, + { + "content": "

Nix Evaluation Performance & Thunks

\n

January 11, 2024 at 10:24AM

\n

https://nixos.wiki/wiki/Nix_Evaluation_Performance

\n
        <p><a href="https://lobste.rs/s/5y768y/nix_evaluation_performance_thunks">Comments</a></p>\n
", + "id": 412399058, + "sender_full_name": "IFTTT", + "timestamp": 1704997848 + }, + { + "content": "

Cachix: v1.7

\n

January 12, 2024 at 05:32AM

\n

https://blog.cachix.org/posts/2024-01-12-cachix-v1-7/

\n
        <p><a href="https://lobste.rs/s/otv02n/cachix_v1_7">Comments</a></p>\n
", + "id": 412545832, + "sender_full_name": "IFTTT", + "timestamp": 1705066543 + }, + { + "content": "

Using the Nix post-build-hook

\n

January 15, 2024 at 01:43AM

\n

https://nixos.org/manual/nix/stable/advanced-topics/post-build-hook

\n
        <p><a href="https://lobste.rs/s/pphmcp/using_nix_post_build_hook">Comments</a></p>\n
", + "id": 412919355, + "sender_full_name": "IFTTT", + "timestamp": 1705311950 + }, + { + "content": "

Setting up Nix on macOS

\n

January 15, 2024 at 11:09AM

\n

https://nixcademy.com/2024/01/15/nix-on-macos/

\n
        <p><a href="https://lobste.rs/s/wv6hs3/setting_up_nix_on_macos">Comments</a></p>\n
", + "id": 413016172, + "sender_full_name": "IFTTT", + "timestamp": 1705345847 + }, + { + "content": "

First steps with Nix

\n

January 19, 2024 at 01:06AM

\n

https://nixos.asia/en/nix-first

\n
        <p><a href="https://lobste.rs/s/jgezbz/first_steps_with_nix">Comments</a></p>\n
", + "id": 416736656, + "sender_full_name": "IFTTT", + "timestamp": 1705655743 + }, + { + "content": "

The History of Nix at Bellroy

\n

January 24, 2024 at 02:54PM

\n

https://exploring-better-ways.bellroy.com/the-history-of-nix-at-bellroy.html

\n
        <p><a href="https://lobste.rs/s/wmhctu/history_nix_at_bellroy">Comments</a></p>\n
", + "id": 417978504, + "sender_full_name": "IFTTT", + "timestamp": 1706137234 + }, + { + "content": "

Nix from the bottom up

\n

January 25, 2024 at 03:56AM

\n

http://www.chriswarbo.net/projects/nixos/bottom_up.html

\n
        <p><a href="https://lobste.rs/s/spdccn/nix_from_bottom_up">Comments</a></p>\n
", + "id": 418064583, + "sender_full_name": "IFTTT", + "timestamp": 1706184053 + }, + { + "content": "

Project IDX

\n

January 26, 2024 at 06:13AM

\n

https://idx.dev/

\n
      <p>Here’s where it uses Nix, for the curious: <a href="https://developers.google.com/idx/guides/customize-idx-env" rel="ugc">https://developers.google.com/idx/guides/customize-idx-env</a></p>\n
\n\n

<p>Just went Public Access.</p>

\n
        <p><a href="https://lobste.rs/s/xpsh0y/project_idx">Comments</a></p>\n
", + "id": 418283953, + "sender_full_name": "IFTTT", + "timestamp": 1706278537 + }, + { + "content": "

Enhancing trust for SGX enclaves

\n

January 29, 2024 at 09:00AM

\n

https://blog.trailofbits.com/2024/01/26/enhancing-trust-for-sgx-enclaves/

\n
        <p><a href="https://lobste.rs/s/qkuc4t/enhancing_trust_for_sgx_enclaves">Comments</a></p>\n
", + "id": 418682035, + "sender_full_name": "IFTTT", + "timestamp": 1706547954 + }, + { + "content": "

How to Learn Nix, Part 49: nix-direnv is a huge quality of life improvement

\n

January 30, 2024 at 03:31PM

\n

https://ianthehenry.com/posts/how-to-learn-nix/nix-direnv/

\n
        <p><a href="https://lobste.rs/s/wmr4x0/how_learn_nix_part_49_nix_direnv_is_huge">Comments</a></p>\n
", + "id": 418940562, + "sender_full_name": "IFTTT", + "timestamp": 1706658025 + }, + { + "content": "

Separation of Concerns in Cross-Compilation

\n

January 31, 2024 at 01:10AM

\n

https://nixcademy.com/2024/01/30/cross-compilation-with-nix/

\n
        <p><a href="https://lobste.rs/s/kh6mxo/separation_concerns_cross_compilation">Comments</a></p>\n
", + "id": 418995625, + "sender_full_name": "IFTTT", + "timestamp": 1706692524 + }, + { + "content": "

Overview of Nix Formatters Ecosystem

\n

February 05, 2024 at 01:30AM

\n

https://drakerossman.com/blog/overview-of-nix-formatters-ecosystem

\n
        <p><a href="https://lobste.rs/s/sri4bn/overview_nix_formatters_ecosystem">Comments</a></p>\n
", + "id": 419797002, + "sender_full_name": "IFTTT", + "timestamp": 1707125713 + }, + { + "content": "

Build and Deploy Linux Systems from macOS

\n

February 12, 2024 at 11:29PM

\n

https://nixcademy.com/2024/02/12/macos-linux-builder/

\n
        <p><a href="https://lobste.rs/s/meyrl2/build_deploy_linux_systems_from_macos">Comments</a></p>\n
", + "id": 421188733, + "sender_full_name": "IFTTT", + "timestamp": 1707809443 + }, + { + "content": "

Integration testing with NixOS in Github Actions

\n

February 13, 2024 at 12:26PM

\n

https://jnsgr.uk/2024/02/nixos-vms-in-github-actions/

\n
        <p><a href="https://lobste.rs/s/xwekng/integration_testing_with_nixos_github">Comments</a></p>\n
", + "id": 421320606, + "sender_full_name": "IFTTT", + "timestamp": 1707856249 + }, + { + "content": "

Tvix Status - February '24

\n

February 15, 2024 at 12:03PM

\n

https://tvl.fyi/blog/tvix-update-february-24

\n
        <p><a href="https://lobste.rs/s/lnf8op/tvix_status_february_24">Comments</a></p>\n
", + "id": 421731811, + "sender_full_name": "IFTTT", + "timestamp": 1708027571 + }, + { + "content": "

Dependency solving in Nix

\n

February 15, 2024 at 04:24PM

\n

http://www.chriswarbo.net/projects/nixos/nix_dependencies.html

\n
        <p><a href="https://lobste.rs/s/3blthf/dependency_solving_nix">Comments</a></p>\n
", + "id": 421765895, + "sender_full_name": "IFTTT", + "timestamp": 1708043435 + }, + { + "content": "

guix on the framework 13 amd

\n

February 16, 2024 at 08:02AM

\n

https://wingolog.org/archives/2024/02/16/guix-on-the-framework-13-amd

\n
        <p><a href="https://lobste.rs/s/mb6xlm/guix_on_framework_13_amd">Comments</a></p>\n
", + "id": 421890618, + "sender_full_name": "IFTTT", + "timestamp": 1708099605 + }, + { + "content": "

Packaging Scrutiny for NixOS

\n

February 16, 2024 at 09:06AM

\n

https://jnsgr.uk/2024/02/packaging-scrutiny-for-nixos/

\n
        <p><a href="https://lobste.rs/s/oumrhu/packaging_scrutiny_for_nixos">Comments</a></p>\n
", + "id": 421903562, + "sender_full_name": "IFTTT", + "timestamp": 1708103725 + }, + { + "content": "

Managing dotfiles on macOS with Nix

\n

February 18, 2024 at 05:55AM

\n

https://davi.sh/blog/2024/02/nix-home-manager/

\n
        <p><a href="https://lobste.rs/s/usq8dk/managing_dotfiles_on_macos_with_nix">Comments</a></p>\n
", + "id": 422099473, + "sender_full_name": "IFTTT", + "timestamp": 1708264538 + }, + { + "content": "

evil-nix: a Nix library to download files from the internet without requiring a hash

\n

February 20, 2024 at 07:33AM

\n

https://github.com/cdepillabout/evil-nix

\n
        <p><a href="https://lobste.rs/s/ghaphp/evil_nix_nix_library_download_files_from">Comments</a></p>\n
", + "id": 422443867, + "sender_full_name": "IFTTT", + "timestamp": 1708443374 + }, + { + "content": "

Contributing Scrutiny to nixpkgs

\n

February 24, 2024 at 12:39AM

\n

https://jnsgr.uk/2024/02/contributing-scrutiny-to-nixpkgs/

\n
        <p><a href="https://lobste.rs/s/qhxh4b/contributing_scrutiny_nixpkgs">Comments</a></p>\n
", + "id": 423150714, + "sender_full_name": "IFTTT", + "timestamp": 1708764340 + }, + { + "content": "

How I use Nix on macOS

\n

February 26, 2024 at 08:42AM

\n

https://blog.6nok.org/how-i-use-nix-on-macos/

\n
        <p><a href="https://lobste.rs/s/jliiye/how_i_use_nix_on_macos">Comments</a></p>\n
", + "id": 423438706, + "sender_full_name": "IFTTT", + "timestamp": 1708965960 + }, + { + "content": "

Explainix: Explain Nix syntax visually

\n

February 27, 2024 at 03:23AM

\n

https://zaynetro.com/explainix

\n
        <p><a href="https://lobste.rs/s/cvqvff/explainix_explain_nix_syntax_visually">Comments</a></p>\n
", + "id": 423586932, + "sender_full_name": "IFTTT", + "timestamp": 1709033441 + }, + { + "content": "

Test Your Apps and Services with GitHub Actions Quickly and for Free

\n

March 01, 2024 at 04:35AM

\n

https://nixcademy.com/2024/03/01/nixos-integration-test-on-github/

\n
        <p><a href="https://lobste.rs/s/qmmdve/test_your_apps_services_with_github">Comments</a></p>\n
", + "id": 424226596, + "sender_full_name": "IFTTT", + "timestamp": 1709296878 + }, + { + "content": "

Saved by NixOS Integration Tests, Surprisingly

\n

March 01, 2024 at 07:43PM

\n

https://boinkor.net/2024/02/saved-by-nixos-integration-tests-surprisingly/

\n
        <p><a href="https://lobste.rs/s/by7kxq/saved_by_nixos_integration_tests">Comments</a></p>\n
", + "id": 424360526, + "sender_full_name": "IFTTT", + "timestamp": 1709351126 + }, + { + "content": "

Pyproject.nix - Nix tooling for Python project metadata

\n

March 03, 2024 at 02:19AM

\n

https://nix-community.github.io/pyproject.nix/

\n
        <p><a href="https://lobste.rs/s/fcvtpi/pyproject_nix_nix_tooling_for_python">Comments</a></p>\n
", + "id": 424495223, + "sender_full_name": "IFTTT", + "timestamp": 1709461236 + }, + { + "content": "

rpypkgs: A Nix flake for RPython interpreters

\n

March 03, 2024 at 12:34PM

\n

https://osdn.net/users/corbin/pf/rpypkgs/wiki/FrontPage

\n
        <p><a href="https://lobste.rs/s/ffhqcr/rpypkgs_nix_flake_for_rpython">Comments</a></p>\n
", + "id": 424541241, + "sender_full_name": "IFTTT", + "timestamp": 1709498109 + }, + { + "content": "

HTMNIX: HTML for Nix to rule them all

\n

March 04, 2024 at 04:09AM

\n

https://github.com/RGBCube/HTMNIX

\n
      <p>Here is the blog post that explains how it works: <a href="https://rgbcu.be/blog/htmnix" rel="ugc">https://rgbcu.be/blog/htmnix</a> :-)</p>\n
\n\n

<p>I would also love some feedback on my writing style!</p>

\n
        <p><a href="https://lobste.rs/s/isblfq/htmnix_html_for_nix_rule_them_all">Comments</a></p>\n
", + "id": 424640250, + "sender_full_name": "IFTTT", + "timestamp": 1709554535 + }, + { + "content": "

Anatomy of a NixOS Config

\n

March 04, 2024 at 04:51AM

\n

https://unmovedcentre.com/technology/2024/02/24/anatomy-of-a-nixos-config.html

\n
        <p><a href="https://lobste.rs/s/tag7u5/anatomy_nixos_config">Comments</a></p>\n
", + "id": 424647393, + "sender_full_name": "IFTTT", + "timestamp": 1709556955 + }, + { + "content": "

nixbsd: An unofficial NixOS fork with a FreeBSD kernel

\n

March 04, 2024 at 11:14PM

\n

https://github.com/nixos-bsd/nixbsd

\n
        <p><a href="https://lobste.rs/s/lrdkd5/nixbsd_unofficial_nixos_fork_with">Comments</a></p>\n
", + "id": 424808574, + "sender_full_name": "IFTTT", + "timestamp": 1709623031 + }, + { + "content": "

A homelab dashboard for NixOS

\n

March 05, 2024 at 12:25PM

\n

https://jnsgr.uk/2024/03/a-homelab-dashboard-for-nixos/

\n
        <p><a href="https://lobste.rs/s/bi5koy/homelab_dashboard_for_nixos">Comments</a></p>\n
", + "id": 424952035, + "sender_full_name": "IFTTT", + "timestamp": 1709670650 + }, + { + "content": "

Bazel remote execution with rules_nixpkgs

\n

March 05, 2024 at 12:35PM

\n

https://www.tweag.io/blog/2024-02-29-remote-execution-rules-nixpkgs/

\n
        <p><a href="https://lobste.rs/s/joycvk/bazel_remote_execution_with_rules">Comments</a></p>\n
", + "id": 424953303, + "sender_full_name": "IFTTT", + "timestamp": 1709671235 + }, + { + "content": "

nh: Yet another nix cli helper

\n

March 05, 2024 at 11:42PM

\n

https://github.com/viperML/nh

\n
        <p><a href="https://lobste.rs/s/5mo3g7/nh_yet_another_nix_cli_helper">Comments</a></p>\n
", + "id": 425023869, + "sender_full_name": "IFTTT", + "timestamp": 1709711149 + }, + { + "content": "

Run NixOS Integration Tests on macOS

\n

March 08, 2024 at 03:57AM

\n

https://nixcademy.com/2024/03/08/running-nixos-integration-tests-on-macos/

\n
        <p><a href="https://lobste.rs/s/wwwbgc/run_nixos_integration_tests_on_macos">Comments</a></p>\n
", + "id": 425504380, + "sender_full_name": "IFTTT", + "timestamp": 1709899258 + }, + { + "content": "

Kākāpō - A web bundler for Nix strings with context

\n

March 10, 2024 at 05:56AM

\n

https://github.com/adisbladis/kakapo

\n
        <p><a href="https://lobste.rs/s/xo0x0f/kakapo_web_bundler_for_nix_strings_with">Comments</a></p>\n
", + "id": 425771565, + "sender_full_name": "IFTTT", + "timestamp": 1710075622 + }, + { + "content": "

How we replaced Vagrant with devenv

\n

March 10, 2024 at 09:02PM

\n

https://2li.ch/blog/2024-03-10-how-we-replaced-vagrant-with-devenv

\n
        <p><a href="https://lobste.rs/s/mdipuc/how_we_replaced_vagrant_with_devenv">Comments</a></p>\n
", + "id": 425833770, + "sender_full_name": "IFTTT", + "timestamp": 1710129918 + }, + { + "content": "

Identifying software

\n

March 12, 2024 at 07:58AM

\n

https://guix.gnu.org/en/blog/2024/identifying-software/

\n
        <p><a href="https://lobste.rs/s/io0xpg/identifying_software">Comments</a></p>\n
", + "id": 426145740, + "sender_full_name": "IFTTT", + "timestamp": 1710255698 + }, + { + "content": "

Introducing FlakeHub Cache

\n

March 13, 2024 at 07:50AM

\n

https://determinate.systems/posts/flakehub-cache-beta

\n
        <p><a href="https://lobste.rs/s/sqnezh/introducing_flakehub_cache">Comments</a></p>\n
", + "id": 426358873, + "sender_full_name": "IFTTT", + "timestamp": 1710341767 + }, + { + "content": "

Call by hash

\n

March 13, 2024 at 05:27PM

\n

https://garnix.io/blog/call-by-hash

\n
        <p><a href="https://lobste.rs/s/aari0g/call_by_hash">Comments</a></p>\n
", + "id": 426448072, + "sender_full_name": "IFTTT", + "timestamp": 1710376228 + }, + { + "content": "

Today we launched Flox 1.0

\n

March 14, 2024 at 11:20AM

\n

https://tinkering.xyz/releasing-flox/

\n
        <p><a href="https://lobste.rs/s/dlpl1r/today_we_launched_flox_1_0">Comments</a></p>\n
", + "id": 426602958, + "sender_full_name": "IFTTT", + "timestamp": 1710440734 + }, + { + "content": "

Bellroy Technology Team: 2023 in Review

\n

March 14, 2024 at 08:41PM

\n

https://exploring-better-ways.bellroy.com/bellroy-technology-team-2023-in-review.html

\n
        <p><a href="https://lobste.rs/s/hhfs13/bellroy_technology_team_2023_review">Comments</a></p>\n
", + "id": 426669053, + "sender_full_name": "IFTTT", + "timestamp": 1710474342 + }, + { + "content": "

Nix is a better Docker image builder than Docker's image builder

\n

March 15, 2024 at 07:45PM

\n

https://xeiaso.net/talks/2024/nix-docker-build/

\n
        <p><a href="https://lobste.rs/s/j7c4rw/nix_is_better_docker_image_builder_than">Comments</a></p>\n
", + "id": 426853532, + "sender_full_name": "IFTTT", + "timestamp": 1710557442 + }, + { + "content": "

Nix is a better Docker image builder than Docker's image builder - Xe Iaso

\n

March 17, 2024 at 03:47PM

\n

https://xeiaso.net//talks/2024/nix-docker-build/

\n
        <p><a href="https://lobste.rs/s/phw65v/nix_is_better_docker_image_builder_than">Comments</a></p>\n
", + "id": 427245750, + "sender_full_name": "IFTTT", + "timestamp": 1710715848 + }, + { + "content": "

devenv 1.0: Rewrite in Rust

\n

March 20, 2024 at 06:41AM

\n

https://devenv.sh/blog/2023/03/20/devenv-10-rewrite-in-rust/

\n
        <p><a href="https://lobste.rs/s/jdki6m/devenv_1_0_rewrite_rust">Comments</a></p>\n
", + "id": 427931067, + "sender_full_name": "IFTTT", + "timestamp": 1710942320 + }, + { + "content": "

KalmarCTF: Reproducible Pwning writeup

\n

March 20, 2024 at 03:17PM

\n

https://jade.fyi/blog/reproducible-pwning-writeup/

\n
        <p><a href="https://lobste.rs/s/isscpb/kalmarctf_reproducible_pwning_writeup">Comments</a></p>\n
", + "id": 428024710, + "sender_full_name": "IFTTT", + "timestamp": 1710973248 + }, + { + "content": "

Nix The Planet

\n

March 22, 2024 at 01:14PM

\n

https://m.youtube.com/watch?v=6iviTZfiLGU

\n
        <p><a href="https://lobste.rs/s/zwemnj/nix_planet">Comments</a></p>\n
", + "id": 428403875, + "sender_full_name": "IFTTT", + "timestamp": 1711138812 + }, + { + "content": "

Centerpiece – Your trusty omnibox search

\n

March 26, 2024 at 02:23PM

\n

https://github.com/friedow/centerpiece

\n
      <p>Today we are happy to annouce the v1.0.0 release of centerpiece 🎉!</p>\n
\n\n

<p>What began as a small personal project with the goal to remove all bars in my desktop environment has transformed into a full featured application launcher with a variety of plugins. A special shoutout to @a-kenji who pushed the development along a great deal. This is the first of my personal projects to reach the 1.0 milestone!</p>
\n<p>Now, without further ado, enjoy this release and find us many bugs.
\n– @a-kenji & <a href=\"https://lobste.rs/~friedow\" rel=\"ugc\">@friedow</a></p>

\n
        <p><a href="https://lobste.rs/s/fb5w7u/centerpiece_your_trusty_omnibox_search">Comments</a></p>\n
", + "id": 429742468, + "sender_full_name": "IFTTT", + "timestamp": 1711488313 + }, + { + "content": "

Switching between code variants using comments

\n

April 01, 2024 at 01:27AM

\n

https://linus.schreibt.jetzt/posts/toggle-comments.html

\n
        <p><a href="https://lobste.rs/s/ugvvay/switching_between_code_variants_using">Comments</a></p>\n
", + "id": 430561446, + "sender_full_name": "IFTTT", + "timestamp": 1711960246 + }, + { + "content": "

NixOS is not reproducible

\n

April 02, 2024 at 10:24AM

\n

https://linderud.dev/blog/nixos-is-not-reproducible/

\n
        <p><a href="https://lobste.rs/s/jpoy4q/nixos_is_not_reproducible">Comments</a></p>\n
", + "id": 430840033, + "sender_full_name": "IFTTT", + "timestamp": 1712079007 + }, + { + "content": "

Searching Nixpkgs in Under 30 Milliseconds

\n

April 03, 2024 at 07:01AM

\n

https://blog.replit.com/nixpkgs-search

\n
        <p><a href="https://lobste.rs/s/4dgdkj/searching_nixpkgs_under_30_milliseconds">Comments</a></p>\n
", + "id": 431012069, + "sender_full_name": "IFTTT", + "timestamp": 1712153180 + }, + { + "content": "

Running Fava on NixOS

\n

April 04, 2024 at 02:09PM

\n

https://pta2002.com/blog/fava-on-nixos/

\n
        <p><a href="https://lobste.rs/s/lr31cl/running_fava_on_nixos">Comments</a></p>\n
", + "id": 431402848, + "sender_full_name": "IFTTT", + "timestamp": 1712265034 + }, + { + "content": "

NixOS/nixpkgs: There isn't a clear canonical way to refer to a specific package version [2020]

\n

April 09, 2024 at 01:44PM

\n

https://github.com/NixOS/nixpkgs/issues/93327

\n
      <p>Ran a channel update on nixOS for the first time to upgrade all my packages. Eclipse broke; this is unsurprising because it broke on Arch too. “No problem!” thinks I, “I am on nixOS, the OS of declarative &amp; repeatable package management! Certainly it must be a simple and routine operation to downgrade a specific package!”</p>\n\n        <p><a href="https://lobste.rs/s/9fmqmz/nixos_nixpkgs_there_isn_t_clear_canonical">Comments</a></p>\n
", + "id": 432337164, + "sender_full_name": "IFTTT", + "timestamp": 1712695521 + }, + { + "content": "

Fast, Declarative, Reproduble and Composable Developer Environments using Nix

\n

April 12, 2024 at 03:05AM

\n

https://devenv.sh/

\n
        <p><a href="https://lobste.rs/s/8xagju/fast_declarative_reproduble_composable">Comments</a></p>\n
", + "id": 432871926, + "sender_full_name": "IFTTT", + "timestamp": 1712916360 + }, + { + "content": "

Minimal Kotlin and Nix flake example (with Gradle 8 support)

\n

April 13, 2024 at 04:39AM

\n

https://github.com/owickstrom/minimal-kotlin-nix-example

\n
        <p><a href="https://lobste.rs/s/ljhoc8/minimal_kotlin_nix_flake_example_with">Comments</a></p>\n
", + "id": 433040393, + "sender_full_name": "IFTTT", + "timestamp": 1713008438 + }, + { + "content": "

Colima k8s nix setup

\n

April 16, 2024 at 11:00AM

\n

https://dev.to/doriancodes/colima-k8s-nix-setup-mpn

\n
        <p><a href="https://lobste.rs/s/ixaerf/colima_k8s_nix_setup">Comments</a></p>\n
", + "id": 433579515, + "sender_full_name": "IFTTT", + "timestamp": 1713291044 + }, + { + "content": "

libnix mingw status

\n

April 17, 2024 at 03:04PM

\n

https://lastlog.de/blog/libnix_mingw_status.html

\n
        <p><a href="https://lobste.rs/s/bhignf/libnix_mingw_status">Comments</a></p>\n
", + "id": 433882691, + "sender_full_name": "IFTTT", + "timestamp": 1713391816 + }, + { + "content": "

Open letter to the NixOS foundation

\n

April 21, 2024 at 11:18AM

\n

https://save-nix-together.org/

\n
        <p><a href="https://lobste.rs/s/0qvtim/open_letter_nixos_foundation">Comments</a></p>\n
", + "id": 434608758, + "sender_full_name": "IFTTT", + "timestamp": 1713723617 + }, + { + "content": "

Secure Boot & TPM-backed Full Disk Encryption on NixOS

\n

April 22, 2024 at 06:27AM

\n

https://jnsgr.uk/2024/04/nixos-secure-boot-tpm-fde/

\n
        <p><a href="https://lobste.rs/s/ebt4ys/secure_boot_tpm_backed_full_disk">Comments</a></p>\n
", + "id": 434750148, + "sender_full_name": "IFTTT", + "timestamp": 1713792625 + }, + { + "content": "

Package management on macOS with nix-darwin

\n

April 25, 2024 at 08:51AM

\n

https://davi.sh/blog/2024/01/nix-darwin/

\n
        <p><a href="https://lobste.rs/s/m8hd8k/package_management_on_macos_with_nix">Comments</a></p>\n
", + "id": 435419949, + "sender_full_name": "IFTTT", + "timestamp": 1714060504 + }, + { + "content": "

On community in Nix

\n

April 26, 2024 at 10:26AM

\n

https://determinate.systems/posts/on-community-in-nix/

\n
        <p><a href="https://lobste.rs/s/pntava/on_community_nix">Comments</a></p>\n
", + "id": 435630634, + "sender_full_name": "IFTTT", + "timestamp": 1714152622 + }, + { + "content": "

nixpkgs.news

\n

April 27, 2024 at 10:00AM

\n

https://nixpkgs.news/

\n
        <p><a href="https://lobste.rs/s/sda151/nixpkgs_news">Comments</a></p>\n
", + "id": 435773416, + "sender_full_name": "IFTTT", + "timestamp": 1714237219 + }, + { + "content": "

What Nix Will Have Been

\n

April 27, 2024 at 11:08AM

\n

https://boinkor.net/2024/04/what-nix-will-have-been/

\n
        <p><a href="https://lobste.rs/s/jrssna/what_nix_will_have_been">Comments</a></p>\n
", + "id": 435779287, + "sender_full_name": "IFTTT", + "timestamp": 1714241411 + }, + { + "content": "

Nix: The Breaking Point

\n

April 29, 2024 at 01:47AM

\n

https://kilo.bytesize.xyz/nix-the-breaking-point

\n
        <p><a href="https://lobste.rs/s/3brztz/nix_breaking_point">Comments</a></p>\n
", + "id": 435989628, + "sender_full_name": "IFTTT", + "timestamp": 1714380940 + }, + { + "content": "

aux.computer: an alternative to the Nix ecosystem

\n

April 29, 2024 at 12:20PM

\n

https://aux.computer/

\n
        <p><a href="https://lobste.rs/s/qnmzre/aux_computer_alternative_nix_ecosystem">Comments</a></p>\n
", + "id": 436122710, + "sender_full_name": "IFTTT", + "timestamp": 1714418771 + }, + { + "content": "

NixOS Foundation board: Giving power to the community

\n

April 30, 2024 at 06:35PM

\n

https://discourse.nixos.org/t/nixos-foundation-board-giving-power-to-the-community/44552

\n
        <p><a href="https://lobste.rs/s/lfkjat/nixos_foundation_board_giving_power">Comments</a></p>\n
", + "id": 436379613, + "sender_full_name": "IFTTT", + "timestamp": 1714527629 + }, + { + "content": "

Framework & NixOS Communities Join Forces

\n

May 02, 2024 at 05:10AM

\n

https://discourse.nixos.org/t/exciting-partnership-announcement-framework-community-nixos-communities-join-forces/44640?u=asymmetric

\n
        <p><a href="https://lobste.rs/s/iykxwu/framework_nixos_communities_join_forces">Comments</a></p>\n
", + "id": 436679966, + "sender_full_name": "IFTTT", + "timestamp": 1714652154 + }, + { + "content": "

Lix

\n

May 06, 2024 at 01:50AM

\n

https://lix.systems/

\n
        <p><a href="https://lobste.rs/s/5vlgf4/lix">Comments</a></p>\n
", + "id": 437221074, + "sender_full_name": "IFTTT", + "timestamp": 1714985742 + }, + { + "content": "

Re-implementing the Nix protocol in Rust

\n

May 06, 2024 at 02:47AM

\n

https://www.tweag.io/blog/2024-04-25-nix-protocol-in-rust/

\n
        <p><a href="https://lobste.rs/s/4mdzfa/re_implementing_nix_protocol_rust">Comments</a></p>\n
", + "id": 437229561, + "sender_full_name": "IFTTT", + "timestamp": 1714989008 + }, + { + "content": "

Broken Promises: The Nix Governance Discussions

\n

May 08, 2024 at 01:14PM

\n

https://shealevy.com/blog/2024/05/08/broken-promises-the-nix-governance-discussions/

\n
        <p><a href="https://lobste.rs/s/zfo0x9/broken_promises_nix_governance">Comments</a></p>\n
", + "id": 437723567, + "sender_full_name": "IFTTT", + "timestamp": 1715199645 + }, + { + "content": "

It's not about “Flakes vs. Channels”

\n

May 08, 2024 at 04:20PM

\n

https://samuel.dionne-riel.com/blog/2024/05/07/its-not-flakes-vs-channels.html

\n
        <p><a href="https://lobste.rs/s/c3hbh6/it_s_not_about_flakes_vs_channels">Comments</a></p>\n
", + "id": 437746197, + "sender_full_name": "IFTTT", + "timestamp": 1715210726 + }, + { + "content": "

Distributed system daemons with Shepherd and Goblins funded by NLnet

\n

May 09, 2024 at 11:02AM

\n

https://spritely.institute/news/spritely-nlnet-grants-december-2023.html

\n
        <p><a href="https://lobste.rs/s/kfwcxs/distributed_system_daemons_with">Comments</a></p>\n
", + "id": 437862780, + "sender_full_name": "IFTTT", + "timestamp": 1715277961 + }, + { + "content": "

Nix on Windows

\n

May 10, 2024 at 08:36AM

\n

https://lastlog.de/blog/libnix_volth%27s_work.html

\n
      <p>I had to moderate the title, as the fetched one does not reflect the content of the page.</p>\n\n        <p><a href="https://lobste.rs/s/9ijkgu/nix_on_windows">Comments</a></p>\n
", + "id": 438002884, + "sender_full_name": "IFTTT", + "timestamp": 1715355630 + }, + { + "content": "

Bye Opam, Hello Nix

\n

May 14, 2024 at 12:48AM

\n

https://priver.dev/blog/ocaml/bye-opam-hello-nix/

\n
        <p><a href="https://lobste.rs/s/05vks5/bye_opam_hello_nix">Comments</a></p>\n
", + "id": 438519538, + "sender_full_name": "IFTTT", + "timestamp": 1715673055 + }, + { + "content": "

A Rust + WASM development environment with Nix

\n

May 15, 2024 at 06:24AM

\n

https://jordankaye.dev/posts/rust-wasm-nix/

\n
        <p><a href="https://lobste.rs/s/mgnifo/rust_wasm_development_environment_with">Comments</a></p>\n
", + "id": 438801391, + "sender_full_name": "IFTTT", + "timestamp": 1715779552 + }, + { + "content": "

NixOS 24.05 released

\n

May 31, 2024 at 12:31PM

\n

https://nixos.org/blog/announcements/2024/nixos-2405/

\n
        <p><a href="https://lobste.rs/s/vyprdq/nixos_24_05_released">Comments</a></p>\n
", + "id": 441789422, + "sender_full_name": "IFTTT", + "timestamp": 1717184471 + }, + { + "content": "

Centerpiece now supports Firefox! Whats Next?

\n

June 02, 2024 at 08:46AM

\n

https://lobste.rs/s/8ddzid/centerpiece_now_supports_firefox_whats

\n
      <p>With the release of version v1.1.0 Centerpiece (<a href="https://github.com/friedow/centerpiece" rel="ugc">https://github.com/friedow/centerpiece</a>) supports searching in your Firefox bookmarks and history.</p>\n
\n\n

<p>Now, we would like to know which features you need to switch to Centerpiece! Please leave your feature requests in the comments down below :).</p>

", + "id": 442066806, + "sender_full_name": "IFTTT", + "timestamp": 1717343410 + }, + { + "content": "

Announcing Brioche

\n

June 03, 2024 at 07:49PM

\n

https://brioche.dev/blog/announcing-brioche/

\n
        <p><a href="https://lobste.rs/s/fbgsoc/announcing_brioche">Comments</a></p>\n
", + "id": 442424393, + "sender_full_name": "IFTTT", + "timestamp": 1717469717 + }, + { + "content": "

Development Environments with devenv.sh

\n

June 13, 2024 at 08:25AM

\n

https://www.youtube.com/watch?v=unW1zk8terk&t=7s

\n
        <p><a href="https://lobste.rs/s/q18f4k/development_environments_with_devenv_sh">Comments</a></p>\n
", + "id": 444493965, + "sender_full_name": "IFTTT", + "timestamp": 1718292608 + }, + { + "content": "

Nix as a WebAssembly build tool

\n

June 13, 2024 at 08:31AM

\n

https://determinate.systems/posts/nix-wasm/

\n
        <p><a href="https://lobste.rs/s/xnsp3d/nix_as_webassembly_build_tool">Comments</a></p>\n
", + "id": 444495401, + "sender_full_name": "IFTTT", + "timestamp": 1718292902 + }, + { + "content": "

libnix fixPath

\n

June 13, 2024 at 12:39PM

\n

https://lastlog.de/blog/libnix_fixPath.html

\n
        <p><a href="https://lobste.rs/s/jtrlcy/libnix_fixpath">Comments</a></p>\n
", + "id": 444548320, + "sender_full_name": "IFTTT", + "timestamp": 1718307913 + }, + { + "content": "

Optimizing Python Development: Virtualenv Kernels with Nix and Jupyter

\n

June 17, 2024 at 06:07AM

\n

https://acalustra.com/optimizing-python-development-virtualenv-kernels-with-nix-and-jupyter.html

\n
        <p><a href="https://lobste.rs/s/fuhrcz/optimizing_python_development">Comments</a></p>\n
", + "id": 445129264, + "sender_full_name": "IFTTT", + "timestamp": 1718629814 + }, + { + "content": "

Securing our software supply-chain better with reproducible builds for enclaves

\n

June 20, 2024 at 07:36AM

\n

https://monzo.com/blog/securing-our-software-supply-chain-better-with-reproducible-builds-for

\n
        <p><a href="https://lobste.rs/s/clhvj1/securing_our_software_supply_chain">Comments</a></p>\n
", + "id": 445867564, + "sender_full_name": "IFTTT", + "timestamp": 1718894403 + }, + { + "content": "

Nickel modules

\n

June 21, 2024 at 02:59AM

\n

https://www.tweag.io/blog/2024-06-20-nickel-modules/

\n
        <p><a href="https://lobste.rs/s/dfy9kq/nickel_modules">Comments</a></p>\n
", + "id": 446049010, + "sender_full_name": "IFTTT", + "timestamp": 1718964062 + }, + { + "content": "

Simple text Editor for X

\n

June 22, 2024 at 01:05PM

\n

https://chronicles.mad-scientist.club/sex/

\n
        <p><a href="https://lobste.rs/s/j9jtyq/simple_text_editor_for_x">Comments</a></p>\n
", + "id": 446318099, + "sender_full_name": "IFTTT", + "timestamp": 1719087044 + }, + { + "content": "

The Proxmox Hypervisor, on NixOS

\n

June 24, 2024 at 04:29AM

\n

https://github.com/SaumonNet/proxmox-nixos

\n
        <p><a href="https://lobste.rs/s/hp0llm/proxmox_hypervisor_on_nixos">Comments</a></p>\n
", + "id": 446590487, + "sender_full_name": "IFTTT", + "timestamp": 1719228658 + }, + { + "content": "

Running DBT in Github using Nix

\n

June 26, 2024 at 06:14AM

\n

https://github.com/CedricLeong/dbt-action-nix

\n
        <p><a href="https://lobste.rs/s/pdxgyb/running_dbt_github_using_nix">Comments</a></p>\n
", + "id": 447218053, + "sender_full_name": "IFTTT", + "timestamp": 1719408036 + }, + { + "content": "

Adding parallel evaluation to Nix, by Eelco Dolstra

\n

June 27, 2024 at 08:19AM

\n

https://determinate.systems/posts/parallel-nix-eval

\n
        <p><a href="https://lobste.rs/s/yh1qls/adding_parallel_evaluation_nix_by_eelco">Comments</a></p>\n
", + "id": 447506483, + "sender_full_name": "IFTTT", + "timestamp": 1719501651 + }, + { + "content": "

Practical Nix flake anatomy: a guided tour of flake.nix

\n

July 05, 2024 at 10:47PM

\n

https://vtimofeenko.com/posts/practical-nix-flake-anatomy-a-guided-tour-of-flake.nix/

\n
        <p><a href="https://lobste.rs/s/ugdatz/practical_nix_flake_anatomy_guided_tour">Comments</a></p>\n
", + "id": 449442046, + "sender_full_name": "IFTTT", + "timestamp": 1720245023 + }, + { + "content": "

Learn Flakes the Fun Way

\n

July 09, 2024 at 10:00AM

\n

https://lyte.dev/blog/learn-flakes-the-fun-way/

\n
        <p><a href="https://lobste.rs/s/uvnjqj/learn_flakes_fun_way">Comments</a></p>\n
", + "id": 450230387, + "sender_full_name": "IFTTT", + "timestamp": 1720544755 + }, + { + "content": "

Announcing Lix 2.90 \"Vanilla Ice Cream\"

\n

July 10, 2024 at 06:20PM

\n

https://lix.systems/blog/2024-07-10-lix-2.90-release/

\n
        <p><a href="https://lobste.rs/s/1hrh4a/announcing_lix_2_90_vanilla_ice_cream">Comments</a></p>\n
", + "id": 450604475, + "sender_full_name": "IFTTT", + "timestamp": 1720661145 + }, + { + "content": "

Nix on MacOS - The Good, the Bad and the Ugly

\n

July 11, 2024 at 03:46AM

\n

https://drakerossman.com/blog/nix-on-macos-the-good-the-bad-and-the-ugly

\n
        <p><a href="https://lobste.rs/s/eojt4t/nix_on_macos_good_bad_ugly">Comments</a></p>\n
", + "id": 450677081, + "sender_full_name": "IFTTT", + "timestamp": 1720695047 + }, + { + "content": "

Using Nix as a Yocto Alternative

\n

July 11, 2024 at 09:38AM

\n

https://www.kdab.com/using-nix-as-a-yocto-alternative/

\n
        <p><a href="https://lobste.rs/s/yzi2q2/using_nix_as_yocto_alternative">Comments</a></p>\n
", + "id": 450757702, + "sender_full_name": "IFTTT", + "timestamp": 1720716053 + }, + { + "content": "

At the Mountains of Madness

\n

July 12, 2024 at 07:46AM

\n

https://antithesis.com/blog/madness/

\n
        <p><a href="https://lobste.rs/s/xkfl2i/at_mountains_madness">Comments</a></p>\n
", + "id": 450998857, + "sender_full_name": "IFTTT", + "timestamp": 1720795834 + }, + { + "content": "

vyxos: My laptop and server Nix configuration

\n

July 19, 2024 at 04:22AM

\n

https://github.com/kivikakk/vyxos

\n
        <p><a href="https://lobste.rs/s/u9ugid/vyxos_my_laptop_server_nix_configuration">Comments</a></p>\n
", + "id": 452550599, + "sender_full_name": "IFTTT", + "timestamp": 1721388318 + }, + { + "content": "

Nix Camp 2024 is On

\n

July 22, 2024 at 06:22AM

\n

https://nix.camp/

\n
      <p>Bring your friends :)</p>\n\n        <p><a href="https://lobste.rs/s/uqqtiy/nix_camp_2024_is_on">Comments</a></p>\n
", + "id": 453175567, + "sender_full_name": "IFTTT", + "timestamp": 1721654753 + }, + { + "content": "

Writing NixOS tests for fun and profit

\n

July 25, 2024 at 06:46PM

\n

https://kokada.capivaras.dev/blog/writing-nixos-tests-for-fun-and-profit/

\n
        <p><a href="https://lobste.rs/s/yqjmul/writing_nixos_tests_for_fun_profit">Comments</a></p>\n
", + "id": 454142918, + "sender_full_name": "IFTTT", + "timestamp": 1721958623 + }, + { + "content": "

Quick bits: nix-shell is cursed

\n

July 27, 2024 at 10:45AM

\n

https://kokada.capivaras.dev/blog/quick-bits-nix-shell-is-cursed/

\n
        <p><a href="https://lobste.rs/s/gkcgza/quick_bits_nix_shell_is_cursed">Comments</a></p>\n
", + "id": 454503557, + "sender_full_name": "IFTTT", + "timestamp": 1722102647 + }, + { + "content": "

Hashbang hacking for fun and, maybe in the future, profit

\n

July 27, 2024 at 11:29AM

\n

https://lucasew.capivaras.dev/blog/hashbang-hacking-for-fun-and-maybe-in-the-future-profit/

\n
        <p><a href="https://lobste.rs/s/pdutgi/hashbang_hacking_for_fun_maybe_future">Comments</a></p>\n
", + "id": 454511400, + "sender_full_name": "IFTTT", + "timestamp": 1722105331 + }, + { + "content": "

NixOS Option Inspection

\n

July 29, 2024 at 11:53PM

\n

https://fzakaria.com/2024/07/28/nixos-option-inspection.html

\n
        <p><a href="https://lobste.rs/s/zgrtbd/nixos_option_inspection">Comments</a></p>\n
", + "id": 455043593, + "sender_full_name": "IFTTT", + "timestamp": 1722322514 + }, + { + "content": "

Generating YAML files with Nix

\n

July 31, 2024 at 05:12AM

\n

https://kokada.capivaras.dev/blog/generating-yaml-files-with-nix/

\n
        <p><a href="https://lobste.rs/s/yt1dsb/generating_yaml_files_with_nix">Comments</a></p>\n
", + "id": 455362486, + "sender_full_name": "IFTTT", + "timestamp": 1722428143 + }, + { + "content": "

Nix Community Survey 2024

\n

July 31, 2024 at 05:23AM

\n

https://survey.nixos.org/2024

\n
        <p><a href="https://lobste.rs/s/uj7y4n/nix_community_survey_2024">Comments</a></p>\n
", + "id": 455364867, + "sender_full_name": "IFTTT", + "timestamp": 1722429021 + }, + { + "content": "

Mastering Nixpkgs Overlays: Techniques and Best Practice

\n

August 01, 2024 at 06:03AM

\n

https://nixcademy.com/posts/mastering-nixpkgs-overlays-techniques-and-best-practice/

\n
        <p><a href="https://lobste.rs/s/miquoc/mastering_nixpkgs_overlays_techniques">Comments</a></p>\n
", + "id": 455642900, + "sender_full_name": "IFTTT", + "timestamp": 1722517522 + }, + { + "content": "

Troubleshoting: ZSH lag and solutions with Nix

\n

August 01, 2024 at 09:08AM

\n

https://kokada.capivaras.dev/blog/troubleshoting-zsh-lag-and-solutions-with-nix/

\n
        <p><a href="https://lobste.rs/s/nkbkvl/troubleshoting_zsh_lag_solutions_with">Comments</a></p>\n
", + "id": 455692049, + "sender_full_name": "IFTTT", + "timestamp": 1722528680 + }, + { + "content": "

Quick bits: realise Nix symlinks

\n

August 01, 2024 at 03:32PM

\n

https://kokada.capivaras.dev/blog/quick-bits-realise-nix-symlinks/

\n
        <p><a href="https://lobste.rs/s/ahmi0i/quick_bits_realise_nix_symlinks">Comments</a></p>\n
", + "id": 455768056, + "sender_full_name": "IFTTT", + "timestamp": 1722551737 + }, + { + "content": "

My favorite device is a Chromebook

\n

August 05, 2024 at 02:45PM

\n

https://kokada.capivaras.dev/blog/my-favorite-device-is-a-chromebook/

\n
        <p><a href="https://lobste.rs/s/alojvh/my_favorite_device_is_chromebook">Comments</a></p>\n
", + "id": 456714156, + "sender_full_name": "IFTTT", + "timestamp": 1722894633 + }, + { + "content": "

TVL's blog: Tvix Status - August '24

\n

August 09, 2024 at 10:18AM

\n

https://tvl.fyi/blog/tvix-update-august-24

\n
        <p><a href="https://lobste.rs/s/2o4rwd/tvl_s_blog_tvix_status_august_24">Comments</a></p>\n
", + "id": 459529924, + "sender_full_name": "IFTTT", + "timestamp": 1723224052 + }, + { + "content": "

Building static binaries in Nix

\n

August 11, 2024 at 12:35PM

\n

https://kokada.capivaras.dev/blog/building-static-binaries-in-nix/

\n
        <p><a href="https://lobste.rs/s/snjs8q/building_static_binaries_nix">Comments</a></p>\n
", + "id": 459934652, + "sender_full_name": "IFTTT", + "timestamp": 1723405250 + }, + { + "content": "

A Flexible Minimalist Neovim for 2024

\n

August 12, 2024 at 08:18AM

\n

https://wickstrom.tech/2024-08-12-a-flexible-minimalist-neovim.html

\n
        <p><a href="https://lobste.rs/s/nbtc9i/flexible_minimalist_neovim_for_2024">Comments</a></p>\n
", + "id": 460104693, + "sender_full_name": "IFTTT", + "timestamp": 1723476317 + }, + { + "content": "

Announcing Lix 2.91 \"Dragon's Breath\"

\n

August 12, 2024 at 06:52PM

\n

https://lix.systems/blog/2024-08-12-lix-2.91-release/

\n
        <p><a href="https://lobste.rs/s/pqgy8b/announcing_lix_2_91_dragon_s_breath">Comments</a></p>\n
", + "id": 461994837, + "sender_full_name": "IFTTT", + "timestamp": 1723514126 + }, + { + "content": "

Libations: Tailscale on the Rocks

\n

August 21, 2024 at 06:04AM

\n

https://jnsgr.uk/2024/08/tailscale-on-the-rocks/

\n
        <p><a href="https://lobste.rs/s/yitsls/libations_tailscale_on_rocks">Comments</a></p>\n
", + "id": 464052886, + "sender_full_name": "IFTTT", + "timestamp": 1724245853 + }, + { + "content": "

An unordered list of hidden gems inside NixOS

\n

August 21, 2024 at 11:21AM

\n

https://kokada.capivaras.dev/blog/an-unordered-list-of-hidden-gems-inside-nixos/

\n
        <p><a href="https://lobste.rs/s/ymmale/unordered_list_hidden_gems_inside_nixos">Comments</a></p>\n
", + "id": 464132641, + "sender_full_name": "IFTTT", + "timestamp": 1724264730 + }, + { + "content": "

Hands-on NixOS servers

\n

August 22, 2024 at 11:03AM

\n

https://garnix.io/blog/hosting-nixos

\n
        <p><a href="https://lobste.rs/s/frgtzy/hands_on_nixos_servers">Comments</a></p>\n
", + "id": 464447498, + "sender_full_name": "IFTTT", + "timestamp": 1724349947 + }, + { + "content": "

vpsAdminOS

\n

August 23, 2024 at 12:22AM

\n

https://vpsadminos.org/

\n
        <p><a href="https://lobste.rs/s/ldc0bw/vpsadminos">Comments</a></p>\n
", + "id": 464570083, + "sender_full_name": "IFTTT", + "timestamp": 1724397931 + }, + { + "content": "

Poor man's Package Manager (only Statically Linked Binaries)

\n

August 23, 2024 at 05:57AM

\n

https://github.com/xplshn/dbin

\n
        <p><a href="https://lobste.rs/s/iqxjee/poor_man_s_package_manager_only">Comments</a></p>\n
", + "id": 464645467, + "sender_full_name": "IFTTT", + "timestamp": 1724418117 + }, + { + "content": "

Function Types in Nix

\n

August 27, 2024 at 10:49AM

\n

https://garnix.io/blog/typed-function-types

\n
        <p><a href="https://lobste.rs/s/bfsatm/function_types_nix">Comments</a></p>\n
", + "id": 465518580, + "sender_full_name": "IFTTT", + "timestamp": 1724781055 + }, + { + "content": "

Immutable Systems: NixOS + systemd-repart + systemd-sysupdate

\n

August 29, 2024 at 01:45AM

\n

https://x86.lol/generic/2024/08/28/systemd-sysupdate.html

\n
        <p><a href="https://lobste.rs/s/qhafyy/immutable_systems_nixos_systemd_repart">Comments</a></p>\n
", + "id": 465948316, + "sender_full_name": "IFTTT", + "timestamp": 1724921451 + }, + { + "content": "

Getting Started with Nix for Haskell

\n

August 29, 2024 at 08:11AM

\n

https://abhinavsarkar.net/posts/nix-for-haskell/

\n
        <p><a href="https://lobste.rs/s/7puewz/getting_started_with_nix_for_haskell">Comments</a></p>\n
", + "id": 466044662, + "sender_full_name": "IFTTT", + "timestamp": 1724944539 + }, + { + "content": "

Interactive NixOS tests

\n

September 04, 2024 at 12:32AM

\n

https://paperless.blog/interactive-nixos-tests

\n
        <p><a href="https://lobste.rs/s/qr5v7q/interactive_nixos_tests">Comments</a></p>\n
", + "id": 467440936, + "sender_full_name": "IFTTT", + "timestamp": 1725435326 + }, + { + "content": "

Nix 2.24+ is vulnerable to (remote) privilege escalation

\n

September 09, 2024 at 01:03PM

\n

https://puckipedia.com/7hkj-98sq/qixt

\n
        <p><a href="https://lobste.rs/s/ixb3v7/nix_2_24_is_vulnerable_remote_privilege">Comments</a></p>\n
", + "id": 468905886, + "sender_full_name": "IFTTT", + "timestamp": 1725912388 + }, + { + "content": "

Adding algebraic data types to Nickel

\n

September 09, 2024 at 01:09PM

\n

https://tweag.io/blog/2024-09-05-algebraic-data-types-nickel/

\n
        <p><a href="https://lobste.rs/s/gsi9zk/adding_algebraic_data_types_nickel">Comments</a></p>\n
", + "id": 468906675, + "sender_full_name": "IFTTT", + "timestamp": 1725912645 + }, + { + "content": "

Bending Zed to render my beautiful fonts with Nix

\n

September 09, 2024 at 03:11PM

\n

https://nazrin.limited/phame/live/1/post/1/bending_zed_to_render_my_beautiful_fonts_with_nix/

\n
        <p><a href="https://lobste.rs/s/4ar6eu/bending_zed_render_my_beautiful_fonts">Comments</a></p>\n
", + "id": 468927597, + "sender_full_name": "IFTTT", + "timestamp": 1725920160 + }, + { + "content": "

devenv 1.1: Nested Nix outputs using the module system

\n

September 11, 2024 at 03:38AM

\n

https://devenv.sh/blog/2024/09/11/devenv-11-nested-nix-outputs-using-the-module-system/

\n
        <p><a href="https://lobste.rs/s/nvx2xb/devenv_1_1_nested_nix_outputs_using_module">Comments</a></p>\n
", + "id": 469359403, + "sender_full_name": "IFTTT", + "timestamp": 1726051250 + }, + { + "content": "

NixOS server up in minutes

\n

September 16, 2024 at 11:12AM

\n

https://gvolpe.com/blog/nixos-server/

\n
        <p><a href="https://lobste.rs/s/txrmqm/nixos_server_up_minutes">Comments</a></p>\n
", + "id": 470702198, + "sender_full_name": "IFTTT", + "timestamp": 1726510896 + }, + { + "content": "

Nix Steering Committee Election 2024

\n

September 16, 2024 at 11:27AM

\n

https://discourse.nixos.org/t/nix-steering-committee-election-2024/52232

\n
        <p><a href="https://lobste.rs/s/j73ada/nix_steering_committee_election_2024">Comments</a></p>\n
", + "id": 470704393, + "sender_full_name": "IFTTT", + "timestamp": 1726511482 + }, + { + "content": "

zb: An Early-Stage Build System

\n

September 19, 2024 at 10:24PM

\n

https://www.zombiezen.com/blog/2024/09/zb-early-stage-build-system/

\n
        <p><a href="https://lobste.rs/s/lnfmcn/zb_early_stage_build_system">Comments</a></p>\n
", + "id": 471620723, + "sender_full_name": "IFTTT", + "timestamp": 1726809924 + }, + { + "content": "

devenv 1.2: Tasks for convergent configuration with Nix

\n

September 24, 2024 at 06:11AM

\n

https://devenv.sh/blog/2024/09/24/devenv-12-tasks-for-convergent-configuration-with-nix/

\n

<p><a href=\"https://lobste.rs/s/j0kz8g/devenv_1_2_tasks_for_convergent\">Comments</a></p>

", + "id": 472492212, + "sender_full_name": "IFTTT", + "timestamp": 1727183740 + }, + { + "content": "

Reproducible Data Science Environments with Nix

\n

September 26, 2024 at 01:53AM

\n

https://cran.r-project.org/web/packages/rix/index.html

\n

<p><a href=\"https://lobste.rs/s/r1vvqf/reproducible_data_science_environments\">Comments</a></p>

", + "id": 472846905, + "sender_full_name": "IFTTT", + "timestamp": 1727340945 + }, + { + "content": "

NixOS is a good server OS, except when it isn't

\n

October 01, 2024 at 11:39PM

\n

https://sidhion.com/blog/posts/nixos_server_issues/

\n

<p><a href=\"https://lobste.rs/s/qpbnhc/nixos_is_good_server_os_except_when_it_isn_t\">Comments</a></p>

", + "id": 474207116, + "sender_full_name": "IFTTT", + "timestamp": 1727851531 + }, + { + "content": "

devenv 1.3: Instant developer environments with Nix caching

\n

October 03, 2024 at 06:44AM

\n

https://devenv.sh/blog/2024/10/03/devenv-13-instant-developer-environments-with-nix-caching/

\n

<p><a href=\"https://lobste.rs/s/rdksqy/devenv_1_3_instant_developer\">Comments</a></p>

", + "id": 474594573, + "sender_full_name": "IFTTT", + "timestamp": 1727963154 + }, + { + "content": "

Adapting Plan 9's listen to GNU Guix

\n

October 11, 2024 at 03:17AM

\n

https://the-dam.org/docs/explanations/Plan9ListenOnLinux.html

\n

<p><a href=\"https://lobste.rs/s/tl0yuh/adapting_plan_9_s_listen_gnu_guix\">Comments</a></p>

", + "id": 476356901, + "sender_full_name": "IFTTT", + "timestamp": 1728642047 + }, + { + "content": "

Packaging an Elixir/Phoenix application with Nix

\n

October 11, 2024 at 12:54PM

\n

https://curiosum.com/blog/packaging-elixir-application-with-nix

\n

<p><a href=\"https://lobste.rs/s/q1j6ng/packaging_elixir_phoenix_application\">Comments</a></p>

", + "id": 476450296, + "sender_full_name": "IFTTT", + "timestamp": 1728676558 + }, + { + "content": "

Guix Build User Takeover Vulnerability

\n

October 21, 2024 at 04:01AM

\n

https://guix.gnu.org/blog/2024/build-user-takeover-vulnerability//

\n

<p><a href=\"https://lobste.rs/s/eerewn/guix_build_user_takeover_vulnerability\">Comments</a></p>

", + "id": 478025307, + "sender_full_name": "IFTTT", + "timestamp": 1729509046 + }, + { + "content": "

GNU Guix - Build User Takeover Vulnerability

\n

October 21, 2024 at 05:13AM

\n

https://guix.gnu.org/blog/2024/build-user-takeover-vulnerability/

\n

<p><a href=\"https://lobste.rs/s/qejgdm/gnu_guix_build_user_takeover\">Comments</a></p>

", + "id": 478044828, + "sender_full_name": "IFTTT", + "timestamp": 1729512972 + }, + { + "content": "

devenv is switching Nix implementation to Tvix

\n

October 22, 2024 at 06:35AM

\n

https://devenv.sh/blog/2024/10/22/devenv-is-switching-nix-implementation-to-tvix/

\n

<p><a href=\"https://lobste.rs/s/czlbno/devenv_is_switching_nix_implementation\">Comments</a></p>

", + "id": 478288201, + "sender_full_name": "IFTTT", + "timestamp": 1729604474 + }, + { + "content": "

Announcing Determinate Nix

\n

October 22, 2024 at 07:08AM

\n

https://determinate.systems/posts/announcing-determinate-nix/

\n

<p><a href=\"https://lobste.rs/s/t0ange/announcing_determinate_nix\">Comments</a></p>

", + "id": 478295014, + "sender_full_name": "IFTTT", + "timestamp": 1729606263 + }, + { + "content": "

Using Nix to Fuzz Test a PDF Parser

\n

October 23, 2024 at 07:57AM

\n

https://mtlynch.io/nix-fuzz-testing-1/

\n

<p><a href=\"https://lobste.rs/s/9rvhdm/using_nix_fuzz_test_pdf_parser\">Comments</a></p>

", + "id": 478517384, + "sender_full_name": "IFTTT", + "timestamp": 1729695651 + }, + { + "content": "

Nix Team member suggests dropping flakes; data suggest otherwise

\n

October 25, 2024 at 05:42PM

\n

https://discourse.nixos.org/t/announcing-determinate-nix/54709/72

\n

<p><a href=\"https://lobste.rs/s/magfhw/nix_team_member_suggests_dropping_flakes\">Comments</a></p>

", + "id": 479007136, + "sender_full_name": "IFTTT", + "timestamp": 1729903550 + }, + { + "content": "

Building our Astro Starlight page with Nix & flake.parts

\n

October 31, 2024 at 08:02PM

\n

https://blog.eigenvalue.net/2024-astro-starlight-with-nix/

\n

<p><a href=\"https://lobste.rs/s/ynv3ua/building_our_astro_starlight_page_with\">Comments</a></p>

", + "id": 479988641, + "sender_full_name": "IFTTT", + "timestamp": 1730430383 + }, + { + "content": "

The rise of advanced build systems

\n

November 05, 2024 at 02:58AM

\n

https://www.scalevp.com/insights/the-rise-of-advanced-build-systems/

\n

<p><a href=\"https://lobste.rs/s/wzmpkd/rise_advanced_build_systems\">Comments</a></p>

", + "id": 480693790, + "sender_full_name": "IFTTT", + "timestamp": 1730804446 + }, + { + "content": "

comin: GitOps For NixOS Machines

\n

November 05, 2024 at 02:59AM

\n

https://github.com/nlewo/comin

\n

<p><a href=\"https://lobste.rs/s/bfg7ll/comin_gitops_for_nixos_machines\">Comments</a></p>

", + "id": 480693791, + "sender_full_name": "IFTTT", + "timestamp": 1730804446 + }, + { + "content": "

Announcing Planet Nix

\n

November 08, 2024 at 11:00AM

\n

https://discourse.nixos.org/t/announcing-planet-nix/55350

\n

<p>We’re doing another Nix conference in North America this year, and we’re calling it <a href=\"https://planetnix.com\" rel=\"ugc\">Planet Nix</a>!. We’re co-located with <a href=\"https://www.socallinuxexpo.org/scale/22x\" rel=\"ugc\">SCaLE</a> in Pasadena, CA. The conference will take place over March 6-7th, and the CFP deadline is approaching (December 9th). I know we have some Nix-appreciators in here and we’d love to have you!</p>
\n<p>I’m one of the organizers (mostly on the program side), so feel free ask questions.</p>
\n<p><a href=\"https://lobste.rs/s/0vipec/announcing_planet_nix\">Comments</a></p>

", + "id": 481370657, + "sender_full_name": "IFTTT", + "timestamp": 1731092456 + }, + { + "content": "

Using Nix to Fuzz Test a PDF Parser (Part Two)

\n

November 10, 2024 at 02:27AM

\n

https://mtlynch.io/nix-fuzz-testing-2/

\n

<p>Follow up to <a href=\"https://lobste.rs/s/9rvhdm/using_nix_fuzz_test_pdf_parser\" rel=\"ugc\">https://lobste.rs/s/9rvhdm/using_nix_fuzz_test_pdf_parser</a></p>
\n<p><a href=\"https://lobste.rs/s/ahshld/using_nix_fuzz_test_pdf_parser_part_two\">Comments</a></p>

", + "id": 481548887, + "sender_full_name": "IFTTT", + "timestamp": 1731234656 + }, + { + "content": "

Zig Reproduced Without Binaries

\n

November 12, 2024 at 10:43PM

\n

https://jakstys.lt/2024/zig-reproduced-without-binaries/

\n

<p><a href=\"https://lobste.rs/s/xlmejv/zig_reproduced_without_binaries\">Comments</a></p>

", + "id": 482139395, + "sender_full_name": "IFTTT", + "timestamp": 1731494149 + } +] \ No newline at end of file diff --git a/zulip_json/415266-social-media/StackOverflow.json b/zulip_json/415266-social-media/StackOverflow.json new file mode 100644 index 00000000000..c4df9da46d2 --- /dev/null +++ b/zulip_json/415266-social-media/StackOverflow.json @@ -0,0 +1,50 @@ +[ + { + "content": "

Loop over a list in NixOS using the value as an identifier?

\n

Link: https://stackoverflow.com/questions/77569447/loop-over-a-list-in-nixos-using-the-value-as-an-identifier

\n
\n

In vhost.nix I want to add the users in a loop like the working example in httpd.virtualHosts.

\n

This is the configuration.nix I am using in a virtual machine:

\n

vm.nix

\n

{ lib, config, ... }:

\n

{

\n

imports = [

\n

./vhosts.nix

\n

];

\n

services.httpd.enable = true;

\n

vhosts = {

\n

\"test.example.de\" = {

\n

customer = \"web2\";

\n

phpuser = \"web2www1\";

\n

};

\n

\"test2.example.de\" = {

\n

customer = \"web3\";

\n

phpuser = \"web3www1\";

\n

};

\n

};

\n

}

\n

this my module vhost.nix

\n

{ config, pkgs, lib, ... }:

\n

with lib;

\n

let

\n

cfg = config.vhosts;

\n

in

\n

{

\n

options.vhosts = lib.mkOption {

\n

type = with lib.types; attrsOf (submodule ({domain, ... }: {

\n

options = {

\n

customer = mkOption {

\n

type = str;

\n

};

\n

phpuser = mkOption {

\n

type = str;

\n

};

\n

};

\n

}));

\n

};

\n

config = {

\n

services.httpd.virtualHosts = lib.mapAttrs (domain: cfg: {

\n

documentRoot = \"/srv/www/${cfg.customer}/${domain}\";

\n

}) cfg;

\n

how do I solve this in a loop like above ?

\n

users.users.web2www1.isNormalUser = true;

\n

users.users.web3www1.isNormalUser = true;

\n

};

\n

}

\n

how do I solve this in a loop like above ?

\n
\n

Published Date: 2023-11-29T08:06:37Z

", + "id": 404986967, + "sender_full_name": "Zapier", + "timestamp": 1701309345 + }, + { + "content": "

How to allow \"unfree\" packages in Nix, for each situation?: {NixOS, Nix, Nix with Flakes, Nix with Flakes and Home Manager}

\n

Link: https://stackoverflow.com/questions/77585228/how-to-allow-unfree-packages-in-nix-for-each-situation-nixos-nix-nix-wit

\n
\n

I'm trying to enable allow \"unfree\" packages, either globally or per-package, when using MyNixOS (excellent Flake configuration app for Nix) with Nix Flakes on Mac OS.

\n

When trying to install any unfree package after the following Flake update and Darwin rebuild command:

\n

cd ~/.nix/mynixos-nix-darwin-loader;

\n

nix flake update;

\n

darwin-rebuild switch --show-trace --flake .#name_of_my_config'

\n

I get the following help message, which isn't very helpful because it doesn't consider the Flake scenario:

\n

error: Package ‘ec2-api-tools-1.7.5.1’ in /nix/store/${hash}-source/pkgs/tools/virtualization/e

\n

c2-api-tools/default.nix:36 has an unfree license (‘amazonsl’), refusing to evaluate.

\n

a) To temporarily allow unfree packages, you can use an environment variable

\n

for a single invocation of the nix tools.

\n

$ export NIXPKGS_ALLOW_UNFREE=1

\n

Note: For nix shell, nix build, nix develop or any other Nix 2.4+

\n

(Flake) command, --impure must be passed in order to read this

\n

environment variable.

\n

b) For nixos-rebuild you can set

\n

{ nixpkgs.config.allowUnfree = true; }

\n

in configuration.nix to override this.

\n

Alternatively you can configure a predicate to allow specific packages:

\n

{ nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [

\n

\"ec2-api-tools\"

\n

];

\n

}

\n

c) For nix-env, nix-build, nix-shell or any other Nix command you can add

\n

{ allowUnfree = true; }

\n

to ~/.config/nixpkgs/config.nix.

\n

Using MyNixOS downloads the following Flake file, and

\n

/nix/store/${hash}-source/homeConfigurations/my_flake_name.nix :

\n

{ inputs, ... }@flakeContext:

\n

let

\n

homeModule = { config, lib, pkgs, ... }: {

\n

config = {

\n

home = {

\n

packages = [

\n

ec2-api-tools

\n

... more packages

\n

];

\n

stateVersion = \"23.11\";

\n

};

\n

nixpkgs = {

\n

config = {

\n

allowUnfree = true;

\n

allowUnfreePredicate = (_: true);

\n

allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [

\n

\"ec2-api-tools\"

\n

];

\n

};

\n

};

\n

Which results in a configuration path for the allowUnfreePredicate setting: homeModule.config.nixpkgs.config.allowUnfreePredicate . Does that seem correct?

\n

This configuration seems to make no difference, and installing unfree packages always results in the same error.

\n

Exactly what needs to be done to allow unfree packages in each of these distinct scenarios?

\n

NixOS

\n

Nix

\n

Nix with Flakes

\n

Nix with Flakes and Home Manager

\n

(Please edit the list or let me know if it doesn't make sense)

\n

The advice from the following web pages didn't seem to apply, or I couldn't figure out how to apply it:

\n

NixOS Discourse: Allow unfree in flakes

\n

GitHub: nix-community/home-manager: #2942: bug: Flake config cannot use unfree packages despite nixpkgs.config.allowUnfree = true

\n

GitHub: nix-community/home-manager: #2720: modules/default.nix: Add useNixpkgsModule parameter

\n

Abandoned merge request

\n
\n

Published Date: 2023-12-01T12:21:17Z

", + "id": 405354061, + "sender_full_name": "Zapier", + "timestamp": 1701434254 + }, + { + "content": "

How to override packages in a nix derivation?

\n

Link: https://stackoverflow.com/questions/77635748/how-to-override-packages-in-a-nix-derivation

\n
\n

While developing a nix package, my default.nix looks like this:

\n

let

\n

pkgs = import <nixpkgs> {

\n

config = { ... }

\n

}

\n

in pkgs.path.to.derivation

\n

But when turning that into an actual package, the pkgs comes in as an argument. But adding a config to that doesn't seem to work:

\n

{ pkgs, ... }:

\n

let

\n

pkgs_ = pkgs // { config = { ... } };

\n

in pkgs_.path.to.derivation

\n

How do I add the same config to an already existing package set?

\n
\n

Published Date: 2023-12-10T17:30:37Z

", + "id": 407089423, + "sender_full_name": "Zapier", + "timestamp": 1702229532 + }, + { + "content": "

How to setup zsh-users/antigen with nix-env (non NixOS)?

\n

Link: https://stackoverflow.com/questions/77637908/how-to-setup-zsh-users-antigen-with-nix-env-non-nixos

\n
\n

I installed antigen with nix-env -iA nixpkgs.antigen . After that, I have to source the antigen.zsh file into .zshrc but how do I get this file path from nix? Note that I am using macOS with nix-env . One way that I found is to get it from .nix-profile/shared/antigen/antigen.zsh but is it the best way to do it; if so, does it have any cons? Also, is there a $(brew --prefix) version for nix?

\n
\n

Published Date: 2023-12-11T06:58:55Z

", + "id": 407176910, + "sender_full_name": "Zapier", + "timestamp": 1702278717 + }, + { + "content": "

How can I make a shell.nix that runs some code, only using inbuilt derivation function?

\n

Link: https://stackoverflow.com/questions/77656854/how-can-i-make-a-shell-nix-that-runs-some-code-only-using-inbuilt-derivation-fu

\n
\n

I basically want to create my own simple version of mkShell , so now I'm trying to understand how it would even be possible to execute some code before the shell actually pops up. I googled for a bit, and came up with this:

\n

let pkgs = import <nixpkgs> {}; in

\n

derivation {

\n

name = \"hello\";

\n

shellHook = ''

\n

echo \"hello world!\"

\n

'';

\n

system = builtins.currentSystem;

\n

builder = \"${pkgs.bash}/bin/bash\";

\n

args = [ ./setup.sh ];

\n

}

\n

From nix-shell documentation:

\n

If the derivation defines the variable shellHook, it will be run after $stdenv/setup has been sourced. Since this hook is not executed by regular Nix builds, it allows you to perform initialisation specific to nix-shell. For example, the derivation attribute

\n

shellHook =

\n

''

\n

echo \"Hello shell\"

\n

export SOME_API_TOKEN=\"$(cat ~/.config/some-app/api-token)\"

\n

'';

\n

But that doesn't output anything, although if I replace derivation {} with pkgs.mkShell {} , then it does. How can I make this behaviour work without actually using pkgs.mkShell ?

\n
\n

Published Date: 2023-12-13T22:25:51Z

", + "id": 407821851, + "sender_full_name": "Zapier", + "timestamp": 1702506695 + }, + { + "content": "

How can I make home-manager use nixpkgs-23.11 in flake system configuration?

\n

Link: https://stackoverflow.com/questions/77661475/how-can-i-make-home-manager-use-nixpkgs-23-11-in-flake-system-configuration

\n
\n

My flake.nix in /etc/nixos directory:

\n

{

\n

description = \"A very basic flake\";

\n

inputs = {

\n

nixpkgs.url = \"github:nixos/nixpkgs/nixos-23.11\";

\n

home-manager = {

\n

url = \"github:nix-community/home-manager\";

\n

inputs.nixpkgs.follows = \"nixpkgs\";

\n

};

\n

};

\n

outputs = { self, nixpkgs, home-manager, ... }@inputs:

\n

let

\n

system = \"x86_64-linux\";

\n

pkgs = import nixpkgs {

\n

inherit system;

\n

config.allowUnfree = true;

\n

};

\n

in {

\n

nixosConfigurations = rec {

\n

default = nixpkgs.lib.nixosSystem {

\n

specialArgs = { inherit inputs system; };

\n

modules = [ ./configuration.nix home-manager.nixosModules.home-manager ];

\n

};

\n

nixos = default;

\n

};

\n

};

\n

}

\n

When I run it (installing home-manager for the first time), I get this log:

\n

warning: creating lock file '/etc/nixos/flake.lock'

\n

building the system configuration...

\n

trace: warning: monkpatch profile: You are using

\n

Home Manager version 24.05 and

\n

Nixpkgs version 23.11.

\n

Using mismatched versions is likely to cause errors and unexpected

\n

behavior. It is therefore highly recommended to use a release of Home

\n

Manager that corresponds with your chosen release of Nixpkgs.

\n

If you insist then you can disable this warning by adding

\n

home.enableNixpkgsReleaseCheck = false;

\n

to your configuration.

\n

And if I replace nixos-23.11 with nixos-unstable in nixpkgs.url (line 5), then the error disappears. But what if I want to use nixos-23.11 ? What do I do?

\n
\n

Published Date: 2023-12-14T15:58:41Z

", + "id": 407994107, + "sender_full_name": "Zapier", + "timestamp": 1702570310 + }, + { + "content": "

How can I write a shell.nix for a Python environment that uses a custom PyPi location?

\n

Link: https://stackoverflow.com/questions/77662568/how-can-i-write-a-shell-nix-for-a-python-environment-that-uses-a-custom-pypi-loc

\n
\n

I have a project that includes Python packages from a custom PyPi. How can I write a Nix shell.nix to use those packages, alongside others which are in the standard PyPi?

\n
\n

Published Date: 2023-12-14T19:11:11Z

", + "id": 408028352, + "sender_full_name": "Zapier", + "timestamp": 1702581828 + }, + { + "content": "

How can I change group of /dev/usb on NixOs?

\n

Link: https://stackoverflow.com/questions/77685716/how-can-i-change-group-of-dev-usb-on-nixos

\n
\n

I can't seem to change the group of /dev/usb on nixos. It remains root no matter what I try. I can change the mode though and that has an effect. Here is my configuration for this.

\n

Configuration.nix:

\n

services.udev.extraRules = ''

\n

SUBSYSTEMS==\"usb\", MODE=\"0660\", GROUP=\"plugdev\" # Not working

\n

SUBSYSTEM==\"usb\", MODE=\"0666\" # Tested and has an effect

\n

'';

\n

users.groups.plugdev.members = [ \"mcmah309\" ];

\n

cat /etc/group shows plugdev is created and my user is assigned.

\n

ls -l /dev is still showing usb is in the root group.

\n

I expect the group of /dev/usb to be plugdev .

\n
\n

Published Date: 2023-12-19T13:58:03Z

", + "id": 408941788, + "sender_full_name": "Zapier", + "timestamp": 1702995052 + } +] \ No newline at end of file diff --git a/zulip_json/415266-social-media/r.2Fnixos.json b/zulip_json/415266-social-media/r.2Fnixos.json new file mode 100644 index 00000000000..ce1c64ad911 --- /dev/null +++ b/zulip_json/415266-social-media/r.2Fnixos.json @@ -0,0 +1,4418 @@ +[ + { + "content": "

Announcing nixlang.wiki

\n

Date: 2023-11-29T13:26:44+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/186pcmx/announcing_nixlangwiki/

\n
\n

We are happy to announce another unofficial community wiki, nixlang.wiki , as an alternative to the poorly maintained nixos.wiki . If Arch Linux can have such a nice wiki, why shouldn't we be able to?

\n

To make the wiki less centralized, we have automatic, world readable backups of all articles to a git repository (https://github.com/nixlang-wiki/nixlang-wiki ), to make it easier to migrate from the wiki in the future if necessary.

\n

We also just landed a feature that enables you to browse the wiki in your terminal, by download the entire wiki as man pages https://github.com/nixlang-wiki/nixlang-wiki/pull/2 . It's a bit primitive right now, but we plan to improve it.

\n

So far we've been very glad to see the positive response from the community, and hope to see more contributions.

\n

EDIT: the reason why we don't try to improve the old one is because that's impossible, the maintainer has gone awol https://github.com/nix-community/wiki/issues/46#issuecomment-1381989599 .

\n

Also we have good reasons to think that situation won't be resolved anytime soon, and we couldn't have features like a git backup without going for a different wiki platform than the very outdated mediawiki version https://github.com/nix-community/wiki/issues/50 .

\n

In the future, we expect to be able to migrate old nixos.wiki articles over to nixlang.wiki , so there really isn't much lost.

\n

\n

submitted by /u/cafkafk

\n

[link] [comments]

\n
", + "id": 404985950, + "sender_full_name": "Zapier", + "timestamp": 1701308966 + }, + { + "content": "

NixOS 23.11 released

\n

Date: 2023-11-30T03:01:56+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/1878265/nixos_2311_released/

\n
\n

submitted by /u/mitchiebitchie

\n

[link] [comments]

\n
", + "id": 405002036, + "sender_full_name": "Zapier", + "timestamp": 1701313676 + }, + { + "content": "

Help Translating default.nix to flake.nix

\n

Date: 2023-11-30T05:46:37+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/187b6s8/help_translating_defaultnix_to_flakenix/

\n
\n

There is a file that someone has made, but I am trying to get on the flakes train and translate it into a usable flake.nix file. It comes with the challenege of compiling a file from a repository on github. If someone could help walk me through how to turn this would be great!

\n

{ lib, stdenv, fetchurl, zlib, bzip2, lzma, perl, ncurses }: stdenv.mkDerivation rec { version = \"1.16.1\"; name = \"samtools-${version}\"; src = fetchurl { url = \"https://github.com/samtools/samtools/releases/download/${version}/${name}.tar.bz2\"; sha256 = \"01qxvygvq6m7m3vhlysdw5g1qkx1c182vly90wyz4k2rg1gs581g\"; }; buildInputs = [ zlib bzip2 lzma perl ncurses ]; #patches = [ ./install-lib_1.13.patch ]; doCheck = false; installPhase = '' make prefix=$out install ''; meta = with lib; { description = \"Tools for reading/writing/editing/indexing/viewing SAM/BAM/CRAM format\"; license = licenses.free; homepage = \"http://www.htslib.org\"; platforms = platforms.unix; }; } For reference I am running NixOS on a 2020 Mac M1, so:

\n

system: \"aarch64-darwin\"

\n

submitted by /u/vanslife4511

\n

[link] [comments]

\n
", + "id": 405034665, + "sender_full_name": "Zapier", + "timestamp": 1701323470 + }, + { + "content": "

Am I doing this right?

\n

Date: 2023-11-30T13:57:20+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/187j4bu/am_i_doing_this_right/

\n
\n

So, I'm trying to set up my own personal nixos config. From what I can tell i'm doing this sort of right... but I can't tell. Here's my general structure for organizing and doing everything:

\n

:organize: NixOS | +-:book: README.md | +-:snowflake: flake.nix | +-:locked: flake.lock | +-🗄 .sops.yaml | +-:organize: system | | | +-:organize: global | | | | | +-:snowflake: config.nix | | | | | +-:snowflake: pkgs.nix | | | +-:organize: laptop | | | | | +-:snowflake: config.nix | | | | | +-:snowflake: hardware.nix | | | | | +-:snowflake: pkgs.nix | | | +-:organize: desktop | | | +-:snowflake: config.nix | | | +-:snowflake: hardware.nix | | | +-:snowflake: pkgs.nix | +-:organize: home | | | +-:organize: global | | | | | +-:snowflake: home.nix | | | | | +-:organize: modules | | | | | +-:organize: ags | | | | | | | +-:snowflake: default.nix | | | | | +-:organize: hyprland | | | | | | | +-:snowflake: default.nix | | | | | +-:organize: neovim | | | | | +-:snowflake: default.nix | | | +-:organize: laptop | | | | | +-:snowflake: home.nix | | | | | +-:organize: modules | | | +-:organize: desktop | | | +-:snowflake: home.nix | | | +-:organize: modules | +-:organize: secrets | | | +-:organize: global | | | | | +-🗄 secrets.yaml | | | +-:organize: laptop | | | | | +-🗄 secrets.yaml | | | +-:organize: desktop | | | +-🗄 secrets.yaml | +-:organize: overlays | | | +-:organize: global | | | | | +-:snowflake: overlay.nix | | | | | +-:organize: retroarch | | | | | +-:snowflake: default.nix | | | +-:organize: laptop | | | | | +-:snowflake: overlay.nix | | | +-:organize: desktop | | | +-:snowflake: overlay.nix | +-:organize: assets | +-:organize: images | +-:organize: screenshots | +-:mountain_sunrise: desktop.jpg | +-:mountain_sunrise: neovim.jpg Thanks for your insights

\n

submitted by /u/VerySpaghetti

\n

[link] [comments]

\n
", + "id": 405125173, + "sender_full_name": "Zapier", + "timestamp": 1701353307 + }, + { + "content": "

Am I doing this right?

\n

Date: 2023-11-30T13:57:20+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/187j4bo/am_i_doing_this_right/

\n
\n

So, I'm trying to set up my own personal nixos config. From what I can tell i'm doing this sort of right... but I can't tell. Here's my general structure for organizing and doing everything:

\n

:organize: NixOS | +-:book: README.md | +-:snowflake: flake.nix | +-:locked: flake.lock | +-🗄 .sops.yaml | +-:organize: system | | | +-:organize: global | | | | | +-:snowflake: config.nix | | | | | +-:snowflake: pkgs.nix | | | +-:organize: laptop | | | | | +-:snowflake: config.nix | | | | | +-:snowflake: hardware.nix | | | | | +-:snowflake: pkgs.nix | | | +-:organize: desktop | | | +-:snowflake: config.nix | | | +-:snowflake: hardware.nix | | | +-:snowflake: pkgs.nix | +-:organize: home | | | +-:organize: global | | | | | +-:snowflake: home.nix | | | | | +-:organize: modules | | | | | +-:organize: ags | | | | | | | +-:snowflake: default.nix | | | | | +-:organize: hyprland | | | | | | | +-:snowflake: default.nix | | | | | +-:organize: neovim | | | | | +-:snowflake: default.nix | | | +-:organize: laptop | | | | | +-:snowflake: home.nix | | | | | +-:organize: modules | | | +-:organize: desktop | | | +-:snowflake: home.nix | | | +-:organize: modules | +-:organize: secrets | | | +-:organize: global | | | | | +-🗄 secrets.yaml | | | +-:organize: laptop | | | | | +-🗄 secrets.yaml | | | +-:organize: desktop | | | +-🗄 secrets.yaml | +-:organize: overlays | | | +-:organize: global | | | | | +-:snowflake: overlay.nix | | | | | +-:organize: retroarch | | | | | +-:snowflake: default.nix | | | +-:organize: laptop | | | | | +-:snowflake: overlay.nix | | | +-:organize: desktop | | | +-:snowflake: overlay.nix | +-:organize: assets | +-:organize: images | +-:organize: screenshots | +-:mountain_sunrise: desktop.jpg | +-:mountain_sunrise: neovim.jpg Thanks for your insights

\n

submitted by /u/VerySpaghetti

\n

[link] [comments]

\n
", + "id": 405125176, + "sender_full_name": "Zapier", + "timestamp": 1701353308 + }, + { + "content": "

Black screen after adding Nvidia drivers

\n

Date: 2023-11-30T14:13:08+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/187jgr2/black_screen_after_adding_nvidia_drivers/

\n
\n

Hey /r/nixos ,

\n

Posting here in hopes somebody else has ran into this. I have nixos on my desktop which works great, however after enable nvidia drivers with this config:

\n

services.xserver.videoDrivers = [\"nvidia\"]; hardware.nvidia = { modesetting.enable = true; open = false; nvidiaSettings = true; package = config.boot.kernelPackages.nvidiaPackages.beta; }; Lightdm loads fine, however after logging in my screen flashes then goes blank with only my cursor showing. Switching to another tty I can see the card in nvidia-smi, and no errors in xorg or display-manager. This is a desktop setup (i9-12900K and RTX 3070 Ti)

\n

The only thing is I can see 'Deleted GPU-0' inside my xorg log, so im currently investigating any of the generated nvidia xorg configs.

\n

Any help would be appreciated!

\n

submitted by /u/StartupChild

\n

[link] [comments]

\n
", + "id": 405128086, + "sender_full_name": "Zapier", + "timestamp": 1701354254 + }, + { + "content": "

Improper font(?) rendering in Calibre E-book Viewer

\n

Date: 2023-11-30T17:18:23+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/187nr6e/improper_font_rendering_in_calibre_ebook_viewer/

\n
\n

I installed NixOS with flakes using the unstable channel with KDE Plasma. I use the wayland session, and it is scaled to 150% automatically since my display is 1440p. Calibre itself looks fine on my display, so do all the other apps.

\n

But when I open the Calibre e-book viewer, the font (and the reader UI too) is rendered in a weird way: https://imgur.com/a/mUjhiCz . It used to render fine on my previous Arch installation.

\n

The same document looks crystal clear on my Macbook Pro too. I don't think fonts are the problem since stuff like the :cross_mark: for closing the reader from its menu is also blurred/blocky.

\n

Any idea why this is happening?

\n

P.S. The books render fine when opening them from the browser using the built-in webserver.

\n

submitted by /u/EQuioMaX

\n

[link] [comments]

\n
", + "id": 405165556, + "sender_full_name": "Zapier", + "timestamp": 1701365327 + }, + { + "content": "

Change hardware config to use labels

\n

Date: 2023-11-30T20:01:46+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/187rm0i/change_hardware_config_to_use_labels/

\n
\n

I'm working my way through the NixOS installation guide. I've come to the essential changes in the configuration.nix.

\n

It is fairly detailed in the commands and then it says \"change hardware config to use labels\"

\n

Can anyone elaborate on this?

\n

submitted by /u/penguinmatt

\n

[link] [comments]

\n
", + "id": 405194543, + "sender_full_name": "Zapier", + "timestamp": 1701375458 + }, + { + "content": "

Where can I download the man pages for Nix?

\n

Date: 2023-11-30T23:24:51+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/187wibr/where_can_i_download_the_man_pages_for_nix/

\n
\n

Title

\n

I just installed nix on my gentoo box from this overlay: https://github.com/trofi/nix-guix-gentoo

\n

No man pages included, and seems like any --help just references the man pages

\n

So I try to build it with the doc use flag, which provides documentation for packages

\n

That fails, because the ebuild is unable to download one of the 219(!!!!) rust crates required for a backend that checks links for a tool that I assume creates troff from markdown.

\n

That's the most revolting thing I've seen since I saw create-react-app barf over 200 MB onto disk, including 19 copies of the same node package.

\n

Where can I just download the troff TUVM?

\n

submitted by /u/aktivb

\n

[link] [comments]

\n
", + "id": 405226821, + "sender_full_name": "Zapier", + "timestamp": 1701386966 + }, + { + "content": "

I really apologize. I accidentaly upgraded to 24.05

\n

Date: 2023-11-30T23:49:55+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/187x302/i_really_apologize_i_accidentaly_upgraded_to_2405/

\n
\n

\n

https://preview.redd.it/7wzeg4tjok3c1.png?width=1044&format=png&auto=webp&s=7b0e0d9946dae32c1d472bef1d81b8163de8fe80

\n

submitted by /u/cfx_4188

\n

[link] [comments]

\n
", + "id": 405230693, + "sender_full_name": "Zapier", + "timestamp": 1701388948 + }, + { + "content": "

23.11 nvidiaPackages.stable appears to be installing 545, is that correct?

\n

Date: 2023-12-01T00:01:10+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/187xbws/2311_nvidiapackagesstable_appears_to_be/

\n
\n

On 23.11 I'm getting the 545.29.02 driver by default. The 545 driver is still a beta driver, as far as I'm aware. Shouldn't config.boot.kernelPackages.nvidiaPackages.stable be the 535.129.03 driver?

\n

For anyone with this issue config.boot.kernelPackages.nvidiaPackages.production is still 535 if you want to switch back.

\n

Sorry if there is a more appropriate forum for this, I'm new.

\n

submitted by /u/Ruck0

\n

[link] [comments]

\n
", + "id": 405230695, + "sender_full_name": "Zapier", + "timestamp": 1701388949 + }, + { + "content": "

Font missing.

\n

Date: 2023-12-01T03:00:21+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18817ak/font_missing/

\n
\n

I've been trying to solve the problem for 4 days, this symbol (᲼) is missing, I have the following fonts:

\n

fonts = { fontDir = { enable = true; }; fontconfig = { enable = true; antialias = true; hinting.enable = true; }; fonts = with pkgs; [ (nerdfonts.override { fonts = [ \"NerdFontsSymbolsOnly\" ]; }) noto-fonts-cjk-serif noto-fonts-cjk-sans noto-fonts-emoji noto-fonts overpass ]; }; ​

\n

submitted by /u/Varmisanth

\n

[link] [comments]

\n
", + "id": 405259091, + "sender_full_name": "Zapier", + "timestamp": 1701399771 + }, + { + "content": "

Custom Oh-My-Zsh Theme Install

\n

Date: 2023-12-01T03:38:26+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/1881z5w/custom_ohmyzsh_theme_install/

\n
\n

im trying to figure out how to install a custom theme for oh-my-zsh. its an external theme file, that is not part of the OMZSH \"themes\" in the wiki. in a normal OS, i would drop the theme file into the .oh-my-zsh/themes directory, and call it out in the appropriate config file.. Not sure how to do it here.

\n

submitted by /u/nymobster

\n

[link] [comments]

\n
", + "id": 405266016, + "sender_full_name": "Zapier", + "timestamp": 1701402453 + }, + { + "content": "

Is nixOS a good desktop distro?

\n

Date: 2023-12-01T06:17:21+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/1884xbj/is_nixos_a_good_desktop_distro/

\n
\n

Hi everyone! So I discovered nixOS pretty recently and I love the concept of it but I watched some YouTube videos of it and most people mention it's good for businesses but no really said anything about using as a daily driver. So I wanted to ask here, is nixOS good for a desktop distro? I mainly just do some light gaming and listen to music on my PC.

\n

submitted by /u/Deliantomov

\n

[link] [comments]

\n
", + "id": 405286606, + "sender_full_name": "Zapier", + "timestamp": 1701411762 + }, + { + "content": "

Quick question on getting steamtinkerlaunch working in nixos:

\n

Date: 2023-12-01T08:22:19+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/1886uxg/quick_question_on_getting_steamtinkerlaunch/

\n
\n

[root@nixos:~]# echo $STEAM_EXTRA_COMPAT_TOOL_PATHS

\n

\n

[root@nixos:~]# ls $STEAM_EXTRA_COMPAT_TOOL_PATHS/SteamTinkerLaunch/steamtinkerlaunch

\n

/SteamTinkerLaunch/steamtinkerlaunch

\n

\n

As you can see echo is not returning anything, so how do you set this path environment variable in configuration.nix? I can't remember the exact code.

\n

\n

submitted by /u/zeta_00

\n

[link] [comments]

\n
", + "id": 405309215, + "sender_full_name": "Zapier", + "timestamp": 1701419074 + }, + { + "content": "

Switching from Arch Linux

\n

Date: 2023-12-01T08:25:20+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/1886wgg/switching_from_arch_linux/

\n
\n

Hi :)

\n

I've recently heard of NixOS, and i found its concept of \"functional configuration\" really cool. I'm currently using Arch linux, with Hyprland and AGS, so i've already dipped my feet in this mindset of configuring the system via config files

\n

I just wanted to ask some questions, before switching:

\n

Is it simple to use? I don't mean easy , i imagine it'll take some time to learn, i mean if, after learning, updating/upgrading/managing the system is simple to do, and doesn't take a lot of time Is there any prominent missing package? I originally switched to Arch from Fedora because of the seemingly neverending availability of packges via pacman and the AUR. Did you find, in your experience, some important package that was not available on Nix? (I mainly use my pc to code, browse, draw and animate) Does it \"like\" dual boot? I only have a laptop, and i usually install in dual boot Windows, for gaming. Does NixOs have some peculiar quirk when dual booting, aside form the usual ones? Do you have some general beginner's tips? Those are all my questions, for now. Thanks in advance :)

\n

submitted by /u/InKeaton

\n

[link] [comments]

\n
", + "id": 405312114, + "sender_full_name": "Zapier", + "timestamp": 1701420068 + }, + { + "content": "

Build tauri app for NixOS

\n

Date: 2023-12-01T12:47:29+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/188b2dk/build_tauri_app_for_nixos/

\n
\n

Hey!

\n

I have access to the source code of an App built with Tauri that I want to package for NixOS.

\n

As per Tauri's docs it supports bundling as a .deb or .AppImage.

\n

I was wondering if there's a way to compile it into a NixOS compatible binary directly, so that it can be added to nixpkgs. Or if I have to go through the hassle as packaging it as one of the two, then extracting it and cherry pick the necessary dependencies to get it to run on my NixOS machine.

\n

Thank you in advance! :)

\n

submitted by /u/OakArtz

\n

[link] [comments]

\n
", + "id": 405356278, + "sender_full_name": "Zapier", + "timestamp": 1701435122 + }, + { + "content": "

How to install a \".run\" file.

\n

Date: 2023-12-01T14:08:09+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/188cqad/how_to_install_a_run_file/

\n
\n

I need help getting a .run file to run.

\n

Specifically these ones: xPilot-Client

\n

I tried running the file normally and with steam-run but both result in an error:

\n

Normal: fish: Job 1, './xPilot-2.0.0-beta.52-Linux.run' terminated by signal SIGSEGV (Address boundary error) Steam-Run: /nix/store/hzls2l9a86q9v2x0q6g2s4yfla8nwyyl-steam-run: line 19: exec: xPilot-2.0.0-beta.52-Linux.run : not found

\n

\n

submitted by /u/FinnLiry

\n

[link] [comments]

\n
", + "id": 405372418, + "sender_full_name": "Zapier", + "timestamp": 1701439937 + }, + { + "content": "

/me changed the RSS feed to use the top weekly page

", + "id": 405372869, + "sender_full_name": "Srid", + "timestamp": 1701440096 + }, + { + "content": "

Am I doing this right?

\n

Date: 2023-11-30T13:57:20+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/187j4bo/am_i_doing_this_right/

\n
\n

So, I'm trying to set up my own personal nixos config. From what I can tell i'm doing this sort of right... but I can't tell. Here's my general structure for organizing and doing everything:

\n

:organize: NixOS | +-:book: README.md | +-:snowflake: flake.nix | +-:locked: flake.lock | +-🗄 .sops.yaml | +-:organize: system | | | +-:organize: global | | | | | +-:snowflake: config.nix | | | | | +-:snowflake: pkgs.nix | | | +-:organize: laptop | | | | | +-:snowflake: config.nix | | | | | +-:snowflake: hardware.nix | | | | | +-:snowflake: pkgs.nix | | | +-:organize: desktop | | | +-:snowflake: config.nix | | | +-:snowflake: hardware.nix | | | +-:snowflake: pkgs.nix | +-:organize: home | | | +-:organize: global | | | | | +-:snowflake: home.nix | | | | | +-:organize: modules | | | | | +-:organize: ags | | | | | | | +-:snowflake: default.nix | | | | | +-:organize: hyprland | | | | | | | +-:snowflake: default.nix | | | | | +-:organize: neovim | | | | | +-:snowflake: default.nix | | | +-:organize: laptop | | | | | +-:snowflake: home.nix | | | | | +-:organize: modules | | | +-:organize: desktop | | | +-:snowflake: home.nix | | | +-:organize: modules | +-:organize: secrets | | | +-:organize: global | | | | | +-🗄 secrets.yaml | | | +-:organize: laptop | | | | | +-🗄 secrets.yaml | | | +-:organize: desktop | | | +-🗄 secrets.yaml | +-:organize: overlays | | | +-:organize: global | | | | | +-:snowflake: overlay.nix | | | | | +-:organize: retroarch | | | | | +-:snowflake: default.nix | | | +-:organize: laptop | | | | | +-:snowflake: overlay.nix | | | +-:organize: desktop | | | +-:snowflake: overlay.nix | +-:organize: assets | +-:organize: images | +-:organize: screenshots | +-:mountain_sunrise: desktop.jpg | +-:mountain_sunrise: neovim.jpg Thanks for your insights

\n

submitted by /u/VerySpaghetti

\n

[link] [comments]

\n
", + "id": 405394692, + "sender_full_name": "Zapier", + "timestamp": 1701447292 + }, + { + "content": "

Switching from Arch Linux

\n

Date: 2023-12-01T08:25:20+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/1886wgg/switching_from_arch_linux/

\n
\n

Hi :)

\n

I've recently heard of NixOS, and i found its concept of \"functional configuration\" really cool. I'm currently using Arch linux, with Hyprland and AGS, so i've already dipped my feet in this mindset of configuring the system via config files

\n

I just wanted to ask some questions, before switching:

\n

Is it simple to use? I don't mean easy , i imagine it'll take some time to learn, i mean if, after learning, updating/upgrading/managing the system is simple to do, and doesn't take a lot of time Is there any prominent missing package? I originally switched to Arch from Fedora because of the seemingly neverending availability of packges via pacman and the AUR. Did you find, in your experience, some important package that was not available on Nix? (I mainly use my pc to code, browse, draw and animate) Does it \"like\" dual boot? I only have a laptop, and i usually install in dual boot Windows, for gaming. Does NixOs have some peculiar quirk when dual booting, aside form the usual ones? Do you have some general beginner's tips? Those are all my questions, for now. Thanks in advance :)

\n

submitted by /u/InKeaton

\n

[link] [comments]

\n
", + "id": 405415858, + "sender_full_name": "Zapier", + "timestamp": 1701454751 + }, + { + "content": "

How to enable global compiler optimization?

\n

Date: 2023-11-25T13:23:48+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/183jo9e/how_to_enable_global_compiler_optimization/

\n
\n

I tried a lot of stdenv , ccWrap , and similar techniques, but none of them worked out well. Eventually, I found this post here , and I took some reference and wrote the following Nix configuration: nix { lib, ... }: { nix.settings.system-features = lib.mkForce [ \"gccarch-x86-64-v3\" \"benchmark\" \"big-parallel\" \"kvm\" \"nixos-test\" ]; nixpkgs.hostPlatform.system = \"x86_64-linux\"; nixpkgs.hostPlatform.gcc.arch = \"x86-64-v3\"; nix.buildMachines = [{ hostName = \"localhost\"; systems = [ \"x86_64-linux\" ]; supportedFeatures = [ \"gccarch-x86-64-v3\" \"benchmark\" \"big-parallel\" \"kvm\" \"nixos-test\" ]; maxJobs = 20; }]; nix.distributedBuilds = true; } But every time I run nixos-rebuild switch , the following error is observed, despite I specified the system as having gccarch-x86-64-v3 . error: a 'x86_64-linux' with features {gccarch-x86-64-v3} is required to build '/nix/store/82sfaiz7vijssydjh5rfjazxqv4gb23n-bootstrap-stage0-glibc-bootstrapFiles.drv', but I am a 'x86_64-linux' with features {benchmark, big-parallel, kvm, nixos-test} So how can I potentially enable such feature on the local machine?

\n

submitted by /u/XiaoKeAi1

\n

[link] [comments]

\n
", + "id": 405424972, + "sender_full_name": "Zapier", + "timestamp": 1701458555 + }, + { + "content": "

Should I use Devenv.sh, flakes, Docker or directly NixOS config?

\n

Date: 2023-12-01T17:42:14+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/188hqwi/should_i_use_devenvsh_flakes_docker_or_directly/

\n
\n

Hi,

\n

I started to use NixOS on my main computer since yesterday and it works great :)

\n

Today I would like to start coding, but I would prefer not to hardcode languages in my NixOS config. To be portable/reproducible on a CI or whatever.

\n

I saw the devenv project when I was on arch (and try it a bit but that is all)

\n

But now that I'm on NixOS, is it a good idea? Is there a better way?

\n

Thanks

\n

submitted by /u/MyKiwi

\n

[link] [comments]

\n
", + "id": 405446795, + "sender_full_name": "Zapier", + "timestamp": 1701469262 + }, + { + "content": "

Build tauri app for NixOS

\n

Date: 2023-12-01T12:47:29+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/188b2dk/build_tauri_app_for_nixos/

\n
\n

Hey!

\n

I have access to the source code of an App built with Tauri that I want to package for NixOS.

\n

As per Tauri's docs it supports bundling as a .deb or .AppImage.

\n

I was wondering if there's a way to compile it into a NixOS compatible binary directly, so that it can be added to nixpkgs. Or if I have to go through the hassle as packaging it as one of the two, then extracting it and cherry pick the necessary dependencies to get it to run on my NixOS machine.

\n

Thank you in advance! :)

\n

submitted by /u/OakArtz

\n

[link] [comments]

\n
", + "id": 405489121, + "sender_full_name": "Zapier", + "timestamp": 1701490632 + }, + { + "content": "

23.11 nvidiaPackages.stable appears to be installing 545, is that correct?

\n

Date: 2023-12-01T00:01:10+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/187xbws/2311_nvidiapackagesstable_appears_to_be/

\n
\n

On 23.11 I'm getting the 545.29.02 driver by default. The 545 driver is still a beta driver, as far as I'm aware. Shouldn't config.boot.kernelPackages.nvidiaPackages.stable be the 535.129.03 driver?

\n

For anyone with this issue config.boot.kernelPackages.nvidiaPackages.production is still 535 if you want to switch back. (Edit: maybe don’t switch, I’m having trouble now I’ve swapped to production and rebooted)

\n

Sorry if there is a more appropriate forum for this, I'm new.

\n

submitted by /u/Ruck0

\n

[link] [comments]

\n
", + "id": 405515573, + "sender_full_name": "Zapier", + "timestamp": 1701508215 + }, + { + "content": "

Home Manager outside of NixOS, just for dotfiles

\n

Date: 2023-11-29T12:22:34+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/186o61u/home_manager_outside_of_nixos_just_for_dotfiles/

\n
\n

After a decade on Arch Linux I've decided to try and move to NixOS. I decided to start with Home Manager: a small step which I can later build on. I've wanted to improve my dotfiles configuration for a while anyways.

\n

I set up Home Manager and configured a few programs with it, but now that I understand more of how it works I have a problem: it seems that Home Manager requires Nix to be installed and even with a minimal setup Nix takes GBs of storage and it defaults to install all the programs I wish to use even if the host system already provides them.

\n

I use a bunch of non-Nix systems on which I have a small filesystem or a small Quota: university machines, friends' VPSs, existings servers and VMs etc. I can't afford to install Nix and GBs of data just to configure a few dotfiles for the already installed shell, editor etc. The Home Manager I just set up has way too much overhead to be used on these systems.

\n

Is it possible to limit the overhead of Home Manager?

\n

How do you guys deal with it?

\n

Do you configure your dotfiles both with Home Manager (for the systems with Nix) and without (for the systems that don't), or did you find a better solution?

\n

submitted by /u/IRunArchLinuxBTW

\n

[link] [comments]

\n
", + "id": 405546865, + "sender_full_name": "Zapier", + "timestamp": 1701533650 + }, + { + "content": "

I've setup autoUpgrades on my NixOS system, but how do I check it's working?

\n

Date: 2023-11-27T17:13:58+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/185808k/ive_setup_autoupgrades_on_my_nixos_system_but_how/

\n
\n

I've set up autoUpgrades on my NixOS system, but how do I check it's working and doing updates?

\n

system.autoUpgrade = { enable = true; dates = \"daily\"; persistent = true; operation = \"boot\"; }; ​

\n

\n

submitted by /u/untrained9823

\n

[link] [comments]

\n
", + "id": 405555451, + "sender_full_name": "Zapier", + "timestamp": 1701540991 + }, + { + "content": "

Getting Distrobox to work on Nixos or any other Linux Distro

\n

Date: 2023-11-27T16:08:34+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/1856g0u/getting_distrobox_to_work_on_nixos_or_any_other/

\n
\n

submitted by /u/kalosdaemon

\n

[link] [comments]

\n
", + "id": 405563652, + "sender_full_name": "Zapier", + "timestamp": 1701548272 + }, + { + "content": "

nixCats-nvim update: v2.0 dropped

\n

Date: 2023-12-02T23:53:12+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/189gjd1/nixcatsnvim_update_v20_dropped/

\n
\n

https://github.com/BirdeeHub/nixCats-nvim

\n

This is a kickstarter style neovim repo, where you put in your lua and the rigging for nixos options and the project specific packages and stuff is done for you just by putting you plugins in arbitrary categories and enabling them or not per package.

\n

Then in the lua, you can add an if statement that says, if this package is included, also set up this thing. Simply require('nixCats').categoryname

\n

You can do a lot more than that with nixCats but that's the basics. Its actually an entire communication system from nix to lua.The plugin for that is called nixCats and you can access it whenever you want in your neovim config. It has in-editor help that will explain.

\n

Now the final outputs of the flake.nix that you interact with are much cleaner.

\n

Importing overlays defined in other people's versions of nixCats is now easier.

\n

More information is now accessible to categoryDefinitions set.

\n

Help has been updated as well to match all changes.

\n

No further updates planned, outside of running nix flake update,and monitoring breaking changes of any nvim plugins the flake has

\n

By the way, the name stands for nix categories. It is for making categories of plugins/lsps/whatever that then becomes nixOS options and stuff and can be included in different packages for project specific direnv stuff. All while staying simple and mostly in lua.

\n

READ THE DOCS :help nixCats.*

\n

I have put effort into making sure it has all the capabilities I can possibly think of in terms of nix, without impacting the simplicity of the flake.nix file. Please let me know if there are more options related to either the legacy wrapper or the new wrapper for neovim that I should make into categories, I have a function for doing that and could do it in 2-6 lines if asked, and do so without it being a breaking change. That being said, if its the new wrapper, I'm probably just going to tell you to put it in your wrapper args pass through section in your category definitions because that just directly sends things to the new wrapper but by category.

\n

submitted by /u/no_brains101

\n

[link] [comments]

\n
", + "id": 405617525, + "sender_full_name": "Zapier", + "timestamp": 1701591441 + }, + { + "content": "

What means \"reproducible\" for NixOS?

\n

Date: 2023-12-02T17:58:32+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18996ty/what_means_reproducible_for_nixos/

\n
\n

Does \"reproducible\" for NixOS means that all binaries (OS and packages) can be reproduced from sources by anybody else and they will have same hash as binaries that are produced by NixOS team?

\n

submitted by /u/Alex_df_300

\n

[link] [comments]

\n
", + "id": 405661470, + "sender_full_name": "Zapier", + "timestamp": 1701606236 + }, + { + "content": "

I'm loving NixOS

\n

Date: 2023-12-03T16:00:41+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/189whj1/im_loving_nixos/

\n
\n

So, until recently I knew nothing about nix or NixOS other than seeing occasional references to it on social media, or a note about using it to install something in some random project's README...

\n

Then a few days before Thanksgiving I saw a social media thread where the OP had asked people why they like nix, and I spent a while reading responses and got more and more interested, and... Well, I jumped down that rabbit's hole.

\n

So, now, a few weeks later I've reinstalled my laptop, desktop and home server using a shared config in a git repo. I am also working on getting a few macs using nix and home-manager as well, and will be reinstalling my kids' computers shortly as well.

\n

Anyway, this morning I ran into an issue. I had previously had the backlight working properly on my laptop, but somehow something I had changed in my configuration had broken that and I hadn't noticed. I'm not sure how long it had been broken though.

\n

So, I started digging and found that the /sys/class/backlight/intel_backlight/brightness wasn't owned by the video group as it should be. So, I googled a bit, and poked at settings and then was about to post here and ask for help when I remembered that I can just grep through the nixpkgs repo.

\n

Anyway, a quick grep later and I realized my problem. I've been trying to move as much config as I can to home-manager (because I intend to have multiple users on my systems and I want as much as my config as possible to run on mac as well). So, as part of that effort I replaced programs.light.enable = true; with home.packages = [ pkgs.light ];

\n

The latter got me the program, but didn't turn on the matching udev rules. So, I added the original line back. I'm fine with that now that I understand why that needs to be in the system config and not a user config.

\n

Anyway, this was just me trying to say how much I love this system, because it is all built on the same concepts. Yes, the concepts are complex but they are logical and once you understand them you can understand the entire OS. It is turtles all the way down.

\n

tldr; I love NixOS and thought you should know.

\n

submitted by /u/_minego

\n

[link] [comments]

\n
", + "id": 405682701, + "sender_full_name": "Zapier", + "timestamp": 1701624326 + }, + { + "content": "

why is modern nixos better? am i missing something?

\n

Date: 2023-12-03T16:24:33+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/189wzne/why_is_modern_nixos_better_am_i_missing_something/

\n
\n

i've been using it for a few weeks now, and it seems as though everyone uses home-manager and flakes. i don't get the benefits of both uses, i mostly use it just like i used my arch and debian systems but every package and system setting i have is declared in configuration.nix for it to be a lot cleaner, easier to fix and comprehensible. is there something im missing?

\n

submitted by /u/qwool1337

\n

[link] [comments]

\n
", + "id": 405691094, + "sender_full_name": "Zapier", + "timestamp": 1701631336 + }, + { + "content": "

Advent of Code, nix style?

\n

Date: 2023-12-04T00:37:13+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18a7yz2/advent_of_code_nix_style/

\n
\n

Anyone doing advent of code and using nix to manage the projects? Well, I am! I think advent can be a great promotional time for nix because a lot of people are solving the exact same problem at the same time, and we get curious to see and run others' solutions.

\n

But the problem here is running the other solutions --- it's too much bother to do it, unless you have nix! I mean I'd love to run other people's solutions in different language, but only if the cost is low, like running a flake from someone's git repo.

\n

So in that spirit, here's my advent repo, powered by nix. The readme should be sufficient to get going. If anyone else is up for this, I'd love to run your solutions too!

\n

https://github.com/idrisr/advent2023

\n

submitted by /u/hippoyd

\n

[link] [comments]

\n
", + "id": 405734281, + "sender_full_name": "Zapier", + "timestamp": 1701660150 + }, + { + "content": "

What are the upsides of using Home Manager?

\n

Date: 2023-12-03T16:19:20+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/189wvnf/what_are_the_upsides_of_using_home_manager/

\n
\n

So I've been reading and experimenting on NixOS, and love the ability to define my OS as a config file rather than having to write a setup script to get my system up and running how I want it.

\n

Recently I stumbled upon Home Manager, and maybe It's just me but I don't really understand what are the upsides of using it.

\n

The main selling point seems to be that it lets you set your configuration files declaratively.

\n

But config file are already declarative, so why should I choose to write my config files in a way that only works with Home Manager when I can just write (and re-use) config files like we've always done and have them working anywhere by default?

\n

What am I missing?

\n

submitted by /u/GloriousParrot75

\n

[link] [comments]

\n
", + "id": 405746838, + "sender_full_name": "Zapier", + "timestamp": 1701666658 + }, + { + "content": "

(Noob question) Which version of nixpkgs does a command like \"nix run nixpkgs#hello\" refer to?

\n

Date: 2023-12-04T13:30:02+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18ak81y/noob_question_which_version_of_nixpkgs_does_a/

\n
\n

For a long time, I assumed that when I ran \"nix run nixpkgs#...\", I was referring to the Nix channel named \"nixpkgs\" on my system. However, now that I've completely converted my NixOS configs to a flake, I've deleted my Nix channels, and this command still works.

\n

This makes me wonder, which version of nixpkgs does this resolve to? Does it just fetch the most recent version from GitHub?

\n

submitted by /u/codemonkey1991

\n

[link] [comments]

\n
", + "id": 405904536, + "sender_full_name": "Zapier", + "timestamp": 1701720849 + }, + { + "content": "

Trouble getting mullvad vpn working on 24.05.20231129.e92039b (Uakari)

\n

Date: 2023-12-04T20:21:53+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18atao4/trouble_getting_mullvad_vpn_working_on/

\n
\n

Hey everyone,

\n

I have been having some trouble getting mullvad vpn to work on the latest version of nixos and I need some help.

\n

\n

systemctl status mullvadvpn-daemon.

\n

nixos-version

\n

The following is my github repo where the code is hosted: https://github.com/morphykuffour/nix.git

\n

This is a link to the actual module for mullvadvpn:

\n

https://github.com/morphykuffour/nix/blob/main/modules/mullvad/default.nix

\n

\n

mullvadvpn config

\n

Is there a version of nixos which mullvad works on if so maybe I can switch to that? the service according to systemd starts and stops. I need some help debugging. Any help would greatly be appreciated.

\n

submitted by /u/JediMasterMorphy

\n

[link] [comments]

\n
", + "id": 405938586, + "sender_full_name": "Zapier", + "timestamp": 1701735789 + }, + { + "content": "

How to use/test KDE Plasma 6 - Click the Nix Flake hyperlink

\n

Date: 2023-12-03T22:17:36+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18a5063/how_to_usetest_kde_plasma_6_click_the_nix_flake/

\n
\n

submitted by /u/MySpermIs-Unvaxxd-01

\n

[link] [comments]

\n
", + "id": 405954742, + "sender_full_name": "Zapier", + "timestamp": 1701742856 + }, + { + "content": "

Efficient Nix Derivations with File Sets

\n

Date: 2023-12-05T02:58:26+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18b20rd/efficient_nix_derivations_with_file_sets/

\n
\n

submitted by /u/arashinoshizukesa

\n

[link] [comments]

\n
", + "id": 405976690, + "sender_full_name": "Zapier", + "timestamp": 1701753523 + }, + { + "content": "

why is the nixos installation manual instructing to imperatively add a user instead of declaratively adding one in the configuration.nix?

\n

Date: 2023-12-05T06:32:28+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18b5v34/why_is_the_nixos_installation_manual_instructing/

\n
\n

submitted by /u/MySpermIs-Unvaxxd-01

\n

[link] [comments]

\n
", + "id": 406023857, + "sender_full_name": "Zapier", + "timestamp": 1701771724 + }, + { + "content": "

I need a good point to start

\n

Date: 2023-12-03T21:32:06+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18a3yko/i_need_a_good_point_to_start/

\n
\n

I want to rewrite my dotfiles in nix to use them in conjunction with home-manager outside nixos (other linux/darwin)

\n

I made a research and found a couple of resources to start:

\n
    \n
  • \n

    nix pills

    \n
  • \n
  • \n

    nix tutorial on gitlab

    \n
  • \n
  • \n

    zero to nix

    \n
  • \n
\n

What do you recommend as an entry point and so on to understand how to write and manage dotfiles in nix?

\n

submitted by /u/xrabbit

\n

[link] [comments]

\n
", + "id": 406209682, + "sender_full_name": "Zapier", + "timestamp": 1701832229 + }, + { + "content": "

Nix flakes + IDE integration?

\n

Date: 2023-12-05T14:47:00+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18bdjse/nix_flakes_ide_integration/

\n
\n

Hey!

\n

I'm curious how nix flakes work together with developer specific tools. I want to use nix to set up common tooling (linting, build, lsp) amongst my team members. However, I would also like people to remain autonomous in their choice of editor and ideally they shouldn't need to touch the nix flake for their IDE setup.

\n

Is this something Nix supports? I.E. can I access the lsp server run by nix with my vim editor, and someone else can access it using vscode without touching the nix flake?

\n

submitted by /u/XzwordfeudzX

\n

[link] [comments]

\n
", + "id": 406220471, + "sender_full_name": "Zapier", + "timestamp": 1701835976 + }, + { + "content": "

Announcing our Nix clone of the CNCF landscape, landscape.nixlang.wiki

\n

Date: 2023-12-06T10:54:45+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18c1go7/announcing_our_nix_clone_of_the_cncf_landscape/

\n
\n

I’m happy to announce https://landscape.nixlang.wiki/ , a daughter project of https://nixlang.wiki , aiming to map the various Nix and Nix adjacent projects, and make them easier for beginners to discover.

\n

The project is based on landscape2, the upcoming rust version of the CNCF landscape, of which we maintain our own fork with some changes GitHub - nixlang-wiki/landscape2: Landscape2 is a tool that generates interactive landscapes websites .

\n

While the project is still early in its development cycle, it’s no longer in its infancy, and we believe that most people should be able to contribute additions to the landscape at this point, and if not, we’ll gladly receive issues with suggestions and see what we can do at GitHub - nixlang-wiki/nixos-landscape: The Landscape of NixOS and associated projects .

\n

We hope to see your contributions, and can’t wait to see how the landscape will look once it gets filled out.

\n

submitted by /u/cafkafk

\n

[link] [comments]

\n
", + "id": 406302891, + "sender_full_name": "Zapier", + "timestamp": 1701868782 + }, + { + "content": "

Why is Waybar under programs but Polybar under services in home manager?

\n

Date: 2023-12-03T23:39:36+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18a6sgc/why_is_waybar_under_programs_but_polybar_under/

\n
\n

https://mipmip.github.io/home-manager-option-search/?query=polybar

\n

vs

\n

https://mipmip.github.io/home-manager-option-search/?query=waybar

\n

submitted by /u/SitAndWatchA24

\n

[link] [comments]

\n
", + "id": 406316976, + "sender_full_name": "Zapier", + "timestamp": 1701872731 + }, + { + "content": "

Operation not permitted during install

\n

Date: 2023-12-03T08:08:50+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/189oyak/operation_not_permitted_during_install/

\n
\n

Hi all, brand new to NixOS here. While following the NixOS installation guide: https://nixos.wiki/wiki/NixOS_Installation_Guide , it throws this error when I run nixos-install:

\n

copying channel...

\n

error: changing ownership of path '/mnt/nix/store': Operation not permitted

\n

As you can see from the screenshots below, I've already tried running it directly as root. I performed the steps provided in the instructions except I did not make a swap file or label the partitions.

\n

Platform: VirtualBox

\n

HW specs (virtual): 2 CPUs w/ 5Gb of RAM

\n

Any ideas on how to fix this? Does it have anything to do with the fact /mnt/boot was formatted to VFAT?

\n

https://preview.redd.it/l5y0kl4ye14c1.png?width=1440&format=png&auto=webp&s=ebfaf861ef68b4be6aa2ed4d0366bf7d0b0c8653

\n

https://preview.redd.it/fmtxn376f14c1.png?width=1440&format=png&auto=webp&s=4829a6e420096178b300c8f636029519611bbe55

\n

https://preview.redd.it/3ep60ph8f14c1.png?width=1440&format=png&auto=webp&s=ada7cd5aa17ba63060d2f11a66c3257839e0e2cd

\n

submitted by /u/I_hit_my_sister

\n

[link] [comments]

\n
", + "id": 406316980, + "sender_full_name": "Zapier", + "timestamp": 1701872732 + }, + { + "content": "

Does NixOs have something similar to archinstall for automated installation?

\n

Date: 2023-12-06T18:16:05+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18ca9fr/does_nixos_have_something_similar_to_archinstall/

\n
\n

SOLVED PS: thank for the help, everyone!

\n

submitted by /u/xrabbit

\n

[link] [comments]

\n
", + "id": 406397587, + "sender_full_name": "Zapier", + "timestamp": 1701900712 + }, + { + "content": "

system.autoUpgrade.channel

\n

Date: 2023-12-02T17:42:00+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/1898uci/systemautoupgradechannel/

\n
\n

i use this on configuration.nix

\n

system.autoUpgrade.channel = \" https://github.com/NixOS/nixpkgs/archive/master.tar.gz \";

\n

then my channel is

\n

nix-channel --list

\n

nixos https://nixos.org/channels/nixos-23.11

\n

my question:

\n

after run nixos-rebuild boot --upgrade, does \"nixos\" channel automatically change to https://github.com/NixOS/nixpkgs/archive/master.tar.gz ?

\n

\n

\n

submitted by /u/Legitimate_Item_9683

\n

[link] [comments]

\n
", + "id": 406461902, + "sender_full_name": "Zapier", + "timestamp": 1701925614 + }, + { + "content": "

Sometimes printing is completed without printing

\n

Date: 2023-12-06T20:44:20+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18cdpsu/sometimes_printing_is_completed_without_printing/

\n
\n

I have a Brother laser printer DCP-1612W and when I print some PDFs with images the job is flagged as completed even if nothing was printed (but the printer makes some noise). Printing the same from Ubuntu works fine. In cups log I cannot find anything useful.

\n

My print config:

\n

{ config, pkgs, users, lib, ... }: let ip = \"192.168.1.4\"; model = \"DCP-1612W\"; in { services.printing.enable = true; programs.system-config-printer.enable = true; hardware.sane.enable = true; services.avahi = { enable = true; nssmdns = true; openFirewall = true; }; services.printing.drivers = with pkgs; [ brlaser ]; hardware.printers = { ensureDefaultPrinter = \"Brother\"; ensurePrinters = [{ name = \"Brother\"; location = \"cjase\"; description = \"Brother ${model}\"; deviceUri = \"ipp://${ip}/ipp\"; model = \"drv:///brlaser.drv/br1600.ppd\"; ppdOptions = { PageSize = \"A4\"; }; }]; }; hardware.sane.brscan4 = { enable = true; netDevices = { cjase = { inherit model ip; }; }; }; } cups logs:

\n

journalctl --follow --unit=cups Dec 06 21:24:31 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:31 PereBook cupsd[177160]: [Job 95] Adding start banner page \"none\". Dec 06 21:24:31 PereBook cupsd[177160]: [Job 95] Queued on \"Brother\" by \"dpd-\". Dec 06 21:24:31 PereBook cupsd[177160]: REQUEST localhost - - \"POST /printers/Brother HTTP/1.1\" 200 567 Create-Job successful-ok Dec 06 21:24:31 PereBook cupsd[177160]: [Job 95] File of type application/postscript queued by \"dpd-\". Dec 06 21:24:31 PereBook cupsd[177160]: [Job 95] Adding end banner page \"none\". Dec 06 21:24:31 PereBook cupsd[177160]: [Job 95] Started filter /nix/store/0ynxwkwr0vc021y1v0kljjdzp10vgd67-cups-progs/lib/cups/filter/gstopdf (PID 178823) Dec 06 21:24:31 PereBook cupsd[177160]: [Job 95] Started filter /nix/store/0ynxwkwr0vc021y1v0kljjdzp10vgd67-cups-progs/lib/cups/filter/pdftopdf (PID 178824) Dec 06 21:24:31 PereBook cupsd[177160]: [Job 95] Started filter /nix/store/0ynxwkwr0vc021y1v0kljjdzp10vgd67-cups-progs/lib/cups/filter/gstoraster (PID 178825) Dec 06 21:24:31 PereBook cupsd[177160]: [Job 95] Started filter /nix/store/0ynxwkwr0vc021y1v0kljjdzp10vgd67-cups-progs/lib/cups/filter/rastertobrlaser (PID 178826) Dec 06 21:24:31 PereBook cupsd[177160]: [Job 95] Started backend /nix/store/0ynxwkwr0vc021y1v0kljjdzp10vgd67-cups-progs/lib/cups/backend/ipp (PID 178827) Dec 06 21:24:31 PereBook cupsd[177160]: REQUEST localhost - - \"POST /printers/Brother HTTP/1.1\" 200 3542310 Send-Document successful-ok Dec 06 21:24:32 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:33 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:34 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:35 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:36 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:37 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:38 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:39 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:40 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:41 PereBook cupsd[177160]: Expiring subscriptions... Dec 06 21:24:41 PereBook cupsd[177160]: Brother dpd- 95 [06/Dec/2023:21:24:41 +0100] total 1 1 localhost 2023.pdf A4 one-sided Dec 06 21:24:41 PereBook cupsd[177160]: [Job 95] Job completed. Dec 06 21:24:41 PereBook cupsd[177160]: Expiring subscriptions...

\n

submitted by /u/DPD-

\n

[link] [comments]

\n
", + "id": 406479271, + "sender_full_name": "Zapier", + "timestamp": 1701933154 + }, + { + "content": "

Black screen after adding Nvidia drivers

\n

Date: 2023-11-30T14:13:08+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/187jgr2/black_screen_after_adding_nvidia_drivers/

\n
\n

Hey /r/nixos ,

\n

Posting here in hopes somebody else has ran into this. I have nixos on my desktop which works great, however after enable nvidia drivers with this config:

\n

services.xserver.videoDrivers = [\"nvidia\"]; hardware.nvidia = { modesetting.enable = true; open = false; nvidiaSettings = true; package = config.boot.kernelPackages.nvidiaPackages.beta; }; Lightdm loads fine, however after logging in my screen flashes then goes blank with only my cursor showing. Switching to another tty I can see the card in nvidia-smi, and no errors in xorg or display-manager. This is a desktop setup (i9-12900K and RTX 3070 Ti)

\n

The desktop environment (i3) starts because I can reboot my computer blind after opening a terminal with keyboard commands.

\n

The only thing is I can see 'Deleted GPU-0' inside my xorg log, so im currently investigating any of the generated nvidia xorg configs.

\n

Any help would be appreciated!

\n

submitted by /u/StartupChild

\n

[link] [comments]

\n
", + "id": 406552622, + "sender_full_name": "Zapier", + "timestamp": 1701958944 + }, + { + "content": "

GNOME - Cannot login after 23.11-Upgrade

\n

Date: 2023-12-07T12:05:30+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18cu6jh/gnome_cannot_login_after_2311upgrade/

\n
\n

Yesterday I upgraded to stable channel 23.11. After that I can no longer login with any of my users. I get thrown back into the login screen.

\n

This here is the journalctl-extract from my latest try:

\n

Dez 07 12:57:06 flixos systemd[2229]: Starting GNOME Shell on Wayland... Dez 07 12:57:06 flixos systemd[2229]: GNOME Shell on X11 was skipped because of an unmet condition check (ConditionEnvironment=XDG_SESSION_TYPE=x11). Dez 07 12:57:06 flixos systemd[2229]: Started Application launched by gnome-session-binary. Dez 07 12:57:06 flixos dbus-daemon[2240]: [session uid=1000 pid=2240] Activating via systemd: service name='org.gtk.vfs.Daemon' unit='gvfs-daemon.service' requested by '> Dez 07 12:57:06 flixos systemd[2229]: Starting Virtual filesystem service... Dez 07 12:57:06 flixos dbus-daemon[2240]: [session uid=1000 pid=2240] Successfully activated service 'org.gtk.vfs.Daemon' Dez 07 12:57:06 flixos systemd[2229]: Started Virtual filesystem service. Dez 07 12:57:06 flixos .gnome-shell-wr[2372]: Running GNOME Shell (using mutter 45.1) as a Wayland display server Dez 07 12:57:06 flixos rtkit-daemon[1945]: Successfully made thread 2405 of process 2372 owned by '1000' RT at priority 20. Dez 07 12:57:06 flixos .gnome-shell-wr[2372]: Made thread 'KMS thread' realtime scheduled Dez 07 12:57:06 flixos .gnome-shell-wr[2372]: Device '/dev/dri/card0' prefers shadow buffer Dez 07 12:57:06 flixos systemd[2229]: org.gnome.Shell@wayland.service: Main process exited, code=killed, status=9/KILL Dez 07 12:57:06 flixos systemd[2229]: org.gnome.Shell@wayland.service: Failed with result 'signal'. Dez 07 12:57:06 flixos systemd[2229]: Failed to start GNOME Shell on Wayland. Dez 07 12:57:06 flixos systemd[2229]: org.gnome.Shell@wayland.service: Triggering OnFailure= dependencies. Dez 07 12:57:06 flixos systemd[2229]: Stopped target GNOME Wayland Session. Dez 07 12:57:06 flixos systemd[2229]: Stopping Virtual filesystem service... Dez 07 12:57:06 flixos systemd[2229]: Stopped target GNOME Session Manager is ready. Dez 07 12:57:06 flixos systemd[2229]: Stopped target GNOME Shell. Dez 07 12:57:06 flixos systemd[2229]: Stopping GNOME Session Manager (session: gnome)... It basically says nothing. Does someone have an idea? I reloaded my 23.05-system and it works. Currently I switched over to X11 for writing this post and debugging.

\n

coredumpctl seems to not show anything regarding this problem. I have entries but they happened almost 2h ago.

\n

Thank's in advance.

\n

submitted by /u/OriginalJohann

\n

[link] [comments]

\n
", + "id": 406565762, + "sender_full_name": "Zapier", + "timestamp": 1701962595 + }, + { + "content": "

Can I use a later kernel?

\n

Date: 2023-12-07T19:31:59+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18d3ftz/can_i_use_a_later_kernel/

\n
\n

I have a new Framework laptop and I've read that to run 2x32GB of memory I will need to use a kernel > 6.5. The current stable kernel is well above this but I know that NixOS is behind. (I'm still awaiting the memory so playing in a VM)

\n

I know I can change the kernel by changing boot.kernelPackages.

\n

Following the instructions at nixos.wiki/wiki/Linux_kernel I tried to use \"nix repl\" to list available kernels. However when running the \"pkgs.linuxPackages\" command it just threw a load of errors and I didn't get the answer to my question.

\n

So, firstly can someone guide me to get the list of available kernels and then I can see for myself whether it is possible or not?

\n

Alternatively, if someone was able to answer my question directly then it might put a stop to my NixOS experiment before it has begun or it might get me past the first hurdle.

\n

submitted by /u/penguinmatt

\n

[link] [comments]

\n
", + "id": 406629911, + "sender_full_name": "Zapier", + "timestamp": 1701987305 + }, + { + "content": "

How to switch channel back to 23.05 from 23.11?

\n

Date: 2023-12-07T06:00:34+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18cp0dy/how_to_switch_channel_back_to_2305_from_2311/

\n
\n

Hey! I've searched for quite a while, and couldn't really figure out what I was really looking for. I'm also quite noob so please be patient with me! Recently, I tried to install a service that was only available for 23.11, so I changed my channel and upgraded, but after upgrading it didn't really interact well with everything and caused a bunch of headaches. I don't really think it's necessary to go into all of those details, it's just not something I'm really interested in spending the time fixing. I went back to a previous build, and am going about it that way for now, but is there anyway to set the channel back to 23.05 and rebuild safely? I'm not using flakes or anything, if that's something that matters.

\n

submitted by /u/viewtiful_

\n

[link] [comments]

\n
", + "id": 406643936, + "sender_full_name": "Zapier", + "timestamp": 1701994833 + }, + { + "content": "

How does the security/trustworthiness of software from nixpkgs unstable compare to the Debian or Fedora official repos?

\n

Date: 2023-12-05T11:55:49+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18badxz/how_does_the_securitytrustworthiness_of_software/

\n
\n

My understanding of the Nix system is very surface-level; to me it's just an easy way to get rolling-release versions of almost anything on my Fedora machine without dependency hell. As I understand it, Nix manages to have so many packages because the design enables partial automation of creating and maintaining packages. So how do the Nix community's protocols for minimizing the risk of malicious packages compare to those of Fedora or Debian? Is installing from nixpkgs unstable more like installing from main repos of traditional distributions, or should a similar level of care be taken as when installing from the AUR? Has there ever been a known case of malware making it into the nix repos?

\n

submitted by /u/DaveRubinsLeftNut

\n

[link] [comments]

\n
", + "id": 406658867, + "sender_full_name": "Zapier", + "timestamp": 1702001930 + }, + { + "content": "

Easy to use speech-to-text software using Nix

\n

Date: 2023-12-07T18:53:58+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18d2kmt/easy_to_use_speechtotext_software_using_nix/

\n
\n

Hi Nix enthusiasts!

\n

I just wanted to show you a project I’ve been working on (https://github.com/Quoteme/whisper-input ). Using this project, you are able to write text by using your voice. My main goal for this project was to be simple (as small and clean a codebase as possible), powerful (state-of-the-art speech recognition) and easy to use. I solved the last part using Nix, which I am a great fan of. Now, all you need to do to write text into any text-input using your voice is to run the following command while focusing on said text-input:

\n

nix run github:quoteme/whisper-input This command shows you a notification that you should start speaking. Once you have started speaking, just continue speaking as long as you like and then stop when you are finished. After you have stopped speaking, the text you have said will automatically be typed using your keyboard.

\n

I just wanted to share this here, because I am pretty amazed by how easy sharing my small little project has become by using nix :)

\n

submitted by /u/Lalelul

\n

[link] [comments]

\n
", + "id": 406690023, + "sender_full_name": "Zapier", + "timestamp": 1702016432 + }, + { + "content": "

Flakes Question (because I'm a noob)

\n

Date: 2023-12-07T20:44:36+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18d53s4/flakes_question_because_im_a_noob/

\n
\n

I've tried to wrap my head around flakes a few times and I just don't get them. I think I need to just start using them to get it to \"click\" in my head, but I'm not even sure how to start using them.

\n

Are there any resources, guides, or walk-throughs that can baby-step me through the process of starting writing my own flakes, using others, or just getting the concepts down?

\n

submitted by /u/Senkyou

\n

[link] [comments]

\n
", + "id": 406739678, + "sender_full_name": "Zapier", + "timestamp": 1702034783 + }, + { + "content": "

I need some tips on setting up a screen saver in NixOS and Gnome using Nix:

\n

Date: 2023-12-08T09:51:08+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18djhhr/i_need_some_tips_on_setting_up_a_screen_saver_in/

\n
\n

I'm using NixOS and Gnome and I'm trying to setup a screen saver that randomly shuffles through dynamic wallpapers. The way I need it to work is to have a timer set so if I don't press any input such as a keyboard, mouse, or game controller, after that set time limit, the screen saver will pop up and render the randomly shuffled dynamic wallpapers, which will again randomly shuffle after a set time limit, but, if I press any input it right away goes back to the screen I was working on that way I don't have to sign in over and over again.

\n

\n

https://www.omglinux.com/dynamic-wallpapers-for-gnome-desktop/

\n

These wallpapers look beautiful, but I'm not sure if these wallpapers can be setup in a screen saver in NixOS as well?

\n

\n

I'm doing this to help prevent screen burn in on my Samsung G8 QD OLED gaming monitor, I already have other burn in settings setup on this monitor, but I want to setup this screen saver just to be sure that I don't get burn in.

\n

Thanks in advance for the help.

\n

submitted by /u/zeta_00

\n

[link] [comments]

\n
", + "id": 406779579, + "sender_full_name": "Zapier", + "timestamp": 1702048614 + }, + { + "content": "

Why is the documentation... nowhere to be found?!

\n

Date: 2023-12-08T15:44:23+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18dpl62/why_is_the_documentation_nowhere_to_be_found/

\n
\n

I'm trying to switch to NixOS from Arch Linux. I encountered a bunch of issues. Not a big deal - I'm used to it. I'm sure I can find the documentation for this. Or so I thought.

\n

I'm interested in NixOS because I find the concept of having a reproducible system extremely useful. It's one of the greatest ideas I've encountered as far as operating systems go, but it's plagued by one big issue.

\n

People claim NixOS has many problems. Some dislike the language because it's functional, others want binary compatibility with other systems etc. But none of these are as real and as off-putting (in my opinion) as the lack of good documentation.

\n

The problems of having bad/nonexistent documentation are (beside the natural anger and frustration of new users):

\n

Fixing issues takes a lot longer than it should - the community is very able and willing to help, don't get me wrong, but it's a lot more time-consuming to write forum posts explaining your issue to someone else or to dig through forums for answers than to search the official documentation. It's confusing - when there is no documentation, usually there are two possibilities: the task you are trying to achieve is absolutely trivial and requires no explanation or what you want is not supported. Not on NixOS. GnuPG is a great example for this. The Arch Wiki's documentation page is great and you can find it just by googling it (seriously, try it). The same cannot be said about NixOS (but I can't get it to be fully functional by just adding the package to the config and rebuilding the system). The learning curve is, as a result, much steeper. Not only is it hard to get a system up and running, it's hard to change it and use it proficiently.

\n

So, why is the documentation terse or nonexistent? Are there any efforts to change this?

\n

EDIT: I, personally don't think the language is a problem. I don't have enough experience with it to say this and I like the fact that it's functional. I must say, though that a general purpose programming language (Haskell, for example, or Lua if you want an easy language and don't care about it being purely declarative and functional) could be better, simply because it is also useful in other contexts.

\n

submitted by /u/nicolasdumitru

\n

[link] [comments]

\n
", + "id": 406794995, + "sender_full_name": "Zapier", + "timestamp": 1702052807 + }, + { + "content": "

NixOS and mergerfs

\n

Date: 2023-12-08T21:48:49+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18dxmwi/nixos_and_mergerfs/

\n
\n

I was just looking into mergerfs and was surprised that there was no module or specific options for it on NixOS.

\n

I was wondering how people were configuring mergerfs on their systems. Via a systemd unit maybe?

\n

submitted by /u/henry_tennenbaum

\n

[link] [comments]

\n
", + "id": 406877671, + "sender_full_name": "Zapier", + "timestamp": 1702091558 + }, + { + "content": "

What is the current recommended documentation when starting out with NixOs?

\n

Date: 2023-12-08T18:23:15+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18dt2ql/what_is_the_current_recommended_documentation/

\n
\n

After using Arch for a few years, I would like to dive into NixOs. However, a lot of documentation I find seems to be outdated.

\n

What is the currently recommended documentation/guide/whatever when starting out with NixOs?

\n

submitted by /u/CerealBit

\n

[link] [comments]

\n
", + "id": 406896677, + "sender_full_name": "Zapier", + "timestamp": 1702102726 + }, + { + "content": "

flake-parts system config + hm

\n

Date: 2023-12-08T07:33:48+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18dhmb5/flakeparts_system_config_hm/

\n
\n

Is there a step-by-step tutorial on how to use flake-parts for system configuration (ideally with home-manager)? The documentation is too abstract for me.

\n

The published repos on github of people using flake-parts all look very different, and I cannot comprehend why they do things different.

\n

submitted by /u/zeec123

\n

[link] [comments]

\n
", + "id": 406907033, + "sender_full_name": "Zapier", + "timestamp": 1702109895 + }, + { + "content": "

Zapier said:

\n
\n

Why is the documentation... nowhere to be found?!

\n

Date: 2023-12-08T15:44:23+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18dpl62/why_is_the_documentation_nowhere_to_be_found/

\n
\n

I'm trying to switch to NixOS from Arch Linux. I encountered a bunch of issues. Not a big deal - I'm used to it. I'm sure I can find the documentation for this. Or so I thought.

\n

I'm interested in NixOS because I find the concept of having a reproducible system extremely useful. It's one of the greatest ideas I've encountered as far as operating systems go, but it's plagued by one big issue.

\n

People claim NixOS has many problems. Some dislike the language because it's functional, others want binary compatibility with other systems etc. But none of these are as real and as off-putting (in my opinion) as the lack of good documentation.

\n

The problems of having bad/nonexistent documentation are (beside the natural anger and frustration of new users):

\n

Fixing issues takes a lot longer than it should - the community is very able and willing to help, don't get me wrong, but it's a lot more time-consuming to write forum posts explaining your issue to someone else or to dig through forums for answers than to search the official documentation. It's confusing - when there is no documentation, usually there are two possibilities: the task you are trying to achieve is absolutely trivial and requires no explanation or what you want is not supported. Not on NixOS. GnuPG is a great example for this. The Arch Wiki's documentation page is great and you can find it just by googling it (seriously, try it). The same cannot be said about NixOS (but I can't get it to be fully functional by just adding the package to the config and rebuilding the system). The learning curve is, as a result, much steeper. Not only is it hard to get a system up and running, it's hard to change it and use it proficiently.

\n

So, why is the documentation terse or nonexistent? Are there any efforts to change this?

\n

EDIT: I, personally don't think the language is a problem. I don't have enough experience with it to say this and I like the fact that it's functional. I must say, though that a general purpose programming language (Haskell, for example, or Lua if you want an easy language and don't care about it being purely declarative and functional) could be better, simply because it is also useful in other contexts.

\n

submitted by /u/nicolasdumitru

\n

[link] [comments]
\n

\n
\n
\n

I have had similar complaints from friends who tried NixOS for the first time. Special emphasis on documentation and “why nix as a language? Why not Haskell?”

", + "id": 406975513, + "sender_full_name": "Shivaraj B H", + "timestamp": 1702158528 + }, + { + "content": "

NixThePlanet - Run macOS, Windows and more via a single Nix command + nixosModules

\n

Date: 2023-12-09T21:36:17+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18enprc/nixtheplanet_run_macos_windows_and_more_via_a/

\n
\n

submitted by /u/matthew-croughan

\n

[link] [comments]

\n
", + "id": 406986538, + "sender_full_name": "Zapier", + "timestamp": 1702167452 + }, + { + "content": "

Composable configuration bundles?

\n

Date: 2023-12-09T12:24:37+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18ecjgz/composable_configuration_bundles/

\n
\n

New to Nix. I've spent a few hours reading docs and looking at public dotfiles but haven't been able to answer my own question, I was hoping someone could point me in the right direction!

\n

I'm using the flake-in-a-dotfiles-repo approach and I know I can define several configurations, say one for work, one for development, one for music, for example. This works nicely. My desire is to have composable configuration bundles that can be mixed and matched on various machines.

\n

For example, on my home laptop, I might have music configuration (say a DAW package plus rt audio priority). I'd like to be able to add another configuration (eg rustup and emacs for Rust development) on top of it, and then remove it again when I'm done, leaving me with just the music config. If I take my work laptop on a trip, I could add the gaming config to it for the weekend. Then I need to do my day job on it again, and I can remove the gaming config to save disk space. After some work I need to publish a big PDF, so I would enable my LaTeX setup temporarily. Of course, these \"subconfigurations\" would have to be compatible, the work config couldn't set say different permissions for a directory to the music one if I wanted to enable both.

\n

In case it makes it any clearer, some imaginary syntax that would make sense for this could be like

\n

nixos-rebuild switch --flake .#music + .#latex + .#rustdev

\n

Since this doesn't exist, is there a way to do this in NixOS? Or would I have to define each desired combination of configuration bundles separately in the flake, like defining \"music+rust+gaming\" as well as \"music+rust\", \"music+gaming\" etc?

\n

Apologies if I have missed some obvious documentation somewhere.

\n

submitted by /u/NextTimeJim

\n

[link] [comments]

\n
", + "id": 406986539, + "sender_full_name": "Zapier", + "timestamp": 1702167452 + }, + { + "content": "

Flickering with NVIDIA

\n

Date: 2023-12-09T21:35:42+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18enpbf/flickering_with_nvidia/

\n
\n

Hi. I want to move over to NixOS on my laptop so I created my simple build here: https://github.com/radek-stasta/nixos

\n

Everything looks pretty good, everything works as expected, when I use only my laptop screen. But then when I connect external HDMI monitor into my NVIDIA port, Im experiencing annoying flickering on that monitor mainly cursor when writing something or when scrolling pages. I tried several settings in NixOS and Hyprland configs, but nothing worked. Can somebody please point me the right direction how to solve it? This is the only issue I have that prevents me from fully switch to Nix. Thanks a lot for any help.

\n

submitted by /u/RaadushS

\n

[link] [comments]

\n
", + "id": 406997100, + "sender_full_name": "Zapier", + "timestamp": 1702174409 + }, + { + "content": "

GNOME - Cannot login after 23.11-Upgrade

\n

Date: 2023-12-07T12:05:30+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18cu6jh/gnome_cannot_login_after_2311upgrade/

\n
\n

Yesterday I upgraded to stable channel 23.11. After that I can no longer login with any of my users. I get thrown back into the login screen.

\n

This here is the journalctl-extract from my latest try:

\n

Dez 07 12:57:06 flixos systemd[2229]: Starting GNOME Shell on Wayland... Dez 07 12:57:06 flixos systemd[2229]: GNOME Shell on X11 was skipped because of an unmet condition check (ConditionEnvironment=XDG_SESSION_TYPE=x11). Dez 07 12:57:06 flixos systemd[2229]: Started Application launched by gnome-session-binary. Dez 07 12:57:06 flixos dbus-daemon[2240]: [session uid=1000 pid=2240] Activating via systemd: service name='org.gtk.vfs.Daemon' unit='gvfs-daemon.service' requested by '> Dez 07 12:57:06 flixos systemd[2229]: Starting Virtual filesystem service... Dez 07 12:57:06 flixos dbus-daemon[2240]: [session uid=1000 pid=2240] Successfully activated service 'org.gtk.vfs.Daemon' Dez 07 12:57:06 flixos systemd[2229]: Started Virtual filesystem service. Dez 07 12:57:06 flixos .gnome-shell-wr[2372]: Running GNOME Shell (using mutter 45.1) as a Wayland display server Dez 07 12:57:06 flixos rtkit-daemon[1945]: Successfully made thread 2405 of process 2372 owned by '1000' RT at priority 20. Dez 07 12:57:06 flixos .gnome-shell-wr[2372]: Made thread 'KMS thread' realtime scheduled Dez 07 12:57:06 flixos .gnome-shell-wr[2372]: Device '/dev/dri/card0' prefers shadow buffer Dez 07 12:57:06 flixos systemd[2229]: org.gnome.Shell@wayland.service: Main process exited, code=killed, status=9/KILL Dez 07 12:57:06 flixos systemd[2229]: org.gnome.Shell@wayland.service: Failed with result 'signal'. Dez 07 12:57:06 flixos systemd[2229]: Failed to start GNOME Shell on Wayland. Dez 07 12:57:06 flixos systemd[2229]: org.gnome.Shell@wayland.service: Triggering OnFailure= dependencies. Dez 07 12:57:06 flixos systemd[2229]: Stopped target GNOME Wayland Session. Dez 07 12:57:06 flixos systemd[2229]: Stopping Virtual filesystem service... Dez 07 12:57:06 flixos systemd[2229]: Stopped target GNOME Session Manager is ready. Dez 07 12:57:06 flixos systemd[2229]: Stopped target GNOME Shell. Dez 07 12:57:06 flixos systemd[2229]: Stopping GNOME Session Manager (session: gnome)... It basically says nothing. Does someone have an idea? I reloaded my 23.05-system and it works. Currently I switched over to X11 for writing this post and debugging.

\n

coredumpctl seems to not show anything regarding this problem. I have entries but they happened almost 2h ago.

\n

Thank's in advance.

\n

submitted by /u/OriginalJohann

\n

[link] [comments]

\n
", + "id": 407083342, + "sender_full_name": "Zapier", + "timestamp": 1702224923 + }, + { + "content": "

(Noob question) Which version of nixpkgs does a command like \"nix run nixpkgs#hello\" refer to?

\n

Date: 2023-12-04T13:30:02+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18ak81y/noob_question_which_version_of_nixpkgs_does_a/

\n
\n

For a long time, I assumed that when I ran \"nix run nixpkgs#...\", I was referring to the Nix channel named \"nixpkgs\" on my system. However, now that I've completely converted my NixOS configs to a flake, I've deleted my Nix channels, and this command still works.

\n

This makes me wonder, which version of nixpkgs does this resolve to? Does it just fetch the most recent version from GitHub?

\n

submitted by /u/codemonkey1991

\n

[link] [comments]

\n
", + "id": 407087476, + "sender_full_name": "Zapier", + "timestamp": 1702228543 + }, + { + "content": "

Ultimate NixOS Guide | Flakes | Home-manager

\n

Date: 2023-12-10T19:47:48+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18fbmv9/ultimate_nixos_guide_flakes_homemanager/

\n
\n

submitted by /u/Goxore

\n

[link] [comments]

\n
", + "id": 407127083, + "sender_full_name": "Zapier", + "timestamp": 1702257306 + }, + { + "content": "

Nix flakes + IDE integration?

\n

Date: 2023-12-05T14:47:00+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18bdjse/nix_flakes_ide_integration/

\n
\n

Hey!

\n

I'm curious how nix flakes work together with developer specific tools. I want to use nix to set up common tooling (linting, build, lsp) amongst my team members. However, I would also like people to remain autonomous in their choice of editor and ideally they shouldn't need to touch the nix flake for their IDE setup.

\n

Is this something Nix supports? I.E. can I access the lsp server run by nix with my vim editor, and someone else can access it using vscode without touching the nix flake?

\n

submitted by /u/XzwordfeudzX

\n

[link] [comments]

\n
", + "id": 407249555, + "sender_full_name": "Zapier", + "timestamp": 1702304286 + }, + { + "content": "

Install NixOS with Flake configuration on Git

\n

Date: 2023-12-11T15:27:23+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18fx2bn/install_nixos_with_flake_configuration_on_git/

\n
\n

submitted by /u/shivaraj-bh

\n

[link] [comments]

\n
", + "id": 407304442, + "sender_full_name": "Zapier", + "timestamp": 1702322216 + }, + { + "content": "

nixCats-nvim: v3.0.0 nixOS and homeCats

\n

Date: 2023-12-11T15:47:57+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18fxiwm/nixcatsnvim_v300_nixos_and_homecats/

\n
\n

How do you configure neovim from nix? People talk about project specific packages, do they

\n

really make entirely new flakes for every project, or all use nixVim? Well, yeah, they did. But not anymore!! Now you can use your own lua, and still have all that.

\n

https://github.com/BirdeeHub/nixCats-nvim

\n

now additionally outputs actual home manager and nixos modules generated from your lua and categories rather than just options for other flakes.

\n

now exports templates to make the entire process as easy as possible.

\n

Its approaching a \"build-your-own nixVim without leaving lua\" utility.

\n

nix flake init -t github:BirdeeHub/nixCats-nvim right in your lua directory,

\n

nix shell github:BirdeeHub/nixCats-nvim to access the editor, view the help, and set up your flake!

\n

download plugins and put them in categories, require('nixCats') and check if the category is enabled, create settings profiles, enable categories and settings per package. Choose a default package. Everything else is done for you.

\n

It has EXTENSIVE in editor help and 3 extra example templates. Please use the info I have provided it will make your life easier.

\n

submitted by /u/no_brains101

\n

[link] [comments]

\n
", + "id": 407369685, + "sender_full_name": "Zapier", + "timestamp": 1702351182 + }, + { + "content": "

I'm not sold on home-manager

\n

Date: 2023-12-11T20:53:58+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18g3x2x/im_not_sold_on_homemanager/

\n
\n

I just finished rewriting most of my dotfiles into home-manager and I don't see why I should use it over plain and simple dotfiles.

\n

I manage my dotfiles in a git repository (without any other tooling) and I believe it's far superior than using home-manager. Which benefits does home-manager come with? I still ended up copying 70% of my dotfiles into .extraConfig or .settings because the home-manager doesn't expose the options I actually need. On top of that, sometimes I need to provide multi-line strings (which match the original dotfiles), sometimes it's a map, sometimes it's json etc. so I can't even copy and paste my vanilla dotfiles into home-manager, but have to adapt them just to let home-manager generate me the original dotfile after running it...

\n

Instead, I can use the fetchGit function, which pulls my dotfile directory and places it into .config/ while keeping everything vanilla and easy to maintain.

\n

What are you using home-manager for? I'm curious about the reasons why somebody would introduce a complete layer of complexity for such tasks and which benefit home-manager brings.

\n

\n

submitted by /u/CerealBit

\n

[link] [comments]

\n
", + "id": 407379055, + "sender_full_name": "Zapier", + "timestamp": 1702354753 + }, + { + "content": "

Reflecting on why I use flakes

\n

Date: 2023-12-12T00:42:35+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18g96i6/reflecting_on_why_i_use_flakes/

\n
\n

I've been using NixOS for 1.5 years now, and several recent posts here about \"Why flakes?\" got me thinking.

\n

What flakes bring to the table is reproducibility. But, while that makes a lot of sense for dev shells, on my main system (with some rare exceptions) I just want the latest versions. Channels are perfect for that.

\n

So, I realized that the actual reason I use flakes is how the guides are written.

\n

The flakes guides generally suggest having a single git repo that contains all your configurations in one place - usually a remote copy online, and a local one in your home folder.

\n

By contrast, channel guides generally toll you to place your configuration in /etc/nixos . This means - to a new user - separate configs for each machine, separate config for NixOS and home-manager (if you're using it standalone), multiple git repos, no code reuability, having to use root to edit the files, etc.

\n

Now, with more experience, I know that I can have a single repo for all my configs even with channels, place it in my home folder with user permissions, and achieve the same convenience and code reusability as with flakes. I just need to set an environment variable to point to the right file.

\n

So, that leaves me with only two minor advantages of flakes - some third party repos are distributed as flakes only, and they automatically manage hashes for inputs. But overall - it came down not to capabilities, but to the way they're typically used in in the tutorials. And perhaps some bias towards the bleeding edge (unstable ftw).

\n

submitted by /u/lily_34

\n

[link] [comments]

\n
", + "id": 407429755, + "sender_full_name": "Zapier", + "timestamp": 1702372682 + }, + { + "content": "

Creating an iso of a flake+home-manager configuration

\n

Date: 2023-12-12T11:58:54+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18gkafh/creating_an_iso_of_a_flakehomemanager/

\n
\n

Hi, fairly new to Nix and NixOS but I’ve made myself a pretty decent flake and home-manager based configuration for both desktop and server use.

\n

I understand it’s possible to output the configuration from the flake to an iso, but is it also possible to do that with home manager as a module of the flake config?

\n

I want to be able to spin up quick virtual machine environments for whatever I need them for, without having to go through the clone and rebuild process every time.

\n

Thanks!

\n

submitted by /u/jortsboy

\n

[link] [comments]

\n
", + "id": 407703809, + "sender_full_name": "Zapier", + "timestamp": 1702466401 + }, + { + "content": "

Accessing NixOS through RealVNC.

\n

Date: 2023-12-12T13:54:07+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18gmdno/accessing_nixos_through_realvnc/

\n
\n

Hello. I am a newbie to NixOS and would like to access my raspberry pi (which is NixOS installed in it) remotely by using RealVNC or any other RDP solution. So far i tried installing TightVNC but somehow i couldnt connect it. Are there any tutorials around so i can follow?

\n

Thanks

\n

submitted by /u/orucreiss

\n

[link] [comments]

\n
", + "id": 407803395, + "sender_full_name": "Zapier", + "timestamp": 1702498849 + }, + { + "content": "

Thinking of switching into NixOS

\n

Date: 2023-12-13T20:36:55+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18hqier/thinking_of_switching_into_nixos/

\n
\n

I am using endeavourOS, I have a laptop with amd igpu and nvidia gpu. I use it with external monitor. I want to switch to NixOS, I do a bit of development and do some gaming like sekiro, witcher 3, cs2. I really like the concept of NixOS. Is it wise to switch to Nix or should I stick to my current distro?

\n

submitted by /u/arman39

\n

[link] [comments]

\n
", + "id": 407858385, + "sender_full_name": "Zapier", + "timestamp": 1702523454 + }, + { + "content": "

So I have installed NixOS and setup everything I needed

\n

Date: 2023-12-14T11:58:52+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18i73d8/so_i_have_installed_nixos_and_setup_everything_i/

\n
\n

Yesterday I made a post that should I move to nixos on my main machine or not. Many people suggested me to do and some suggested me to first use it on VM. I directly installed on my main machine. And tbh, I am very happy, Nvidia prime and all the stuff works flawlessly. Nix package manger is very good and huge. Already loving it. And that config file for software and hardware. It's like finally I own my own PC. I have used, arch based distro, debian based distro and rpm, zypper. All of them felt kinda same. But this thing is something different and cool and good. And lastly I think the system cannot break at all. The generation thing makes it solid.

\n

submitted by /u/arman39

\n

[link] [comments]

\n
", + "id": 407995892, + "sender_full_name": "Zapier", + "timestamp": 1702570797 + }, + { + "content": "

Digging on Nix OS! still trying to wrap my head around it, but I really like it.

\n

Date: 2023-12-14T23:19:30+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18ilppy/digging_on_nix_os_still_trying_to_wrap_my_head/

\n
\n

submitted by /u/Arch-penguin

\n

[link] [comments]

\n
", + "id": 408120373, + "sender_full_name": "Zapier", + "timestamp": 1702621375 + }, + { + "content": "

There was a YouTuber that claimed there is big money to be has as a NixOS engineer, on the order of 200K or higher. But I am not seeing the job postings anywhere. So is it BS?

\n

Date: 2023-12-15T01:13:29+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18io2sm/there_was_a_youtuber_that_claimed_there_is_big/

\n
\n

What I have seen are reqs that might use NixOS as a small part of their infrastructure, but also demanding many other skills, like Haskell. And apparently NixOS is not well known in the US....

\n

I guess there is BS to go all around.

\n

And please excuse the typo in the title.

\n

submitted by /u/el_toro_2022

\n

[link] [comments]

\n
", + "id": 408130003, + "sender_full_name": "Zapier", + "timestamp": 1702625115 + }, + { + "content": "

korora: A tiny & fast type system for Nix in Nix

\n

Date: 2023-12-15T02:33:39+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18ipmpe/korora_a_tiny_fast_type_system_for_nix_in_nix/

\n
\n

submitted by /u/adisbladis

\n

[link] [comments]

\n
", + "id": 408234346, + "sender_full_name": "Zapier", + "timestamp": 1702664018 + }, + { + "content": "

I want to adopt NixOS

\n

Date: 2023-12-15T17:36:07+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18j5irh/i_want_to_adopt_nixos/

\n
\n

I am application (domain) developer and i have computer engineering graduate level base.

\n

While developing the domain-level application, i noticed that i miss many operating system level stuff like Linux.

\n

I also have big tendency toward functional programming paradigm.

\n

As for my question, i want to buy a second-hand cheap computer and i want to build my world there. What should be minimum requirements for the computer to install NixOS?

\n

submitted by /u/_commitment

\n

[link] [comments]

\n
", + "id": 408364999, + "sender_full_name": "Zapier", + "timestamp": 1702750210 + }, + { + "content": "

How can I install a specific version of a package?

\n

Date: 2023-12-17T11:02:16+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18kf0xe/how_can_i_install_a_specific_version_of_a_package/

\n
\n

I would like to install this package . The package references v0.3.1, but I would like to pull from master instead, as it includes some new features which I would like to use.

\n

How can I achieve that? Can I somehow upgrade the package myself, in order to make master available to other people (looks like the package author won't release a new version soon, given the history )? What is the usual approach (create a new package instead, which always pulls from master)?

\n

submitted by /u/CerealBit

\n

[link] [comments]

\n
", + "id": 408507096, + "sender_full_name": "Zapier", + "timestamp": 1702865932 + }, + { + "content": "

nix-serve behavior questions

\n

Date: 2023-12-12T11:04:56+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18gjghs/nixserve_behavior_questions/

\n
\n

So, yesterday I decided to try and run a binary cache on my local network to understand better how it works.

\n

Per my understanding, nix-serve will only serve files already on the nix store of the machine that's running it, is that correct?

\n

Is it possible to make it so that, if any machine requests it, it tries to get it from another cache?

\n

Or, for things like nixos-rebuild to publish the newly installed packages there automatically?

\n

Thank you!

\n

PS: I'm fairly new to nix

\n

submitted by /u/caarlos0

\n

[link] [comments]

\n
", + "id": 408717540, + "sender_full_name": "Zapier", + "timestamp": 1702948233 + }, + { + "content": "

Generating an ISO with my entire system configuration inside it

\n

Date: 2023-12-18T20:39:58+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18lixd3/generating_an_iso_with_my_entire_system/

\n
\n

I am creating a NixOS install ISO using nixos-generators . My goal is to have as much configuration as possible inside the ISO at install time, so that I don't have to clone anything manually within the live environment. I want to be able to do the bare minimum of machine-specific stuff (setting up disk partitions, etc.), put a pre-built config in place at /etc/nixos/configuration.nix, and then install NixOS onto the boot drive per usual. After the first reboot, my complete system configuration and home-manager setup should be in place.

\n

Making the configuration machine-agnostic I can handle on my own. There are plenty of examples out there to follow. But how do I get it into the ISO in the first place?

\n

Basically, I'm looking for the equivalent of Docker's COPY . I don't care where in the ISO filesystem it gets copied to, as long as it's in a consistent (i.e. scriptable) location.

\n

Here is my setup:
\n

\n
\n

flake.nix { description = \"Builds a NixOS installer ISO with some useful stuff in it.\";

\n

inputs = { nixpkgs.url = \"github:nixos/nixpkgs/nixos-unstable\"; nixos-generators = { url = \"github:nix-community/nixos-generators\"; }; };

\n

outputs = { self, nixpkgs, nixos-generators, ... }: let system = \"x86_64-linux\"; in { packages.${system}.default = nixos-generators.nixosGenerate { system = system; format = \"install-iso\"; modules = [ ./iso.nix ]; }; }; }

\n

iso.nix {config, pkgs, ...}:

\n

{ system.stateVersion = \"23.11\";

\n

environment.systemPackages = with pkgs; [ cowsay neovim git ]; } ```

\n

Building an ISO is then just a simple nix build , and I can boot into it and have git etc. there, as you'd expect. I just can't figure out how to copy my system config and home-manager stuff into the ISO.

\n

I considered adding a line like

\n

(writeShellScriptBin \"configure\" (builtins.readFile ./configure.sh))

\n

to the systemPackages in iso.nix, where the contents of configure.sh would just echo (entire system config) > /etc/nixos/configuration.nix , but this seems roundabout and kinda hacky.

\n

FWIW, I intend this entire workflow to be built into my dotfiles repo, which itself will be one big flake. So the (machine-agnostic) configuration.nix itself will be inside the same flake/repo.

\n

submitted by /u/acobster

\n

[link] [comments]

\n
\n
", + "id": 408743255, + "sender_full_name": "Zapier", + "timestamp": 1702956202 + }, + { + "content": "

Looking for starter config similar to \"Sway Setup for EndeavourOS\" or \"kickstart.nvim\"

\n

Date: 2023-12-18T05:02:21+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18l0rsx/looking_for_starter_config_similar_to_sway_setup/

\n
\n

TL;DR: Any similar nixos config to Sway Setup for EndeavourOS or kickstart.nvim to help new users getting started? I want a decent nixos config for sway with sensible defaults (flakes?).

\n

Hello! Hope you're doing well. Thank you for looking this issue of mine.

\n

Before fully switching to archlinux, I started off with EndeavourOS with Sway Setup for EndeavourOS . It provides a very good starting config for sway: sensible directory structure and defaults. Similarly, if someone wants to get started with nvim config, kickstart.nvim is a very nice jumping point.

\n

I'm looking for something similar like the two above to get started with nixos.

\n

Any input is much appreciated. Thank you.

\n

submitted by /u/StarshipN0va

\n

[link] [comments]

\n
", + "id": 408921129, + "sender_full_name": "Zapier", + "timestamp": 1702987877 + }, + { + "content": "

Cleanest way to run git commands on fresh nixos machine?

\n

Date: 2023-12-16T19:16:20+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18jyd0r/cleanest_way_to_run_git_commands_on_fresh_nixos/

\n
\n

so imagine the scenario, we have a fresh install of nixos on a machine and want to pull an existing flake from github. This means that you need git installed.What is the most non intrusive/cleanest way of running git commands without using nix shell or installing via nix-env -i. i have read that you can run an apps commands in nix via a github link, including in this link .Can anyone share an example of how they use git on a brand new nixos machine that doesn't involve installation or shells?

\n

Edit: I am still struggling as the nix run github: approach needs to have flakes installed, which needs git to pull. so there is chicken and egg problem here. i guess maybe the cleanest way is to use nix flake init and then some git pull using nix run?

\n

Update: this has also been raised previously here . i like the way the author articulates it as 'treating flakes as a first class citizen'. his post seems to have been upvoted a few times too. ultimately it's about giving the users what they want, i understand including it will increase the minimal ISO by about 4% (40MB on ~850MB) but i think given the prominence of flakes now it would be justified.

\n

Current Solution It's a bit messy but here is what is currently needed to setup a flake on fresh machine without having to rebuild the system with git or use a temporary shell. Don't forget to update hardware-configuration.nix if overwritten by nix flake clone.

\n

export NIX_CONFIG=\"experimental-features = nix-command flakes\" nix shell nixpkgs#git --command nix flake clone github:username/repo --dest ~/.n nix shell nixpkgs#git --command sudo nixos-rebuild switch --flake ~/.n#systemname As mentioned above, would be great if git was pre-installed on the minimal ISO to avoid the prefix of nix shell nixpkgs#git --command. Hopefully this is something that can be considered in future releases.

\n

submitted by /u/mars0008

\n

[link] [comments]

\n
", + "id": 408943692, + "sender_full_name": "Zapier", + "timestamp": 1702995633 + }, + { + "content": "

Too stupid to figure out how to use nixos-hardware with flakes

\n

Date: 2023-12-19T16:40:27+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18m67ew/too_stupid_to_figure_out_how_to_use_nixoshardware/

\n
\n

flake.nix :

\n

{ description = \"NixOS Flake\"; inputs = { nixpkgs.url = \"github:NixOS/nixpkgs/nixos-23.11\"; nixos-hardware.url = \"github:NixOS/nixos-hardware/master\"; home-manager = { url = \"github:nix-community/home-manager/release-23.11\"; inputs.nixpkgs.follows = \"nixpkgs\"; }; }; outputs = { self, nixpkgs, nixos-hardware, ... }@inputs: { nixosConfigurations = { \"zephyrus\" = nixpkgs.lib.nixosSystem { system = \"x86_64-linux\"; specialArgs = inputs; modules = [ ./configuration.nix ]; }; }; }; } configuration.nix (partial)

\n

{ config, pkgs, inputs, ... }: { nix = { package = pkgs.nixUnstable; extraOptions = '' experimental-features = nix-command flakes ''; }; imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix # Additional hardware specific configuration # inputs.nixos-hardware.nixosModules.common.cpu.amd.pstate inputs.nixos-hardware.nixosModules.common.gpu.amd inputs.nixos-hardware.nixosModules.common.pc.ssd inputs.nixos-hardware.nixosModules.asus.battery ]; # ...https://github.com/NixOS/nixos-hardware And for all this I get

\n

error: … while calling the 'seq' builtin at /nix/store/gkrvrwg6k60ykz4asv35bdj1wz70ik2l-source/lib/modules.nix:320:18: 319| options = checked options; 320| config = checked (removeAttrs config [ \"_module\" ]); | ^ 321| _module = checked (config._module); … while evaluating a branch condition at /nix/store/gkrvrwg6k60ykz4asv35bdj1wz70ik2l-source/lib/modules.nix:261:9: 260| checkUnmatched = 261| if config._module.check && config._module.freeformType == null && merged.unmatchedDefns != [] then | ^ 262| let (stack trace truncated; use '--show-trace' to show the full trace) error: infinite recursion encountered at /nix/store/gkrvrwg6k60ykz4asv35bdj1wz70ik2l-source/lib/modules.nix:506:28: 505| builtins.addErrorContext (context name) 506| (args.${name} or config._module.args.${name}) | ^ 507| ) (lib.functionArgs f); make: *** [Makefile:8: install] Error 1 Is it really that hard to import a module, or I am just stupid?

\n

submitted by /u/arvigeus

\n

[link] [comments]

\n
", + "id": 409009569, + "sender_full_name": "Zapier", + "timestamp": 1703016815 + }, + { + "content": "

Brother printer drivers

\n

Date: 2023-12-19T10:02:39+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18lyfrk/brother_printer_drivers/

\n
\n

Part of my workflow is sending faxes (I'm not kidding) and I usually do it straight from my computer through my Brother printer, MFC-L2710DW to be exact, which is connected to a phone line.

\n

Brother provides fax drivers for Linux in deb and rpm formats only. Here's my model: https://support.brother.com/g/b/faqend.aspx?prod=mfcl2710dw_us_eu_as&c=eu_ot&lang=en&faqid=faq00100716_000

\n

I also have a pkg.tar.zst file, for installation on Arch-based distros, that someone graciously compiled for me.

\n

What can I do for NixOS?

\n

submitted by /u/shmuu26

\n

[link] [comments]

\n
", + "id": 409261060, + "sender_full_name": "Zapier", + "timestamp": 1703106709 + }, + { + "content": "

What is the actual state of NixOS nowadays?

\n

Date: 2023-12-21T06:09:01+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18ng3i9/what_is_the_actual_state_of_nixos_nowadays/

\n
\n

Dear NixOS community, I hope this pretty generic post won't bother the sub. I used NixOS around 4 years ago and it was a great, but steep hill to climb. I am only a hobbyist so my knowledge, while not being close to none, is mostly disparate, scattered, and uncertain. I came accross NixOS after a very enriching distro hopping period, been through some install that are considered \"hard\", and failed in love with NixOS. Please, let me try to summarize my history with NixOS before asking my question. Sorry for the long post.

\n

I just did not just perform a basic installation, I did it, then used ZFS, then LVM, even went with an Erasable Darlings Installation after reading Graham Christensen blog posts (I learned so much doing this), had once an install that would only go through booting with an encrypted usb plugged in, etc., etc. I learned some basis about grub, and the whole architecture of an OS. Very basis, but stil, I wasn't just a user, every use was a new learning.

\n

I was there when Flakes were still unstable, and read the Eelco Dostra's blog posts about them ont he Tweag website. When Flakes arrived, I had already spent too much time on it, and as it was so new, my too low level of knowledge kept me from being able to follow the crowd that was at the time in an understandable wave of technical writing and details, which I could not follow.

\n

For some reason, I had to switch to a Macbook, and tried to use Nix on it, but I was at saturation, on a time basis and \"poorly\" accumulated knowledge. I gave up there, and since, using a computer has never been the same. Like a Lion in a cage I got bored, and uninterested in my OS, at the point that I never opened the Terminal on the Macbook. I say poorly , as I would consider myself just a step above what I could call an OS Script Kiddy . Sometimes I go in depth some notion, and on some subject I just follow blogs and tutorial and make my way through trial and error. I'm just a digital postmodern hunter-gatherer.

\n

I still have my Macbook, but someone recently gave me an old PC, and the passion suddenly came back, I went through my old spare parts box, upgraded drives and RAM, kicked Windows, and out of convenience installed Ubuntu. Immediatly NixOS came back to my mind, and here we are.

\n

How has moved NixOS in 4 years? Is it growing and delivering its promises? Is security on par?

\n

The community was great and helpful as we were discovering together, how are people helpful now? Is the forum still active and enthousiastic?

\n

How is the documentation now? It wasn' as bad as some people were raging about, but it was dense and dry.

\n

What is the state of immutability in the Linux world nowadays, how Guix evolved? Fedora Silverblue? Debian was painfully working on it, how did they go? Any newcomer?

\n

I know I could just read some blog posts, check the docs and launch it on a VM, but I wanted to hear from you guys, as I followed, read and learned from yous so much 4 years ago that I can't wait to have your words on it.

\n

Thanks again.

\n

submitted by /u/oyoumademedoit

\n

[link] [comments]

\n
", + "id": 409334576, + "sender_full_name": "Zapier", + "timestamp": 1703146551 + }, + { + "content": "

What do you do about docker compose?

\n

Date: 2023-12-20T23:24:03+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18n8cq7/what_do_you_do_about_docker_compose/

\n
\n

My use case: I use a docker-compose file to manage a group of containers. One of those images is Portainer, which makes it easy to inspect individual containers' memory, CPU, and logs.

\n

\n

The NixOS way would be to containerize each app in a VM. However, I'd lose the ability to introspect the stack. And I suspect running 14 VMs in NixOS would use more resources than docker-compose.

\n

\n

Do you still use a docker-compose.yml to manage a stack of related (and networked) containers?

\n

submitted by /u/xristiano

\n

[link] [comments]

\n
", + "id": 409376398, + "sender_full_name": "Zapier", + "timestamp": 1703161215 + }, + { + "content": "

How does nix handle package dependencies?

\n

Date: 2023-12-20T20:06:15+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18n3uk0/how_does_nix_handle_package_dependencies/

\n
\n

Apologize for the probably silly question, but I am trying to figure out how does the nix package manager work and I would like some help.

\n

I am installing things via substitutes. It seems to me that whenever nix installs packages in the store, it downloads all the dependencies (if I am not mistaken, inputs in nix-language), not just the run-time dependencies but also the build-time dependencies. I would like to know if my understanding is correct and if that were the case, I would like to know why does it do so?

\n

Thanks in advance for any answer.

\n

submitted by /u/theIneffM

\n

[link] [comments]

\n
", + "id": 409504326, + "sender_full_name": "Zapier", + "timestamp": 1703211315 + }, + { + "content": "

NixOS vs Debian with Nix

\n

Date: 2023-12-19T16:46:00+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18m6c7i/nixos_vs_debian_with_nix/

\n
\n

I'm currently using NixOS, but I sometimes run into obscure programs unavailable on Nix (without compiling them myself). I think I'm probably fine giving up a completely declarative installation for a mostly declarative one with a more complete ecosystem.

\n

However, I would still like to manage services like my IME, proxies, etc. through Nix. Would this work as well on Debian as it does on NixOS?

\n

submitted by /u/IJustWantComment

\n

[link] [comments]

\n
", + "id": 409512310, + "sender_full_name": "Zapier", + "timestamp": 1703214732 + }, + { + "content": "

Is unlock 1Password with gnome-keyring possible?

\n

Date: 2023-12-21T18:36:18+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18ntuof/is_unlock_1password_with_gnomekeyring_possible/

\n
\n

I'm trying to have my 1Password on NixOS (unstable, if that matters ) behave in the same way it does on my Mac, where I have Touch ID set up to unlock it once it locks or goes idle, and I can't remember the last time I had to enter my password, through restarts and what-have-you.

\n

On Linux, however, I have to always re-enter my master password after a restart. I have the polkit-gnome-authentication-agent setup, and it does work for unlocking via fingerprint, after I enter my master password the first time, but I am wondering if it is possible to default to fingerprint unlock, even after a restart, if I have gnome-keyring somehow authenticate me on logging in, and letting 1Password know, so it knows it's safe to just use biometrics to open.

\n

Is this possible? I'm not really sure which pieces of my config are relevant for this facet, but here are some of the things I am doing:

\n
...\n\nuser.services = { polkit-gnome-authentication-agent-1 = { description = \"polkit-gnome-authentication-agent-1\"; wantedBy = [\"graphical-session.target\"]; wants = [\"graphical-session.target\"]; after = [\"graphical-session.target\"]; serviceConfig = { Type = \"simple\"; ExecStart = \"${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1\"; Restart = \"on-failure\"; RestartSec = 1; TimeoutStopSec = 1; }; }; };\n\n...\n\nsecurity = { pam.services = { login.enableGnomeKeyring = true; }; };\n\n...\n\nservices = { gnome.gnome-keyring.enable = true; };\n
\n

I also have the libsecret package installed, though I'm not really too sure if and what that does in regards to this, nor am I overly versed in gnome-keyring in general, being new to that, and NixOS in general.

\n

Is there something else I need to do? Am I not doing enough? Any guidance is much appreciated...!

\n

submitted by /u/lushmoney

\n

[link] [comments]

\n
", + "id": 409529303, + "sender_full_name": "Zapier", + "timestamp": 1703225999 + }, + { + "content": "

Should LSP servers be in the project flake environment or as an extra dependency for Neovim?

\n

Date: 2023-12-22T08:51:01+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18oai2a/should_lsp_servers_be_in_the_project_flake/

\n
\n

When developing projects, should the LSP server e.g. pyright, be added to the packages in a devShell or should it be in the extraPackages for Neovim?

\n

submitted by /u/CatRyBou

\n

[link] [comments]

\n
", + "id": 409643245, + "sender_full_name": "Zapier", + "timestamp": 1703279848 + }, + { + "content": "

Building Docker images with Nix

\n

Date: 2023-12-22T19:37:14+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18on1le/building_docker_images_with_nix/

\n
\n

I'm doing my first steps onto building Docker images using Nix. I could already successfully build a Python Docker image that runs a FastAPI server. I would like that this service interects to a PostgreSQL Docker service, but I can't find a way to build this image properly. There is always a problem. Postgres complains it can't be ran using the root user, so I setup a user through throughAsRoot option from builDockerImage . After that it complains the folder /var/lib/pgsql/data doesn't exist, so I setup the folder myself. And so on... I'm trying to follow what the official Postgres Docker Image from DockerHub does, doing it so, it seems like I'm not relying on unchangeable package versions and that won't be reproducible...

\n

Does anybody has done something similar already? Is there a template for that? Any help is welcome, since the documentation is still pretty basic.

\n

submitted by /u/rodolfoksveiga

\n

[link] [comments]

\n
", + "id": 409717117, + "sender_full_name": "Zapier", + "timestamp": 1703337749 + }, + { + "content": "

Identify heavy apps vs light apps in nixos-rebuild process?

\n

Date: 2023-12-18T18:45:55+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18lg52e/identify_heavy_apps_vs_light_apps_in_nixosrebuild/

\n
\n

Is there anyway to find out download and build speeds for different packages on average?

\n

Obviously it will depend on bandwidth and processing power respectively, but i am looking for a relative view. For example:

\n

it will take ~50x longer to download 'vs-studio' vs 'neofetch' it will take ~10x longer to build 'vs-studio' vs 'neofetch'. is there any aggregator or site that visualises this type of information?

\n

submitted by /u/mars0008

\n

[link] [comments]

\n
", + "id": 409803647, + "sender_full_name": "Zapier", + "timestamp": 1703412855 + }, + { + "content": "

clonehero is segfaulting on NixOS 23.11

\n

Date: 2023-12-17T14:50:13+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18kiwut/clonehero_is_segfaulting_on_nixos_2311/

\n
\n

I am trying to play Clone Hero (package clonehero) on NixOS, but trying to launch it gives segfault.

\n

Anyone else is able to play it?

\n

submitted by /u/AkaIgor

\n

[link] [comments]

\n
", + "id": 409803649, + "sender_full_name": "Zapier", + "timestamp": 1703412856 + }, + { + "content": "

suspend then hibernate configuration

\n

Date: 2023-12-17T14:57:02+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18kj1ya/suspend_then_hibernate_configuration/

\n
\n

Could someone share their configuration that enables suspend then hibernate after a set period of time of laptop.

\n

Tried the following but did not work for me:

\n

boot.kernelParams = [ \"mem_sleep_default=deep\" ]; systemd.sleep.extraConfig = '' HibernateDelaySec=30m SuspendState=mem ''; ​

\n

submitted by /u/Leader-Environmental

\n

[link] [comments]

\n
", + "id": 409803651, + "sender_full_name": "Zapier", + "timestamp": 1703412857 + }, + { + "content": "

What do y'all think, about my Christmas Tree ?

\n

Date: 2023-12-24T13:37:20+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18pvdv8/what_do_yall_think_about_my_christmas_tree/

\n
\n

submitted by /u/SzymBoss

\n

[link] [comments]

\n
", + "id": 409826475, + "sender_full_name": "Zapier", + "timestamp": 1703434892 + }, + { + "content": "

NixOS for a flashable custom linux environment

\n

Date: 2023-12-23T16:35:17+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18p9e1r/nixos_for_a_flashable_custom_linux_environment/

\n
\n

Hey NixOS people,

\n

I would like to start using NixOS to build customized linux images that can be flashed on a batch of systems for events. Are there any good guides out there for this? I don't seem to find any that discuss how this can be accomplished (e.g. how a git repo can be structured, how to test this, ...)

\n

Some background: We currently have a way of doing this by having a bunch of ansible playbooks that modify an Ubuntu image in qemu. That image is then flashed to the systems and it all works. This is obviously not ideal so I would love to replace this with a NixOS system. I would make a git repo where the config lives and then build an iso that can be flashed to systems.

\n

I hope someone help me get started :)

\n

submitted by /u/maartenweyns

\n

[link] [comments]

\n
", + "id": 410005026, + "sender_full_name": "Zapier", + "timestamp": 1703585623 + }, + { + "content": "

How is state handled in nix?

\n

Date: 2023-12-25T21:45:40+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18qrvm4/how_is_state_handled_in_nix/

\n
\n

Hi nix gurus. I am the original author of Satty [0], a screenshot annotation tool targeted at Wayland compositors. Think of it as some basic drawing tools (lines, arrows, text..) with some basic settings (colour, size). It's deliberately simple.

\n

The community is discussing an option, where the last state of program would be remembered for when it runs next [1]. My first idea was to make Satty edit it's own configuration file to reflect the \"last state\", but then got second thoughts: what happens to nix users where the system is meant to be immutable?

\n

So that's the question to you: how can we handle this in a correct way? Is it okay to edit the config file? should we save it elsewhere? is it at all possible in NixOS?

\n

[0] https://github.com/gabm/satty [1] https://github.com/gabm/Satty/issues/34

\n

submitted by /u/gabm-sn

\n

[link] [comments]

\n
", + "id": 410011519, + "sender_full_name": "Zapier", + "timestamp": 1703589139 + }, + { + "content": "

NixOS on Arm - easy peasy or a time sink?

\n

Date: 2023-12-26T04:18:43+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/18qzhv7/nixos_on_arm_easy_peasy_or_a_time_sink/

\n
\n

I have been running NixOS for about 18 months now, feel quite familiar with the basics and like it a lot. I have it running on some different Intel PCs at home. Sometimes I have thought that smaller Arm single board computers would be good hardware for things I want to use if for. But it seems such a time sink to get it running. Experimental, not well documented etc. I don't want to fiddle a lot, I want the advantages of the hardware platform but not for the price of messing about for hours and hours.

\n

How is the experience, is there an Arm SBC that works especially well with NixOS so that I can get existing configurations to work with small-ish effort? (EspecialIy I have been eyeing the Orange PI line)

\n

submitted by /u/Kasta4711bort

\n

[link] [comments]

\n
", + "id": 410048651, + "sender_full_name": "Zapier", + "timestamp": 1703610812 + }, + { + "content": "

https://old.reddit.com/r/NixOS/comments/18oai2a/should_lsp_servers_be_in_the_project_flake/

", + "id": 410332123, + "sender_full_name": "IFTTT", + "timestamp": 1703790789 + }, + { + "content": "

Watching DVDs on NixOS

\n

URL: https://old.reddit.com/r/NixOS/comments/18suruv/watching_dvds_on_nixos/

\n

<!-- SC_OFF --><div class=\"md\"><p>Anyone here happen to know the magic to getting NixOS to not error out on copy protected dvd's? I installed libdvdcss, but still get this in my logs when I insert a disk:</p> <pre><code>Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 Sense Key : Illegal Request [current] Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 Add. Sense: Read of scrambled sector without authentication Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 CDB: Read(10) 28 00 00 37 2b 80 00 00 3c 00 00 00 Dec 27 20:54:18 nixnuc kernel: I/O error, dev sr0, sector 14462464 op 0x0:(READ) flags 0x84700 phys_seg 3 prio class 2 Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 Sense Key : Illegal Request [current] Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 Add. Sense: Read of scrambled sector without authentication Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 CDB: Read(10) 28 00 00 37 2b bc 00 00 04 00 00 00 Dec 27 20:54:18 nixnuc kernel: I/O error, dev sr0, sector 14462704 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2 Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 Sense Key : Illegal Request [current] Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 Add. Sense: Read of scrambled sector without authentication Dec 27 20:54:18 nixnuc kernel: sr 1:0:0:0: [sr0] tag#0 CDB: Read(10) 28 00 00 37 2b 80 00 00 02 00 00 00 Dec 27 20:54:18 nixnuc kernel: I/O error, dev sr0, sector 14462464 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2 Dec 27 20:54:18 nixnuc kernel: Buffer I/O error on dev sr0, logical block 1807808, async page read </code></pre> <p>I want to be able to watch these w/o having to switch to another distro, but seem to be missing something that (I assume) is trivial.</p> </div><!-- SC_ON --> submitted by <a href=\"https://old.reddit.com/user/tuxbell\"> /u/tuxbell </a> <br/> <span><a href=\"https://old.reddit.com/r/NixOS/comments/18suruv/watching_dvds_on_nixos/\">[link]</a></span> <span><a href=\"https://old.reddit.com/r/NixOS/comments/18suruv/watching_dvds_on_nixos/\">[comments]</a></span>

", + "id": 410347396, + "sender_full_name": "IFTTT", + "timestamp": 1703801629 + }, + { + "content": "

Do you use NixOS for work?

\n

December 28, 2023 at 01:27PM

\n

https://old.reddit.com/r/NixOS/comments/18t52hb/do_you_use_nixos_for_work/

", + "id": 410381734, + "sender_full_name": "IFTTT", + "timestamp": 1703819612 + }, + { + "content": "

Virtualization

\n

December 29, 2023 at 01:23AM

\n

https://old.reddit.com/r/NixOS/comments/18tj618/virtualization/

", + "id": 410537493, + "sender_full_name": "IFTTT", + "timestamp": 1703934820 + }, + { + "content": "

Migrating system config to flakes?

\n

December 29, 2023 at 04:49PM

\n

https://old.reddit.com/r/NixOS/comments/18u2ifm/migrating_system_config_to_flakes/

", + "id": 410544820, + "sender_full_name": "IFTTT", + "timestamp": 1703942007 + }, + { + "content": "

NixOS with flakes and home-manager: how to rebuild-switch only home environment?

\n

December 31, 2023 at 04:39AM

\n

https://old.reddit.com/r/NixOS/comments/18v6yov/nixos_with_flakes_and_homemanager_how_to/

", + "id": 410657494, + "sender_full_name": "IFTTT", + "timestamp": 1704053584 + }, + { + "content": "

Can Game Flakes be a thing?

\n

January 01, 2024 at 09:31AM

\n

https://old.reddit.com/r/NixOS/comments/18w1ncb/can_game_flakes_be_a_thing/

", + "id": 410771302, + "sender_full_name": "IFTTT", + "timestamp": 1704154416 + }, + { + "content": "

NixOS as production server.

\n

December 28, 2023 at 11:12AM

\n

https://old.reddit.com/r/NixOS/comments/18t1vu6/nixos_as_production_server/

", + "id": 410777160, + "sender_full_name": "IFTTT", + "timestamp": 1704157997 + }, + { + "content": "

I finally figured out NixOS!

\n

January 01, 2024 at 07:55PM

\n

https://old.reddit.com/r/NixOS/comments/18wfvan/i_finally_figured_out_nixos/

", + "id": 410800347, + "sender_full_name": "IFTTT", + "timestamp": 1704175747 + }, + { + "content": "

I've not yet figured out NixOS

\n

January 02, 2024 at 09:16AM

\n

https://old.reddit.com/r/NixOS/comments/18wuk9t/ive_not_yet_figured_out_nixos/

", + "id": 410906675, + "sender_full_name": "IFTTT", + "timestamp": 1704230006 + }, + { + "content": "

Some notes on NixOS

\n

January 02, 2024 at 12:32PM

\n

https://old.reddit.com/r/NixOS/comments/18wzi7f/some_notes_on_nixos/

", + "id": 411004159, + "sender_full_name": "IFTTT", + "timestamp": 1704284021 + }, + { + "content": "

Use both local paths and public repo urls in flakes

\n

December 31, 2023 at 08:35PM

\n

https://old.reddit.com/r/NixOS/comments/18vp1uz/use_both_local_paths_and_public_repo_urls_in/

", + "id": 411124929, + "sender_full_name": "IFTTT", + "timestamp": 1704341624 + }, + { + "content": "

Nix package manager in a nutshell

\n

January 04, 2024 at 05:16AM

\n

https://old.reddit.com/r/NixOS/comments/18ycxwa/nix_package_manager_in_a_nutshell/

", + "id": 411206425, + "sender_full_name": "IFTTT", + "timestamp": 1704381201 + }, + { + "content": "

Which packages are installed with minimal installation?

\n

December 30, 2023 at 11:08AM

\n

https://old.reddit.com/r/NixOS/comments/18un11e/which_packages_are_installed_with_minimal/

", + "id": 411269369, + "sender_full_name": "IFTTT", + "timestamp": 1704406145 + }, + { + "content": "

A declarative way for adding environment variables to specific desktop apps?

\n

January 04, 2024 at 11:57PM

\n

https://old.reddit.com/r/NixOS/comments/18z1k49/a_declarative_way_for_adding_environment/

", + "id": 411340451, + "sender_full_name": "IFTTT", + "timestamp": 1704449602 + }, + { + "content": "

Why use home manager for configuration instead of copied dotfiles?

\n

January 05, 2024 at 11:28AM

\n

https://old.reddit.com/r/NixOS/comments/18zf7zd/why_use_home_manager_for_configuration_instead_of/

", + "id": 411459878, + "sender_full_name": "IFTTT", + "timestamp": 1704503602 + }, + { + "content": "

Agenix & Multi-System Nix Config: Tips for Locating Auth Tokens?

\n

January 04, 2024 at 03:18PM

\n

https://old.reddit.com/r/NixOS/comments/18yr7w5/agenix_multisystem_nix_config_tips_for_locating/

", + "id": 411503514, + "sender_full_name": "IFTTT", + "timestamp": 1704543208 + }, + { + "content": "

Equivalent to 'apt purge' to remove all configuration files of a package

\n

January 05, 2024 at 06:48AM

\n

https://old.reddit.com/r/NixOS/comments/18z8l4q/equivalent_to_apt_purge_to_remove_all/

", + "id": 411510470, + "sender_full_name": "IFTTT", + "timestamp": 1704550430 + }, + { + "content": "

fr though :rotfl:

\n

January 06, 2024 at 08:39AM

\n

https://old.reddit.com/r/NixOS/comments/1903xfk/fr_though_rotfl/

", + "id": 411526225, + "sender_full_name": "IFTTT", + "timestamp": 1704564794 + }, + { + "content": "

How do I configure dotfiles in a declarative manner?

\n

January 06, 2024 at 06:23AM

\n

https://old.reddit.com/r/NixOS/comments/19011jh/how_do_i_configure_dotfiles_in_a_declarative/

", + "id": 411607278, + "sender_full_name": "IFTTT", + "timestamp": 1704640436 + }, + { + "content": "

I've been told that Nix isn't FHS compliant. What will this affect compared to a more traditional distro like Arch?

\n

January 07, 2024 at 07:48AM

\n

https://old.reddit.com/r/NixOS/comments/190v0n7/ive_been_told_that_nix_isnt_fhs_compliant_what/

", + "id": 411632644, + "sender_full_name": "IFTTT", + "timestamp": 1704662011 + }, + { + "content": "

PSA: Syntax highlighting for multi-line string blocks works with treesitter+neovim

\n

January 07, 2024 at 10:49PM

\n

https://old.reddit.com/r/NixOS/comments/191ey9j/psa_syntax_highlighting_for_multiline_string/

", + "id": 411688322, + "sender_full_name": "IFTTT", + "timestamp": 1704701592 + }, + { + "content": "

Suggestions for improving the configuration

\n

January 08, 2024 at 07:02AM

\n

https://old.reddit.com/r/NixOS/comments/191n5xe/suggestions_for_improving_the_configuration/

", + "id": 411851502, + "sender_full_name": "IFTTT", + "timestamp": 1704766434 + }, + { + "content": "

Are flakes useful outside of version pinning?

\n

January 08, 2024 at 04:05PM

\n

https://old.reddit.com/r/NixOS/comments/1920foj/are_flakes_useful_outside_of_version_pinning/

", + "id": 411865721, + "sender_full_name": "IFTTT", + "timestamp": 1704777193 + }, + { + "content": "

Hello people.

\n

January 09, 2024 at 05:45AM

\n

https://old.reddit.com/r/NixOS/comments/192f1yh/hello_people/

", + "id": 412012589, + "sender_full_name": "IFTTT", + "timestamp": 1704834557 + }, + { + "content": "

Can I have multiple configs for a single computer and switch between them?

\n

January 09, 2024 at 12:10PM

\n

https://old.reddit.com/r/NixOS/comments/192o8cr/can_i_have_multiple_configs_for_a_single_computer/

", + "id": 412020879, + "sender_full_name": "IFTTT", + "timestamp": 1704838413 + }, + { + "content": "

Next step toward automating my infrastructure with NixOS

\n

January 10, 2024 at 06:41AM

\n

https://old.reddit.com/r/NixOS/comments/1939srt/next_step_toward_automating_my_infrastructure/

", + "id": 412212622, + "sender_full_name": "IFTTT", + "timestamp": 1704917697 + }, + { + "content": "

Using configs on multiple hardwares - $variables?

\n

January 10, 2024 at 11:21AM

\n

https://old.reddit.com/r/NixOS/comments/193gk90/using_configs_on_multiple_hardwares_variables/

", + "id": 412329498, + "sender_full_name": "IFTTT", + "timestamp": 1704975218 + }, + { + "content": "

Static JSON API written in Nix (check comments)

\n

January 11, 2024 at 10:09AM

\n

https://old.reddit.com/r/NixOS/comments/19487sk/static_json_api_written_in_nix_check_comments/

", + "id": 412413794, + "sender_full_name": "IFTTT", + "timestamp": 1705004022 + }, + { + "content": "

Cachix 1.7

\n

January 12, 2024 at 05:29AM

\n

https://old.reddit.com/r/NixOS/comments/194v2w7/cachix_17/

", + "id": 412621432, + "sender_full_name": "IFTTT", + "timestamp": 1705094003 + }, + { + "content": "

Looking for a Linux & Unix Discord Community?

\n

January 13, 2024 at 04:15AM

\n

https://old.reddit.com/r/NixOS/comments/195mqac/looking_for_a_linux_unix_discord_community/

", + "id": 412712988, + "sender_full_name": "IFTTT", + "timestamp": 1705155234 + }, + { + "content": "

How to keep \"source\" when doing garbage collection

\n

January 12, 2024 at 03:27PM

\n

https://old.reddit.com/r/NixOS/comments/19595vc/how_to_keep_source_when_doing_garbage_collection/

", + "id": 412744089, + "sender_full_name": "IFTTT", + "timestamp": 1705180418 + }, + { + "content": "

Steam games take a long time to launch

\n

January 12, 2024 at 01:06AM

\n

https://old.reddit.com/r/NixOS/comments/194qro7/steam_games_take_a_long_time_to_launch/

", + "id": 412897745, + "sender_full_name": "IFTTT", + "timestamp": 1705302828 + }, + { + "content": "

x86_64 VM on aarch64 host?

\n

January 14, 2024 at 05:11PM

\n

https://old.reddit.com/r/NixOS/comments/196vyql/x86_64_vm_on_aarch64_host/

", + "id": 412924215, + "sender_full_name": "IFTTT", + "timestamp": 1705313583 + }, + { + "content": "

why use nixpkgs.stdenv.mkDerivation over builtins.derivation?

\n

January 10, 2024 at 03:36PM

\n

https://old.reddit.com/r/NixOS/comments/193mt89/why_use_nixpkgsstdenvmkderivation_over/

", + "id": 413010327, + "sender_full_name": "IFTTT", + "timestamp": 1705342442 + }, + { + "content": "

Services, programs, and packages. Oh my!

\n

January 09, 2024 at 08:48AM

\n

https://old.reddit.com/r/NixOS/comments/192j60w/services_programs_and_packages_oh_my/

", + "id": 413058344, + "sender_full_name": "IFTTT", + "timestamp": 1705367625 + }, + { + "content": "

The entirety of my time on YouTube last week

\n

January 15, 2024 at 08:56PM

\n

https://old.reddit.com/r/NixOS/comments/197uhjz/the_entirety_of_my_time_on_youtube_last_week/

", + "id": 413087210, + "sender_full_name": "IFTTT", + "timestamp": 1705385659 + }, + { + "content": "

How to set system architecture in flakes?

\n

January 13, 2024 at 07:50AM

\n

https://old.reddit.com/r/NixOS/comments/195qx0g/how_to_set_system_architecture_in_flakes/

", + "id": 413239822, + "sender_full_name": "IFTTT", + "timestamp": 1705439612 + }, + { + "content": "

How We Sped Up Nix Package Installs in Devbox

\n

January 16, 2024 at 11:55AM

\n

https://old.reddit.com/r/NixOS/comments/198c65z/how_we_sped_up_nix_package_installs_in_devbox/

", + "id": 415955099, + "sender_full_name": "IFTTT", + "timestamp": 1705468435 + }, + { + "content": "

Deploying a Cloudflare R2-Backed Nix Binary Cache (Attic!) on Fly.io

\n

January 16, 2024 at 06:56PM

\n

https://old.reddit.com/r/NixOS/comments/198m2fy/deploying_a_cloudflare_r2backed_nix_binary_cache/

", + "id": 415982490, + "sender_full_name": "IFTTT", + "timestamp": 1705482802 + }, + { + "content": "

Is it normal to free frustrated or mad while tinkering my computer

\n

January 17, 2024 at 05:21AM

\n

https://old.reddit.com/r/NixOS/comments/198wf2e/is_it_normal_to_free_frustrated_or_mad_while/

", + "id": 416100776, + "sender_full_name": "IFTTT", + "timestamp": 1705518540 + }, + { + "content": "

So, how do I REALLY search for packages?

\n

January 18, 2024 at 03:47AM

\n

https://old.reddit.com/r/NixOS/comments/199ocj8/so_how_do_i_really_search_for_packages/

", + "id": 416592043, + "sender_full_name": "IFTTT", + "timestamp": 1705590842 + }, + { + "content": "

(OT/Vent): My Team made me use ansible for a CI Job

\n

January 18, 2024 at 07:13AM

\n

https://old.reddit.com/r/NixOS/comments/199scph/otvent_my_team_made_me_use_ansible_for_a_ci_job/

", + "id": 416650861, + "sender_full_name": "IFTTT", + "timestamp": 1705612432 + }, + { + "content": "

Encrypted Btrfs Install

\n

January 18, 2024 at 12:34PM

\n

https://old.reddit.com/r/NixOS/comments/19a02a7/encrypted_btrfs_install/

", + "id": 416672507, + "sender_full_name": "IFTTT", + "timestamp": 1705623194 + }, + { + "content": "

Espanso Wayland? Anyone doing this?

\n

January 15, 2024 at 01:29AM

\n

https://old.reddit.com/r/NixOS/comments/1974sfo/espanso_wayland_anyone_doing_this/

", + "id": 416878200, + "sender_full_name": "IFTTT", + "timestamp": 1705702715 + }, + { + "content": "

Ready made Configs?

\n

January 18, 2024 at 05:41PM

\n

https://old.reddit.com/r/NixOS/comments/19a774d/ready_made_configs/

", + "id": 416878201, + "sender_full_name": "IFTTT", + "timestamp": 1705702715 + }, + { + "content": "

NixCon North American Schedule is Live! Come join us in Southern California

\n

January 19, 2024 at 07:47PM

\n

https://old.reddit.com/r/NixOS/comments/19b2kg3/nixcon_north_american_schedule_is_live_come_join/

", + "id": 416965257, + "sender_full_name": "IFTTT", + "timestamp": 1705734809 + }, + { + "content": "

What Language Server is currently the best for Nix:

\n

January 19, 2024 at 05:44PM

\n

https://old.reddit.com/r/NixOS/comments/19b0584/what_language_server_is_currently_the_best_for_nix/

", + "id": 416982431, + "sender_full_name": "IFTTT", + "timestamp": 1705749237 + }, + { + "content": "

Building and Privately Caching x86 and aarch64 NixOS Systems with Github Actions

\n

January 20, 2024 at 10:14AM

\n

https://old.reddit.com/r/NixOS/comments/19bhy6c/building_and_privately_caching_x86_and_aarch64/

", + "id": 417059622, + "sender_full_name": "IFTTT", + "timestamp": 1705817384 + }, + { + "content": "

Thoughts on flakehub.com?

\n

January 20, 2024 at 02:22PM

\n

https://old.reddit.com/r/NixOS/comments/19bnmu9/thoughts_on_flakehubcom/

", + "id": 417063366, + "sender_full_name": "IFTTT", + "timestamp": 1705821211 + }, + { + "content": "

Obsidian not using GPU

\n

January 20, 2024 at 06:29PM

\n

https://old.reddit.com/r/NixOS/comments/19bsui8/obsidian_not_using_gpu/

", + "id": 417085736, + "sender_full_name": "IFTTT", + "timestamp": 1705842661 + }, + { + "content": "

How NixOS Won Me Over and Made Me Shift Completely to Linux

\n

January 21, 2024 at 06:04AM

\n

https://old.reddit.com/r/NixOS/comments/19c43p9/how_nixos_won_me_over_and_made_me_shift/

", + "id": 417095136, + "sender_full_name": "IFTTT", + "timestamp": 1705850024 + }, + { + "content": "

Do we need a home-merger?

\n

January 21, 2024 at 09:54PM

\n

https://old.reddit.com/r/NixOS/comments/19coqyl/do_we_need_a_homemerger/

", + "id": 417307550, + "sender_full_name": "IFTTT", + "timestamp": 1705954415 + }, + { + "content": "

Any guides to doing music on NixOS ? (or linux in general)

\n

January 22, 2024 at 10:04AM

\n

https://old.reddit.com/r/NixOS/comments/19d1xwk/any_guides_to_doing_music_on_nixos_or_linux_in/

", + "id": 417372861, + "sender_full_name": "IFTTT", + "timestamp": 1705986807 + }, + { + "content": "

Official NixOS wiki

\n

January 23, 2024 at 03:38PM

\n

https://old.reddit.com/r/NixOS/comments/19e2mtc/official_nixos_wiki/

", + "id": 417567887, + "sender_full_name": "IFTTT", + "timestamp": 1706065998 + }, + { + "content": "

Should I switch to NIXOS?

\n

January 23, 2024 at 03:00PM

\n

https://old.reddit.com/r/NixOS/comments/19e1r5j/should_i_switch_to_nixos/

", + "id": 417577149, + "sender_full_name": "IFTTT", + "timestamp": 1706073212 + }, + { + "content": "

NixOS Errors

\n

January 23, 2024 at 03:41AM

\n

https://old.reddit.com/r/NixOS/comments/19dmje6/nixos_errors/

", + "id": 417581295, + "sender_full_name": "IFTTT", + "timestamp": 1706076571 + }, + { + "content": "

Some wallpapers created using stable diffusion and the NixOS logo.

\n

January 24, 2024 at 12:11PM

\n

https://old.reddit.com/r/NixOS/comments/19epys3/some_wallpapers_created_using_stable_diffusion/

", + "id": 417985811, + "sender_full_name": "IFTTT", + "timestamp": 1706141642 + }, + { + "content": "

Fedora Silverblue conversion

\n

January 24, 2024 at 03:21PM

\n

https://old.reddit.com/r/NixOS/comments/19euktr/fedora_silverblue_conversion/

", + "id": 418087886, + "sender_full_name": "IFTTT", + "timestamp": 1706191996 + }, + { + "content": "

The History of Nix at Bellroy

\n

January 23, 2024 at 11:20PM

\n

https://old.reddit.com/r/NixOS/comments/19ebggz/the_history_of_nix_at_bellroy/

", + "id": 418126617, + "sender_full_name": "IFTTT", + "timestamp": 1706202798 + }, + { + "content": "

Federated self hosted blog using NixOs

\n

January 26, 2024 at 02:04AM

\n

https://old.reddit.com/r/NixOS/comments/1abezn1/federated_self_hosted_blog_using_nixos/

", + "id": 418381569, + "sender_full_name": "IFTTT", + "timestamp": 1706325202 + }, + { + "content": "

Overview of Nix Formatters Ecosystem

\n

January 27, 2024 at 08:28AM

\n

https://old.reddit.com/r/NixOS/comments/1acemjr/overview_of_nix_formatters_ecosystem/

", + "id": 418440271, + "sender_full_name": "IFTTT", + "timestamp": 1706383125 + }, + { + "content": "

NixOS Is A Great Distro For Beginners

\n

January 28, 2024 at 12:57PM

\n

https://old.reddit.com/r/NixOS/comments/1adcvmj/nixos_is_a_great_distro_for_beginners/

", + "id": 418543934, + "sender_full_name": "IFTTT", + "timestamp": 1706483611 + }, + { + "content": "

Switching to Hyperland

\n

January 27, 2024 at 10:42AM

\n

https://old.reddit.com/r/NixOS/comments/1achq7o/switching_to_hyperland/

", + "id": 418702864, + "sender_full_name": "IFTTT", + "timestamp": 1706555630 + }, + { + "content": "

Latest nixpkgs breaks amdgpu. Beware.

\n

January 29, 2024 at 12:55PM

\n

https://old.reddit.com/r/NixOS/comments/1ae5y4l/latest_nixpkgs_breaks_amdgpu_beware/

", + "id": 418737908, + "sender_full_name": "IFTTT", + "timestamp": 1706570025 + }, + { + "content": "

How do you manage your develompent environment?

\n

January 29, 2024 at 06:20PM

\n

https://old.reddit.com/r/NixOS/comments/1aedb97/how_do_you_manage_your_develompent_environment/

", + "id": 418895425, + "sender_full_name": "IFTTT", + "timestamp": 1706638721 + }, + { + "content": "

Install NixOS on Raspberry Pi 5

\n

January 25, 2024 at 08:48PM

\n

https://old.reddit.com/r/NixOS/comments/1aba77l/install_nixos_on_raspberry_pi_5/

", + "id": 418944167, + "sender_full_name": "IFTTT", + "timestamp": 1706660029 + }, + { + "content": "

Flutter on nixos

\n

January 25, 2024 at 06:16PM

\n

https://old.reddit.com/r/NixOS/comments/1ab77ht/flutter_on_nixos/

", + "id": 418986161, + "sender_full_name": "IFTTT", + "timestamp": 1706688582 + }, + { + "content": "

Factorio

\n

January 30, 2024 at 05:11PM

\n

https://old.reddit.com/r/NixOS/comments/1af55b7/factorio/

", + "id": 419036654, + "sender_full_name": "IFTTT", + "timestamp": 1706706875 + }, + { + "content": "

Idiot proofing NixOS on systems that don't have easy access to the bootloader (remote or headless systems)

\n

January 31, 2024 at 12:23PM

\n

https://old.reddit.com/r/NixOS/comments/1afrmnv/idiot_proofing_nixos_on_systems_that_dont_have/

", + "id": 419147779, + "sender_full_name": "IFTTT", + "timestamp": 1706746428 + }, + { + "content": "

NixOS Revolution?

\n

February 01, 2024 at 07:13AM

\n

https://old.reddit.com/r/NixOS/comments/1agd8zp/nixos_revolution/

", + "id": 419315719, + "sender_full_name": "IFTTT", + "timestamp": 1706814798 + }, + { + "content": "

NixOS for work

\n

January 31, 2024 at 03:43PM

\n

https://old.reddit.com/r/NixOS/comments/1afwinx/nixos_for_work/

", + "id": 419350221, + "sender_full_name": "IFTTT", + "timestamp": 1706829199 + }, + { + "content": "

Setting Up Python Projects

\n

January 31, 2024 at 02:32AM

\n

https://old.reddit.com/r/NixOS/comments/1afex3e/setting_up_python_projects/

", + "id": 419436946, + "sender_full_name": "IFTTT", + "timestamp": 1706872717 + }, + { + "content": "

I'm considering switching to NixOS from Arch

\n

February 02, 2024 at 01:36AM

\n

https://old.reddit.com/r/NixOS/comments/1agzxce/im_considering_switching_to_nixos_from_arch/

", + "id": 419476997, + "sender_full_name": "IFTTT", + "timestamp": 1706886829 + }, + { + "content": "

Arch Linux to nixos

\n

February 01, 2024 at 08:12PM

\n

https://old.reddit.com/r/NixOS/comments/1aguwji/arch_linux_to_nixos/

", + "id": 419518591, + "sender_full_name": "IFTTT", + "timestamp": 1706901199 + }, + { + "content": "

Who's streaming nixos conference

\n

February 02, 2024 at 01:57PM

\n

https://old.reddit.com/r/NixOS/comments/1ahfgs6/whos_streaming_nixos_conference/

", + "id": 419599761, + "sender_full_name": "IFTTT", + "timestamp": 1706958809 + }, + { + "content": "

Cant update NVIDIA driver on stable branch

\n

February 03, 2024 at 08:37AM

\n

https://old.reddit.com/r/NixOS/comments/1ai04sz/cant_update_nvidia_driver_on_stable_branch/

", + "id": 419683279, + "sender_full_name": "IFTTT", + "timestamp": 1707038295 + }, + { + "content": "

NixVirt: LibVirt domain management for Nix

\n

February 04, 2024 at 03:58PM

\n

https://old.reddit.com/r/NixOS/comments/1aj2jv4/nixvirt_libvirt_domain_management_for_nix/

", + "id": 419761787, + "sender_full_name": "IFTTT", + "timestamp": 1707106426 + }, + { + "content": "

nix-collect-garbage -d not removing everything

\n

February 04, 2024 at 11:55PM

\n

https://old.reddit.com/r/NixOS/comments/1ajbatg/nixcollectgarbage_d_not_removing_everything/

", + "id": 419928508, + "sender_full_name": "IFTTT", + "timestamp": 1707167355 + }, + { + "content": "

As a linux noob, NixOS has saved me from distro hopping hell

\n

February 06, 2024 at 01:31PM

\n

https://old.reddit.com/r/NixOS/comments/1akl9zf/as_a_linux_noob_nixos_has_saved_me_from_distro/

", + "id": 420158185, + "sender_full_name": "IFTTT", + "timestamp": 1707264847 + }, + { + "content": "

I'm considering moving away from NixOS, should I?

\n

February 06, 2024 at 02:16PM

\n

https://old.reddit.com/r/NixOS/comments/1akmety/im_considering_moving_away_from_nixos_should_i/

", + "id": 420207716, + "sender_full_name": "IFTTT", + "timestamp": 1707297222 + }, + { + "content": "

What's the difference between nix develop and nix shell?

\n

February 06, 2024 at 04:07PM

\n

https://old.reddit.com/r/NixOS/comments/1akp1yl/whats_the_difference_between_nix_develop_and_nix/

", + "id": 420364916, + "sender_full_name": "IFTTT", + "timestamp": 1707350942 + }, + { + "content": "

NixOS phone?

\n

February 07, 2024 at 10:30PM

\n

https://old.reddit.com/r/NixOS/comments/1alpcvq/nixos_phone/

", + "id": 420478924, + "sender_full_name": "IFTTT", + "timestamp": 1707405227 + }, + { + "content": "

How are you 'supposed' to install Python packages?

\n

February 08, 2024 at 02:54PM

\n

https://old.reddit.com/r/NixOS/comments/1am8spl/how_are_you_supposed_to_install_python_packages/

", + "id": 420584084, + "sender_full_name": "IFTTT", + "timestamp": 1707452017 + }, + { + "content": "

zephyr-nix: Develop Zephyr projects using Nix

\n

February 05, 2024 at 08:03PM

\n

https://old.reddit.com/r/NixOS/comments/1ak0ttc/zephyrnix_develop_zephyr_projects_using_nix/

", + "id": 420621159, + "sender_full_name": "IFTTT", + "timestamp": 1707473645 + }, + { + "content": "

nixos-container vs docker and friends

\n

February 05, 2024 at 04:42AM

\n

https://old.reddit.com/r/NixOS/comments/1ajfl8c/nixoscontainer_vs_docker_and_friends/

", + "id": 420740696, + "sender_full_name": "IFTTT", + "timestamp": 1707516840 + }, + { + "content": "

How to set home-manager option for all users at once?

\n

February 09, 2024 at 08:25AM

\n

https://old.reddit.com/r/NixOS/comments/1ams0g3/how_to_set_homemanager_option_for_all_users_at/

", + "id": 420753189, + "sender_full_name": "IFTTT", + "timestamp": 1707524037 + }, + { + "content": "

Interview with CTO of ListenField AgTech: Introducing NixOS to Organization

\n

February 10, 2024 at 06:19AM

\n

https://old.reddit.com/r/NixOS/comments/1anhcl5/interview_with_cto_of_listenfield_agtech/

", + "id": 420821526, + "sender_full_name": "IFTTT", + "timestamp": 1707589116 + }, + { + "content": "

generations are still there after garbage collection

\n

February 11, 2024 at 07:07AM

\n

https://old.reddit.com/r/NixOS/comments/1aoa0wf/generations_are_still_there_after_garbage/

", + "id": 420922243, + "sender_full_name": "IFTTT", + "timestamp": 1707686041 + }, + { + "content": "

If home-manager program.bash.enable=true how are non-nix programs supposed to modify .bashrc or similar?

\n

February 11, 2024 at 06:37PM

\n

https://old.reddit.com/r/NixOS/comments/1aophc6/if_homemanager_programbashenabletrue_how_are/

", + "id": 421028650, + "sender_full_name": "IFTTT", + "timestamp": 1707743949 + }, + { + "content": "

Keychron K1 Pro / Bluetooth / NixOS w/KDE install

\n

February 11, 2024 at 10:19PM

\n

https://old.reddit.com/r/NixOS/comments/1aoteqb/keychron_k1_pro_bluetooth_nixos_wkde_install/

", + "id": 421043956, + "sender_full_name": "IFTTT", + "timestamp": 1707747526 + }, + { + "content": "

Thoughts and advice

\n

February 12, 2024 at 06:09AM

\n

https://old.reddit.com/r/NixOS/comments/1ap0ujc/thoughts_and_advice/

", + "id": 421194007, + "sender_full_name": "IFTTT", + "timestamp": 1707812011 + }, + { + "content": "

me trying to run a random binary

\n

February 13, 2024 at 05:00AM

\n

https://old.reddit.com/r/NixOS/comments/1apsw9w/me_trying_to_run_a_random_binary/

", + "id": 421251072, + "sender_full_name": "IFTTT", + "timestamp": 1707833632 + }, + { + "content": "

Is this newb-friendly Nix/NixOS intro blog post any good?

\n

February 12, 2024 at 09:52AM

\n

https://old.reddit.com/r/NixOS/comments/1ap6321/is_this_newbfriendly_nixnixos_intro_blog_post_any/

", + "id": 421298890, + "sender_full_name": "IFTTT", + "timestamp": 1707848005 + }, + { + "content": "

Hive

\n

February 13, 2024 at 03:32AM

\n

https://old.reddit.com/r/NixOS/comments/1aprbw1/hive/

", + "id": 421352835, + "sender_full_name": "IFTTT", + "timestamp": 1707873193 + }, + { + "content": "

Systemd Hardening: Some preconfigured options :D

\n

February 13, 2024 at 07:01PM

\n

https://old.reddit.com/r/NixOS/comments/1aqck9l/systemd_hardening_some_preconfigured_options_d/

", + "id": 421376818, + "sender_full_name": "IFTTT", + "timestamp": 1707891186 + }, + { + "content": "

Bootloader/Kernel hardening for NixOS

\n

February 13, 2024 at 09:58PM

\n

https://old.reddit.com/r/NixOS/comments/1aqfuxq/bootloaderkernel_hardening_for_nixos/

", + "id": 421466599, + "sender_full_name": "IFTTT", + "timestamp": 1707923589 + }, + { + "content": "

Making the plunge to NixOS

\n

February 14, 2024 at 08:46AM

\n

https://old.reddit.com/r/NixOS/comments/1aqrfmd/making_the_plunge_to_nixos/

", + "id": 421594474, + "sender_full_name": "IFTTT", + "timestamp": 1707981228 + }, + { + "content": "

Rust Development on NixOS, Part 1: Bootstrapping Rust Nightly via Flake

\n

February 15, 2024 at 09:46AM

\n

https://old.reddit.com/r/NixOS/comments/1arlc04/rust_development_on_nixos_part_1_bootstrapping/

", + "id": 421784879, + "sender_full_name": "IFTTT", + "timestamp": 1708056830 + }, + { + "content": "

Recreating Valve's \"Steam Machine\" using NixOS - Build a gaming PC for the Living Room?

\n

February 17, 2024 at 08:14AM

\n

https://old.reddit.com/r/NixOS/comments/1at5i9a/recreating_valves_steam_machine_using_nixos_build/

", + "id": 422049702, + "sender_full_name": "IFTTT", + "timestamp": 1708211628 + }, + { + "content": "

Last resort alternative to Nix Packages

\n

February 16, 2024 at 10:04AM

\n

https://old.reddit.com/r/NixOS/comments/1asf7a7/last_resort_alternative_to_nix_packages/

", + "id": 422108784, + "sender_full_name": "IFTTT", + "timestamp": 1708272830 + }, + { + "content": "

Why Use Hyprland and/or Home Manager?

\n

February 18, 2024 at 12:19PM

\n

https://old.reddit.com/r/NixOS/comments/1au3ox5/why_use_hyprland_andor_home_manager/

", + "id": 422148642, + "sender_full_name": "IFTTT", + "timestamp": 1708308802 + }, + { + "content": "

2 machines running same NixOS but different architectures config.

\n

February 18, 2024 at 08:02PM

\n

https://old.reddit.com/r/NixOS/comments/1aue12i/2_machines_running_same_nixos_but_different/

", + "id": 422211279, + "sender_full_name": "IFTTT", + "timestamp": 1708341228 + }, + { + "content": "

Cachix: downtime due to signup spam

\n

February 19, 2024 at 03:42AM

\n

https://old.reddit.com/r/NixOS/comments/1auld93/cachix_downtime_due_to_signup_spam/

", + "id": 422267133, + "sender_full_name": "IFTTT", + "timestamp": 1708359209 + }, + { + "content": "

Nix Development Environment question

\n

February 16, 2024 at 10:00PM

\n

https://old.reddit.com/r/NixOS/comments/1asuvwg/nix_development_environment_question/

", + "id": 422414531, + "sender_full_name": "IFTTT", + "timestamp": 1708434810 + }, + { + "content": "

Nerding out about Nix and NixOS with Jon Seager, Canonical

\n

February 20, 2024 at 02:21AM

\n

https://old.reddit.com/r/NixOS/comments/1avefl9/nerding_out_about_nix_and_nixos_with_jon_seager/

", + "id": 422438559, + "sender_full_name": "IFTTT", + "timestamp": 1708441993 + }, + { + "content": "

Easy neovim with configuration and runnable with nix run

\n

February 19, 2024 at 03:39AM

\n

https://old.reddit.com/r/NixOS/comments/1aulb75/easy_neovim_with_configuration_and_runnable_with/

", + "id": 422536401, + "sender_full_name": "IFTTT", + "timestamp": 1708485223 + }, + { + "content": "

Is Nix a Front-Loaded or Constant-Load Time Investment?

\n

February 20, 2024 at 08:06PM

\n

https://old.reddit.com/r/NixOS/comments/1aw2kp3/is_nix_a_frontloaded_or_constantload_time/

", + "id": 422564462, + "sender_full_name": "IFTTT", + "timestamp": 1708503225 + }, + { + "content": "

HTTP/HTTPS proxy that serves previously captured requests inside sandboxed Nix builds

\n

February 22, 2024 at 06:09AM

\n

https://old.reddit.com/r/NixOS/comments/1ax79jw/httphttps_proxy_that_serves_previously_captured/

", + "id": 422864373, + "sender_full_name": "IFTTT", + "timestamp": 1708621809 + }, + { + "content": "

aarch64 and zfs requires kernel patches for kernels 6.2 and up, and they always have to rebuild. Are these patched kernels just not cached?

\n

February 22, 2024 at 04:19PM

\n

https://old.reddit.com/r/NixOS/comments/1axmhym/aarch64_and_zfs_requires_kernel_patches_for/

", + "id": 422968027, + "sender_full_name": "IFTTT", + "timestamp": 1708676030 + }, + { + "content": "

Beginner questions...

\n

February 23, 2024 at 05:27AM

\n

https://old.reddit.com/r/NixOS/comments/1ay0ft5/beginner_questions/

", + "id": 423078548, + "sender_full_name": "IFTTT", + "timestamp": 1708715640 + }, + { + "content": "

OS as Code - My Experience of NixOS

\n

February 23, 2024 at 08:18AM

\n

https://old.reddit.com/r/NixOS/comments/1ay4hjs/os_as_code_my_experience_of_nixos/

", + "id": 423114062, + "sender_full_name": "IFTTT", + "timestamp": 1708733622 + }, + { + "content": "

Why I'm seriously considering migrating to NixOS next month (As a long time Arch user)

\n

February 24, 2024 at 04:04PM

\n

https://old.reddit.com/r/NixOS/comments/1az9n3u/why_im_seriously_considering_migrating_to_nixos/

", + "id": 423226154, + "sender_full_name": "IFTTT", + "timestamp": 1708831117 + }, + { + "content": "

NixOS is about to hit an inflection point, we're going exponential soon!

\n

February 25, 2024 at 08:43AM

\n

https://old.reddit.com/r/NixOS/comments/1azscni/nixos_is_about_to_hit_an_inflection_point_were/

", + "id": 423281361, + "sender_full_name": "IFTTT", + "timestamp": 1708884822 + }, + { + "content": "

What's the end-goal for nixpkgs?

\n

February 25, 2024 at 06:21PM

\n

https://old.reddit.com/r/NixOS/comments/1b069tm/whats_the_endgoal_for_nixpkgs/

", + "id": 423363808, + "sender_full_name": "IFTTT", + "timestamp": 1708942434 + }, + { + "content": "

Contributing Scrutiny to Nixpkgs

\n

February 25, 2024 at 01:43AM

\n

https://old.reddit.com/r/NixOS/comments/1azk5v4/contributing_scrutiny_to_nixpkgs/

", + "id": 423383249, + "sender_full_name": "IFTTT", + "timestamp": 1708949628 + }, + { + "content": "

NixOS: Learning by doing, a step by step guideline request for newbies

\n

February 26, 2024 at 04:56AM

\n

https://old.reddit.com/r/NixOS/comments/1b0guwd/nixos_learning_by_doing_a_step_by_step_guideline/

", + "id": 423465608, + "sender_full_name": "IFTTT", + "timestamp": 1708974564 + }, + { + "content": "

So, about KDE Plasma

\n

February 26, 2024 at 11:30AM

\n

https://old.reddit.com/r/NixOS/comments/1b0qb1u/so_about_kde_plasma/

", + "id": 423545341, + "sender_full_name": "IFTTT", + "timestamp": 1709018035 + }, + { + "content": "

NixOS: Everything Everywhere All At Once (No Boilerplate)

\n

February 27, 2024 at 02:45AM

\n

https://old.reddit.com/r/NixOS/comments/1b18ylg/nixos_everything_everywhere_all_at_once_no/

", + "id": 423669142, + "sender_full_name": "IFTTT", + "timestamp": 1709057641 + }, + { + "content": "

Introduction to module system

\n

February 27, 2024 at 06:26AM

\n

https://old.reddit.com/r/NixOS/comments/1b1d46d/introduction_to_module_system/

", + "id": 423707354, + "sender_full_name": "IFTTT", + "timestamp": 1709071991 + }, + { + "content": "

I made a Nix function to easily sandbox apps using bubblewrap - with portals support.

\n

February 28, 2024 at 12:49AM

\n

https://old.reddit.com/r/NixOS/comments/1b21fbt/i_made_a_nix_function_to_easily_sandbox_apps/

", + "id": 423853127, + "sender_full_name": "IFTTT", + "timestamp": 1709136831 + }, + { + "content": "

KDE 6 is merged into master!

\n

February 28, 2024 at 11:50AM

\n

https://old.reddit.com/r/NixOS/comments/1b2fi0b/kde_6_is_merged_into_master/

", + "id": 423919960, + "sender_full_name": "IFTTT", + "timestamp": 1709162032 + }, + { + "content": "

lovin nixos

\n

February 28, 2024 at 11:20AM

\n

https://old.reddit.com/r/NixOS/comments/1b2epz3/lovin_nixos/

", + "id": 424054010, + "sender_full_name": "IFTTT", + "timestamp": 1709222950 + }, + { + "content": "

Good, clear explanation of flakes for normie desktop users like me

\n

February 29, 2024 at 11:21AM

\n

https://old.reddit.com/r/NixOS/comments/1b38ret/good_clear_explanation_of_flakes_for_normie/

", + "id": 424139765, + "sender_full_name": "IFTTT", + "timestamp": 1709255884 + }, + { + "content": "

Today I learned of the glory that is NixOS.

\n

February 29, 2024 at 11:15PM

\n

https://old.reddit.com/r/NixOS/comments/1b3oawg/today_i_learned_of_the_glory_that_is_nixos/

", + "id": 424222353, + "sender_full_name": "IFTTT", + "timestamp": 1709295209 + }, + { + "content": "

I'd love NixOS but I'm scared about one thing.

\n

March 01, 2024 at 10:17AM

\n

https://old.reddit.com/r/NixOS/comments/1b41a37/id_love_nixos_but_im_scared_about_one_thing/

", + "id": 424346457, + "sender_full_name": "IFTTT", + "timestamp": 1709338424 + }, + { + "content": "

I just realized... :sweat_smile:

\n

March 02, 2024 at 08:43PM

\n

https://old.reddit.com/r/NixOS/comments/1b58kqc/i_just_realized/

", + "id": 424507959, + "sender_full_name": "IFTTT", + "timestamp": 1709471637 + }, + { + "content": "

back to square one

\n

March 03, 2024 at 08:50AM

\n

https://old.reddit.com/r/NixOS/comments/1b5lp6v/back_to_square_one/

", + "id": 424535424, + "sender_full_name": "IFTTT", + "timestamp": 1709492950 + }, + { + "content": "

Nix community is amazing!

\n

March 03, 2024 at 08:50PM

\n

https://old.reddit.com/r/NixOS/comments/1b62b0j/nix_community_is_amazing/

", + "id": 424608439, + "sender_full_name": "IFTTT", + "timestamp": 1709543634 + }, + { + "content": "

Nixarr: The Media Server Nixos Module

\n

March 04, 2024 at 12:49AM

\n

https://old.reddit.com/r/NixOS/comments/1b668aw/nixarr_the_media_server_nixos_module/

", + "id": 424726915, + "sender_full_name": "IFTTT", + "timestamp": 1709579616 + }, + { + "content": "

I've tried NixOS 3 times now, and I honestly feel like I should just admit defeat and head back home to Arch

\n

March 04, 2024 at 07:38AM

\n

https://old.reddit.com/r/NixOS/comments/1b6dwux/ive_tried_nixos_3_times_now_and_i_honestly_feel/

", + "id": 424739166, + "sender_full_name": "IFTTT", + "timestamp": 1709583231 + }, + { + "content": "

Realised sudo nix-collect-garbage doesn't get everything

\n

March 05, 2024 at 12:27AM

\n

https://old.reddit.com/r/NixOS/comments/1b70daq/realised_sudo_nixcollectgarbage_doesnt_get/

", + "id": 425027580, + "sender_full_name": "IFTTT", + "timestamp": 1709712788 + }, + { + "content": "

nh - Yet another nix cli helper

\n

March 04, 2024 at 05:08PM

\n

https://old.reddit.com/r/NixOS/comments/1b6s4in/nh_yet_another_nix_cli_helper/

", + "id": 425071963, + "sender_full_name": "IFTTT", + "timestamp": 1709727188 + }, + { + "content": "

Is NixOS Good for Intermediate Linux users?

\n

March 02, 2024 at 08:26PM

\n

https://old.reddit.com/r/NixOS/comments/1b589jf/is_nixos_good_for_intermediate_linux_users/

", + "id": 425170161, + "sender_full_name": "IFTTT", + "timestamp": 1709756040 + }, + { + "content": "

The Joys of NixOS

\n

March 06, 2024 at 04:25AM

\n

https://old.reddit.com/r/NixOS/comments/1b7yf3l/the_joys_of_nixos/

", + "id": 425208558, + "sender_full_name": "IFTTT", + "timestamp": 1709774324 + }, + { + "content": "

NixOS feasibility in enterprise

\n

March 04, 2024 at 01:56PM

\n

https://old.reddit.com/r/NixOS/comments/1b6nftb/nixos_feasibility_in_enterprise/

", + "id": 425467931, + "sender_full_name": "IFTTT", + "timestamp": 1709885635 + }, + { + "content": "

Why is the Nix documentation so bad?

\n

March 08, 2024 at 01:02AM

\n

https://old.reddit.com/r/NixOS/comments/1b9jrzt/why_is_the_nix_documentation_so_bad/

", + "id": 425505756, + "sender_full_name": "IFTTT", + "timestamp": 1709899792 + }, + { + "content": "

Replacing docker-compose with Nix for development

\n

March 06, 2024 at 11:20AM

\n

https://old.reddit.com/r/NixOS/comments/1b88ix7/replacing_dockercompose_with_nix_for_development/

", + "id": 425577055, + "sender_full_name": "IFTTT", + "timestamp": 1709925205 + }, + { + "content": "

Rust programmers: How do you get pkg-config to work?

\n

March 07, 2024 at 12:37AM

\n

https://old.reddit.com/r/NixOS/comments/1b8pqoq/rust_programmers_how_do_you_get_pkgconfig_to_work/

", + "id": 425658888, + "sender_full_name": "IFTTT", + "timestamp": 1709968156 + }, + { + "content": "

NixOS is an amazing server OS

\n

March 08, 2024 at 11:04PM

\n

https://old.reddit.com/r/NixOS/comments/1babsps/nixos_is_an_amazing_server_os/

", + "id": 425678035, + "sender_full_name": "IFTTT", + "timestamp": 1709982807 + }, + { + "content": "

NixOS and devops?

\n

March 09, 2024 at 12:04AM

\n

https://old.reddit.com/r/NixOS/comments/1bacom7/nixos_and_devops/

", + "id": 425792908, + "sender_full_name": "IFTTT", + "timestamp": 1710094424 + }, + { + "content": "

A homelab dashboard for NixOS

\n

March 05, 2024 at 01:52PM

\n

https://old.reddit.com/r/NixOS/comments/1b7hrwe/a_homelab_dashboard_for_nixos/

", + "id": 425944224, + "sender_full_name": "IFTTT", + "timestamp": 1710173353 + }, + { + "content": "

Quick Check... is this possible? before I get too deep in research

\n

March 09, 2024 at 05:42PM

\n

https://old.reddit.com/r/NixOS/comments/1baye9q/quick_check_is_this_possible_before_i_get_too/

", + "id": 426025805, + "sender_full_name": "IFTTT", + "timestamp": 1710198826 + }, + { + "content": "

is it a bad practice to use normal configs instead of nix files?

\n

March 09, 2024 at 03:10AM

\n

https://old.reddit.com/r/NixOS/comments/1bafe9e/is_it_a_bad_practice_to_use_normal_configs/

", + "id": 426041629, + "sender_full_name": "IFTTT", + "timestamp": 1710209635 + }, + { + "content": "

Is it safe to replace the \"/etc/nixos\" folder with a sym link? (And will this sym link be preserved when I use \"sudo nixos-rebuild switch\"?

\n

March 06, 2024 at 04:56PM

\n

https://old.reddit.com/r/NixOS/comments/1b8gult/is_it_safe_to_replace_the_etcnixos_folder_with_a/

", + "id": 426082361, + "sender_full_name": "IFTTT", + "timestamp": 1710234837 + }, + { + "content": "

Main use of NixOS as an operating system

\n

March 11, 2024 at 07:28AM

\n

https://old.reddit.com/r/NixOS/comments/1bc4hgo/main_use_of_nixos_as_an_operating_system/

", + "id": 426122115, + "sender_full_name": "IFTTT", + "timestamp": 1710249233 + }, + { + "content": "

NixOS vs Immutable + Nix

\n

March 10, 2024 at 12:42AM

\n

https://old.reddit.com/r/NixOS/comments/1bb5o8y/nixos_vs_immutable_nix/

", + "id": 426336941, + "sender_full_name": "IFTTT", + "timestamp": 1710335604 + }, + { + "content": "

SCaLE and NixCon North America kick off Thursday in Pasadena, CA - March 14-17, 2024

\n

March 09, 2024 at 12:21PM

\n

https://old.reddit.com/r/NixOS/comments/1bar5pu/scale_and_nixcon_north_america_kick_off_thursday/

", + "id": 426418996, + "sender_full_name": "IFTTT", + "timestamp": 1710360798 + }, + { + "content": "

Share your Nixos/ Neovim Gotchas

\n

March 12, 2024 at 07:35PM

\n

https://old.reddit.com/r/NixOS/comments/1bdgc3j/share_your_nixos_neovim_gotchas/

", + "id": 426441995, + "sender_full_name": "IFTTT", + "timestamp": 1710371634 + }, + { + "content": "

Am I adding modularity the right way?

\n

March 07, 2024 at 11:19AM

\n

https://old.reddit.com/r/NixOS/comments/1b92uwo/am_i_adding_modularity_the_right_way/

", + "id": 426496749, + "sender_full_name": "IFTTT", + "timestamp": 1710407350 + }, + { + "content": "

Selectively Using Service Modules from NixOS Unstable

\n

March 13, 2024 at 10:36AM

\n

https://old.reddit.com/r/NixOS/comments/1bdxhrf/selectively_using_service_modules_from_nixos/

", + "id": 426508442, + "sender_full_name": "IFTTT", + "timestamp": 1710411248 + }, + { + "content": "

Open Letter | NixOS Users Against MIC Sponsorship

\n

March 14, 2024 at 12:35AM

\n

https://old.reddit.com/r/NixOS/comments/1befnhr/open_letter_nixos_users_against_mic_sponsorship/

", + "id": 426528288, + "sender_full_name": "IFTTT", + "timestamp": 1710418440 + }, + { + "content": "

Advice from advanced Nix users

\n

March 13, 2024 at 08:19AM

\n

https://old.reddit.com/r/NixOS/comments/1bdu27e/advice_from_advanced_nix_users/

", + "id": 426589706, + "sender_full_name": "IFTTT", + "timestamp": 1710436416 + }, + { + "content": "

Nixos for gaming (bare with me)

\n

March 13, 2024 at 11:45AM

\n

https://old.reddit.com/r/NixOS/comments/1bdz9lj/nixos_for_gaming_bare_with_me/

", + "id": 426600784, + "sender_full_name": "IFTTT", + "timestamp": 1710439989 + }, + { + "content": "

meme - NixOS Infection

\n

March 15, 2024 at 05:00AM

\n

https://old.reddit.com/r/NixOS/comments/1bfc9tm/meme_nixos_infection/

", + "id": 426740314, + "sender_full_name": "IFTTT", + "timestamp": 1710508170 + }, + { + "content": "

How are you managing nixos hosts in production across fleets for services?

\n

March 14, 2024 at 06:19PM

\n

https://old.reddit.com/r/NixOS/comments/1bf1vrm/how_are_you_managing_nixos_hosts_in_production/

", + "id": 426751967, + "sender_full_name": "IFTTT", + "timestamp": 1710512006 + }, + { + "content": "

NixOS gaming vs other distros?

\n

March 15, 2024 at 01:45AM

\n

https://old.reddit.com/r/NixOS/comments/1bf9c0z/nixos_gaming_vs_other_distros/

", + "id": 426830357, + "sender_full_name": "IFTTT", + "timestamp": 1710540828 + }, + { + "content": "

Introducing FlakeHub Cache

\n

March 15, 2024 at 11:18AM

\n

https://old.reddit.com/r/NixOS/comments/1bfklkx/introducing_flakehub_cache/

", + "id": 426882618, + "sender_full_name": "IFTTT", + "timestamp": 1710587332 + }, + { + "content": "

How do you guys justify the novelty on daily personal machines (non servers)

\n

March 15, 2024 at 06:17PM

\n

https://old.reddit.com/r/NixOS/comments/1bfu543/how_do_you_guys_justify_the_novelty_on_daily/

", + "id": 426947358, + "sender_full_name": "IFTTT", + "timestamp": 1710634386 + }, + { + "content": "

NixOS on Orange Pi 5 (Plus) with socle: new features and documentation

\n

March 16, 2024 at 05:02PM

\n

https://old.reddit.com/r/NixOS/comments/1bgjx2p/nixos_on_orange_pi_5_plus_with_socle_new_features/

", + "id": 427062781, + "sender_full_name": "IFTTT", + "timestamp": 1710666824 + }, + { + "content": "

Starting NixOS

\n

March 16, 2024 at 06:48PM

\n

https://old.reddit.com/r/NixOS/comments/1bgm2br/starting_nixos/

", + "id": 427364723, + "sender_full_name": "IFTTT", + "timestamp": 1710746025 + }, + { + "content": "

how_to_start_nix

\n

March 17, 2024 at 05:41AM

\n

https://old.reddit.com/r/NixOS/comments/1bgwlv6/how_to_start_nix/

", + "id": 427418580, + "sender_full_name": "IFTTT", + "timestamp": 1710756692 + }, + { + "content": "

How to Patch A Package Source on NixOS: Case Study - Alejandra4

\n

March 16, 2024 at 02:31AM

\n

https://old.reddit.com/r/NixOS/comments/1bg29z4/how_to_patch_a_package_source_on_nixos_case_study/

", + "id": 427591955, + "sender_full_name": "IFTTT", + "timestamp": 1710803607 + }, + { + "content": "

devenv 1.0: Rewrite in Rust

\n

March 20, 2024 at 06:41AM

\n

https://old.reddit.com/r/NixOS/comments/1bjdpjp/devenv_10_rewrite_in_rust/

", + "id": 427965999, + "sender_full_name": "IFTTT", + "timestamp": 1710951229 + }, + { + "content": "

bazel running in nix running in guix

\n

March 16, 2024 at 09:51AM

\n

https://old.reddit.com/r/NixOS/comments/1bgagzl/bazel_running_in_nix_running_in_guix/

", + "id": 428249665, + "sender_full_name": "IFTTT", + "timestamp": 1711073954 + }, + { + "content": "

Is home manager the only good way of setting your themes?

\n

March 18, 2024 at 03:33PM

\n

https://old.reddit.com/r/NixOS/comments/1bi45uw/is_home_manager_the_only_good_way_of_setting_your/

", + "id": 428287384, + "sender_full_name": "IFTTT", + "timestamp": 1711098548 + }, + { + "content": "

Using NixOS for my homelab

\n

March 21, 2024 at 11:58PM

\n

https://old.reddit.com/r/NixOS/comments/1bkt4rw/using_nixos_for_my_homelab/

", + "id": 428298465, + "sender_full_name": "IFTTT", + "timestamp": 1711102410 + }, + { + "content": "

Is anyone else having trouble building waybar on the unstable channel?

\n

March 20, 2024 at 03:32PM

\n

https://old.reddit.com/r/NixOS/comments/1bjqjr5/is_anyone_else_having_trouble_building_waybar_on/

", + "id": 428394670, + "sender_full_name": "IFTTT", + "timestamp": 1711134835 + }, + { + "content": "

Should we add nix flakes to the godot main repo?

\n

March 19, 2024 at 02:37PM

\n

https://old.reddit.com/r/NixOS/comments/1biw3iy/should_we_add_nix_flakes_to_the_godot_main_repo/

", + "id": 428434360, + "sender_full_name": "IFTTT", + "timestamp": 1711160034 + }, + { + "content": "

nix-config-modules: Module system to simplify Nix configs for joint NixOS/home-manager setups

\n

March 22, 2024 at 09:24AM

\n

https://old.reddit.com/r/NixOS/comments/1bl3b5f/nixconfigmodules_module_system_to_simplify_nix/

", + "id": 429067981, + "sender_full_name": "IFTTT", + "timestamp": 1711188536 + }, + { + "content": "

Is unstable... unstable?

\n

March 23, 2024 at 04:01AM

\n

https://old.reddit.com/r/NixOS/comments/1blpk58/is_unstable_unstable/

", + "id": 429093333, + "sender_full_name": "IFTTT", + "timestamp": 1711210408 + }, + { + "content": "

Advanced NixOS Flake Setup Example

\n

March 20, 2024 at 03:05PM

\n

https://old.reddit.com/r/NixOS/comments/1bjpwc5/advanced_nixos_flake_setup_example/

", + "id": 429129509, + "sender_full_name": "IFTTT", + "timestamp": 1711239231 + }, + { + "content": "

How do you structure your modules and Imports

\n

March 21, 2024 at 04:13AM

\n

https://old.reddit.com/r/NixOS/comments/1bk430s/how_do_you_structure_your_modules_and_imports/

", + "id": 429138890, + "sender_full_name": "IFTTT", + "timestamp": 1711246420 + }, + { + "content": "

I run NixOS btw

\n

March 24, 2024 at 04:12AM

\n

https://old.reddit.com/r/NixOS/comments/1bmibb7/i_run_nixos_btw/

", + "id": 429193350, + "sender_full_name": "IFTTT", + "timestamp": 1711282430 + }, + { + "content": "

NixOS Search - Sort by Popularity?

\n

March 23, 2024 at 09:44PM

\n

https://old.reddit.com/r/NixOS/comments/1bmcjc0/nixos_search_sort_by_popularity/

", + "id": 429200578, + "sender_full_name": "IFTTT", + "timestamp": 1711285754 + }, + { + "content": "

Why are flakes not stable yet

\n

March 24, 2024 at 09:46AM

\n

https://old.reddit.com/r/NixOS/comments/1bmp7os/why_are_flakes_not_stable_yet/

", + "id": 429238162, + "sender_full_name": "IFTTT", + "timestamp": 1711307604 + }, + { + "content": "

What do you put in configuration.nix and what in home-manager?

\n

March 24, 2024 at 12:46PM

\n

https://old.reddit.com/r/NixOS/comments/1bmtjjs/what_do_you_put_in_configurationnix_and_what_in/

", + "id": 429416589, + "sender_full_name": "IFTTT", + "timestamp": 1711375745 + }, + { + "content": "

NixOS-based container and VM provisioning

\n

March 24, 2024 at 08:04AM

\n

https://old.reddit.com/r/NixOS/comments/1bmmuzz/nixosbased_container_and_vm_provisioning/

", + "id": 429452105, + "sender_full_name": "IFTTT", + "timestamp": 1711382944 + }, + { + "content": "

How I finally installed NixOS

\n

March 24, 2024 at 12:51PM

\n

https://old.reddit.com/r/NixOS/comments/1bmtoae/how_i_finally_installed_nixos/

", + "id": 429611129, + "sender_full_name": "IFTTT", + "timestamp": 1711444436 + }, + { + "content": "

How do I pick between devenv, devshell, devbox and flox?

\n

March 26, 2024 at 03:16AM

\n

https://old.reddit.com/r/NixOS/comments/1bo4d3v/how_do_i_pick_between_devenv_devshell_devbox_and/

", + "id": 429713863, + "sender_full_name": "IFTTT", + "timestamp": 1711477108 + }, + { + "content": "

Tailscale and systemd on NixOS

\n

March 27, 2024 at 01:56AM

\n

https://old.reddit.com/r/NixOS/comments/1box9ij/tailscale_and_systemd_on_nixos/

", + "id": 429897890, + "sender_full_name": "IFTTT", + "timestamp": 1711556047 + }, + { + "content": "

That one thing you wish you’d have come across sooner?

\n

March 27, 2024 at 07:43AM

\n

https://old.reddit.com/r/NixOS/comments/1bp3lh6/that_one_thing_you_wish_youd_have_come_across/

", + "id": 429950426, + "sender_full_name": "IFTTT", + "timestamp": 1711574021 + }, + { + "content": "

How much of a pain is configuring programs?

\n

March 27, 2024 at 04:26PM

\n

https://old.reddit.com/r/NixOS/comments/1bpggn3/how_much_of_a_pain_is_configuring_programs/

", + "id": 430090814, + "sender_full_name": "IFTTT", + "timestamp": 1711638854 + }, + { + "content": "

Beginner's guide to sunshine game/desktop streaming on NixOS

\n

March 28, 2024 at 11:09AM

\n

https://old.reddit.com/r/NixOS/comments/1bq2bx4/beginners_guide_to_sunshine_gamedesktop_streaming/

", + "id": 430190739, + "sender_full_name": "IFTTT", + "timestamp": 1711678420 + }, + { + "content": "

Best beginner guide?

\n

March 28, 2024 at 10:32AM

\n

https://old.reddit.com/r/NixOS/comments/1bq1e2z/best_beginner_guide/

", + "id": 430288159, + "sender_full_name": "IFTTT", + "timestamp": 1711732402 + }, + { + "content": "

Do you use btrfs?

\n

March 29, 2024 at 03:45AM

\n

https://old.reddit.com/r/NixOS/comments/1bqm7hv/do_you_use_btrfs/

", + "id": 430306040, + "sender_full_name": "IFTTT", + "timestamp": 1711739911 + }, + { + "content": "

Xpost for Unstable Users: \"Backdoor in upstream xz/liblzma leading to SSH server compromise\" (supposedly primarily relevant for OpenSSH w/ systemd patches) [CVE-2024-3094]

\n

March 29, 2024 at 02:14PM

\n

https://old.reddit.com/r/NixOS/comments/1bqzjn6/xpost_for_unstable_users_backdoor_in_upstream/

", + "id": 430351000, + "sender_full_name": "IFTTT", + "timestamp": 1711768396 + }, + { + "content": "

New to Nix and went in pretty blind, I love that i can run Pantheon! But don't love that I'm having a bit of a time getting Nvidia drivers working, any help would be greatly appreciated!

\n

March 30, 2024 at 01:38PM

\n

https://old.reddit.com/r/NixOS/comments/1brrp6w/new_to_nix_and_went_in_pretty_blind_i_love_that_i/

", + "id": 430492498, + "sender_full_name": "IFTTT", + "timestamp": 1711905216 + }, + { + "content": "

How can I deploy/create the entire system with a single command?

\n

March 31, 2024 at 02:17AM

\n

https://old.reddit.com/r/NixOS/comments/1bs686e/how_can_i_deploycreate_the_entire_system_with_a/

", + "id": 430503845, + "sender_full_name": "IFTTT", + "timestamp": 1711915732 + }, + { + "content": "

The official NixOS wiki is live(not an april fools joke)

\n

April 01, 2024 at 06:25PM

\n

https://old.reddit.com/r/NixOS/comments/1btm2pw/the_official_nixos_wiki_is_livenot_an_april_fools/

", + "id": 430702252, + "sender_full_name": "IFTTT", + "timestamp": 1712027627 + }, + { + "content": "

NixOS - Is it an good Daily Use Distro for Software Developers?

\n

April 01, 2024 at 04:41PM

\n

https://old.reddit.com/r/NixOS/comments/1btjoys/nixos_is_it_an_good_daily_use_distro_for_software/

", + "id": 430765764, + "sender_full_name": "IFTTT", + "timestamp": 1712056414 + }, + { + "content": "

NixOS unaffected by TZ vulnerability CVE-2024-3094

\n

April 02, 2024 at 12:28AM

\n

https://old.reddit.com/r/NixOS/comments/1btsomk/nixos_unaffected_by_tz_vulnerability_cve20243094/

", + "id": 430777710, + "sender_full_name": "IFTTT", + "timestamp": 1712060339 + }, + { + "content": "

Bootstrappable?

\n

April 02, 2024 at 10:48AM

\n

https://old.reddit.com/r/NixOS/comments/1bu52m1/bootstrappable/

", + "id": 430874764, + "sender_full_name": "IFTTT", + "timestamp": 1712092425 + }, + { + "content": "

How the xz backdoor highlights a major flaw in Nix

\n

April 02, 2024 at 08:28PM

\n

https://old.reddit.com/r/NixOS/comments/1buikof/how_the_xz_backdoor_highlights_a_major_flaw_in_nix/

", + "id": 430956242, + "sender_full_name": "IFTTT", + "timestamp": 1712135637 + }, + { + "content": "

Sometimes i love nixos other times im losing my sanity on it

\n

April 03, 2024 at 05:27AM

\n

https://old.reddit.com/r/NixOS/comments/1burc2a/sometimes_i_love_nixos_other_times_im_losing_my/

", + "id": 431167544, + "sender_full_name": "IFTTT", + "timestamp": 1712174942 + }, + { + "content": "

NixOS Foundation PR to add sponsorship policy

\n

April 03, 2024 at 01:46PM

\n

https://old.reddit.com/r/NixOS/comments/1bv3s3s/nixos_foundation_pr_to_add_sponsorship_policy/

", + "id": 431215114, + "sender_full_name": "IFTTT", + "timestamp": 1712200136 + }, + { + "content": "

Recently it seems like everyone is switching to NixOS?

\n

April 04, 2024 at 09:53AM

\n

https://old.reddit.com/r/NixOS/comments/1bvs93a/recently_it_seems_like_everyone_is_switching_to/

", + "id": 431403269, + "sender_full_name": "IFTTT", + "timestamp": 1712265228 + }, + { + "content": "

Is nixos a good fit if you install a bunch of random software.

\n

April 04, 2024 at 01:49PM

\n

https://old.reddit.com/r/NixOS/comments/1bvyfl5/is_nixos_a_good_fit_if_you_install_a_bunch_of/

", + "id": 431502107, + "sender_full_name": "IFTTT", + "timestamp": 1712315905 + }, + { + "content": "

How steep is the learning curve for NixOS for a newbie?

\n

April 05, 2024 at 06:41AM

\n

https://old.reddit.com/r/NixOS/comments/1bwic77/how_steep_is_the_learning_curve_for_nixos_for_a/

", + "id": 431664397, + "sender_full_name": "IFTTT", + "timestamp": 1712402023 + }, + { + "content": "

Selfhosting on NixOS, should i use built in services, or docker?

\n

April 06, 2024 at 04:16AM

\n

https://old.reddit.com/r/NixOS/comments/1bx938c/selfhosting_on_nixos_should_i_use_built_in/

", + "id": 431693605, + "sender_full_name": "IFTTT", + "timestamp": 1712427208 + }, + { + "content": "

Introducing Flake-Containers: A simple PoC

\n

April 06, 2024 at 02:48PM

\n

https://old.reddit.com/r/NixOS/comments/1bxn8l7/introducing_flakecontainers_a_simple_poc/

", + "id": 431729479, + "sender_full_name": "IFTTT", + "timestamp": 1712463222 + }, + { + "content": "

Nix is incredible

\n

April 06, 2024 at 08:23PM

\n

https://old.reddit.com/r/NixOS/comments/1bxucst/nix_is_incredible/

", + "id": 431743422, + "sender_full_name": "IFTTT", + "timestamp": 1712477625 + }, + { + "content": "

catppuccin-nix: the soothing pastel theme, but for nix!

\n

April 07, 2024 at 02:14PM

\n

https://old.reddit.com/r/NixOS/comments/1byfm71/catppuccinnix_the_soothing_pastel_theme_but_for/

", + "id": 431866280, + "sender_full_name": "IFTTT", + "timestamp": 1712556834 + }, + { + "content": "

Finished my first config in VM and transferred to hardware. NixOS is awesome and I'm only getting started. Ain't coming back to other distros ever again!

\n

April 08, 2024 at 08:10AM

\n

https://old.reddit.com/r/NixOS/comments/1bz0bqc/finished_my_first_config_in_vm_and_transferred_to/

", + "id": 432049747, + "sender_full_name": "IFTTT", + "timestamp": 1712603622 + }, + { + "content": "

Chaos Computer Club : Fully declarative Homelab on NixOS :snowflake: (glt24)

\n

April 08, 2024 at 12:28AM

\n

https://old.reddit.com/r/NixOS/comments/1byrugu/chaos_computer_club_fully_declarative_homelab_on/

", + "id": 432399267, + "sender_full_name": "IFTTT", + "timestamp": 1712722424 + }, + { + "content": "

NixOS alternatives

\n

April 09, 2024 at 08:40AM

\n

https://old.reddit.com/r/NixOS/comments/1bzvaof/nixos_alternatives/

", + "id": 432538836, + "sender_full_name": "IFTTT", + "timestamp": 1712765355 + }, + { + "content": "

introducing nix-inspect: a TUI for browsing nix configs and other expressions!

\n

April 11, 2024 at 04:36AM

\n

https://old.reddit.com/r/NixOS/comments/1c1cty8/introducing_nixinspect_a_tui_for_browsing_nix/

", + "id": 432703358, + "sender_full_name": "IFTTT", + "timestamp": 1712841238 + }, + { + "content": "

is this normal?

\n

April 08, 2024 at 03:23PM

\n

https://old.reddit.com/r/NixOS/comments/1bzbg3i/is_this_normal/

", + "id": 432788404, + "sender_full_name": "IFTTT", + "timestamp": 1712870004 + }, + { + "content": "

Loving Nix OS

\n

April 11, 2024 at 05:50PM

\n

https://old.reddit.com/r/NixOS/comments/1c1vq7t/loving_nix_os/

", + "id": 432821949, + "sender_full_name": "IFTTT", + "timestamp": 1712891614 + }, + { + "content": "

devenv.sh has been revamped :sparkles:

\n

April 12, 2024 at 03:04AM

\n

https://old.reddit.com/r/NixOS/comments/1c25d6p/devenvsh_has_been_revamped/

", + "id": 432957706, + "sender_full_name": "IFTTT", + "timestamp": 1712945646 + }, + { + "content": "

nixos-rebuild switch and home-manager switch building a crazy amount of packages

\n

April 09, 2024 at 11:32PM

\n

https://old.reddit.com/r/NixOS/comments/1c0ezdr/nixosrebuild_switch_and_homemanager_switch/

", + "id": 433082554, + "sender_full_name": "IFTTT", + "timestamp": 1713046432 + }, + { + "content": "

Do you recommend me NixOS, what problems may I find?

\n

April 07, 2024 at 02:31AM

\n

https://old.reddit.com/r/NixOS/comments/1by0ee3/do_you_recommend_me_nixos_what_problems_may_i_find/

", + "id": 433101550, + "sender_full_name": "IFTTT", + "timestamp": 1713068033 + }, + { + "content": "

Installation on a Framework 16

\n

April 08, 2024 at 07:58PM

\n

https://old.reddit.com/r/NixOS/comments/1bzhm13/installation_on_a_framework_16/

", + "id": 433122838, + "sender_full_name": "IFTTT", + "timestamp": 1713089913 + }, + { + "content": "

How well do you think NixOS correlates with infrastructure as code?

\n

April 12, 2024 at 02:34PM

\n

https://old.reddit.com/r/NixOS/comments/1c2kyo2/how_well_do_you_think_nixos_correlates_with/

", + "id": 433153922, + "sender_full_name": "IFTTT", + "timestamp": 1713118390 + }, + { + "content": "

Home Manager vs. copied dot files?

\n

April 14, 2024 at 06:22AM

\n

https://old.reddit.com/r/NixOS/comments/1c3tgs2/home_manager_vs_copied_dot_files/

", + "id": 433165490, + "sender_full_name": "IFTTT", + "timestamp": 1713129226 + }, + { + "content": "

Getting ready to give up on NixOS

\n

April 15, 2024 at 12:31AM

\n

https://old.reddit.com/r/NixOS/comments/1c4g9n4/getting_ready_to_give_up_on_nixos/

", + "id": 433249685, + "sender_full_name": "IFTTT", + "timestamp": 1713175750 + }, + { + "content": "

Homelab refactor after NixOS discovery. Bad idea?

\n

April 14, 2024 at 03:40PM

\n

https://old.reddit.com/r/NixOS/comments/1c46ghj/homelab_refactor_after_nixos_discovery_bad_idea/

", + "id": 433404420, + "sender_full_name": "IFTTT", + "timestamp": 1713222542 + }, + { + "content": "

Declarative dotfiles without home-manager?

\n

April 14, 2024 at 02:07PM

\n

https://old.reddit.com/r/NixOS/comments/1c44b0x/declarative_dotfiles_without_homemanager/

", + "id": 433431892, + "sender_full_name": "IFTTT", + "timestamp": 1713237208 + }, + { + "content": "

[poll] Nixpkgs Contributors: how difficult do you feel it is to merge a PR? - Development

\n

April 11, 2024 at 04:25AM

\n

https://old.reddit.com/r/NixOS/comments/1c1cmn2/poll_nixpkgs_contributors_how_difficult_do_you/

", + "id": 433558878, + "sender_full_name": "IFTTT", + "timestamp": 1713283739 + }, + { + "content": "

I deleted my boot partition while in the middle of a Twitch stream

\n

April 16, 2024 at 12:44PM

\n

https://old.reddit.com/r/NixOS/comments/1c5pc0y/i_deleted_my_boot_partition_while_in_the_middle/

", + "id": 433621724, + "sender_full_name": "IFTTT", + "timestamp": 1713308952 + }, + { + "content": "

Git commit --to--> nixos-rebuild

\n

April 16, 2024 at 05:36PM

\n

https://old.reddit.com/r/NixOS/comments/1c5w9dh/git_commit_to_nixosrebuild/

", + "id": 433825663, + "sender_full_name": "IFTTT", + "timestamp": 1713370157 + }, + { + "content": "

How to use both stable and unstable nixpkgs in a flake?

\n

April 17, 2024 at 02:44PM

\n

https://old.reddit.com/r/NixOS/comments/1c6m5j4/how_to_use_both_stable_and_unstable_nixpkgs_in_a/

", + "id": 433968341, + "sender_full_name": "IFTTT", + "timestamp": 1713424152 + }, + { + "content": "

Best way to manage Python venv?

\n

April 16, 2024 at 02:23PM

\n

https://old.reddit.com/r/NixOS/comments/1c5rrxl/best_way_to_manage_python_venv/

", + "id": 434262859, + "sender_full_name": "IFTTT", + "timestamp": 1713488933 + }, + { + "content": "

Gaming on nixos

\n

April 18, 2024 at 12:54PM

\n

https://old.reddit.com/r/NixOS/comments/1c7csct/gaming_on_nixos/

", + "id": 434299279, + "sender_full_name": "IFTTT", + "timestamp": 1713510540 + }, + { + "content": "

Best way of implementing NixOS config updates for normies?

\n

April 18, 2024 at 05:33PM

\n

https://old.reddit.com/r/NixOS/comments/1c7jg5t/best_way_of_implementing_nixos_config_updates_for/

", + "id": 434443256, + "sender_full_name": "IFTTT", + "timestamp": 1713564836 + }, + { + "content": "

Can I remove ~/.nix-defexpr and ~/nix-profile?

\n

April 18, 2024 at 08:25AM

\n

https://old.reddit.com/r/NixOS/comments/1c763xn/can_i_remove_nixdefexpr_and_nixprofile/

", + "id": 434471080, + "sender_full_name": "IFTTT", + "timestamp": 1713590008 + }, + { + "content": "

NixOS Configs!

\n

April 20, 2024 at 12:14AM

\n

https://old.reddit.com/r/NixOS/comments/1c8jvdl/nixos_configs/

", + "id": 434492138, + "sender_full_name": "IFTTT", + "timestamp": 1713611619 + }, + { + "content": "

Error while install qtile-extras

\n

April 20, 2024 at 08:49AM

\n

https://old.reddit.com/r/NixOS/comments/1c8t5xd/error_while_install_qtileextras/

", + "id": 434591434, + "sender_full_name": "IFTTT", + "timestamp": 1713708536 + }, + { + "content": "

open letter to the NixOS foundation

\n

April 21, 2024 at 02:42PM

\n

https://old.reddit.com/r/NixOS/comments/1c9tlw3/open_letter_to_the_nixos_foundation/

", + "id": 434626128, + "sender_full_name": "IFTTT", + "timestamp": 1713740941 + }, + { + "content": "

The declarative configuration of NixOS appears perfect for help from generative AI

\n

April 21, 2024 at 02:48AM

\n

https://old.reddit.com/r/NixOS/comments/1c9e2kk/the_declarative_configuration_of_nixos_appears/

", + "id": 434633262, + "sender_full_name": "IFTTT", + "timestamp": 1713748437 + }, + { + "content": "

Compiled half a system for no reason (Gentoo experience)

\n

April 21, 2024 at 05:31PM

\n

https://old.reddit.com/r/NixOS/comments/1c9xbz2/compiled_half_a_system_for_no_reason_gentoo/

", + "id": 434659825, + "sender_full_name": "IFTTT", + "timestamp": 1713766417 + }, + { + "content": "

How to actually do the thing NixOS was intended for?

\n

April 21, 2024 at 10:13PM

\n

https://old.reddit.com/r/NixOS/comments/1ca2kpx/how_to_actually_do_the_thing_nixos_was_intended/

", + "id": 434746095, + "sender_full_name": "IFTTT", + "timestamp": 1713791635 + }, + { + "content": "

Nixos for android

\n

April 22, 2024 at 03:43PM

\n

https://old.reddit.com/r/NixOS/comments/1caohq7/nixos_for_android/

", + "id": 435060561, + "sender_full_name": "IFTTT", + "timestamp": 1713902946 + }, + { + "content": "

NixOS as a learning tool

\n

April 23, 2024 at 05:11PM

\n

https://old.reddit.com/r/NixOS/comments/1cbkces/nixos_as_a_learning_tool/

", + "id": 435106456, + "sender_full_name": "IFTTT", + "timestamp": 1713931993 + }, + { + "content": "

nixpkgs: Anticipating breaking changes as they arrive on stable.

\n

April 24, 2024 at 07:55AM

\n

https://old.reddit.com/r/NixOS/comments/1cc0a4a/nixpkgs_anticipating_breaking_changes_as_they/

", + "id": 435255836, + "sender_full_name": "IFTTT", + "timestamp": 1713985767 + }, + { + "content": "

Looking for guidance on how to keep NixOS as my daily driver for work.

\n

April 23, 2024 at 08:02PM

\n

https://old.reddit.com/r/NixOS/comments/1cbnud1/looking_for_guidance_on_how_to_keep_nixos_as_my/

", + "id": 435286742, + "sender_full_name": "IFTTT", + "timestamp": 1714000390 + }, + { + "content": "

How do you test and debug your nix code?

\n

April 24, 2024 at 12:03PM

\n

https://old.reddit.com/r/NixOS/comments/1cc6kkt/how_do_you_test_and_debug_your_nix_code/

", + "id": 435286743, + "sender_full_name": "IFTTT", + "timestamp": 1714000391 + }, + { + "content": "

What is the best method to install packages if I only intend to have a single user on my system?

\n

April 24, 2024 at 03:19PM

\n

https://old.reddit.com/r/NixOS/comments/1ccbf7a/what_is_the_best_method_to_install_packages_if_i/

", + "id": 435319489, + "sender_full_name": "IFTTT", + "timestamp": 1714025908 + }, + { + "content": "

In case I'm unable to return, wish you all the best

\n

April 25, 2024 at 03:57PM

\n

https://old.reddit.com/r/NixOS/comments/1cd5fod/in_case_im_unable_to_return_wish_you_all_the_best/

", + "id": 435485876, + "sender_full_name": "IFTTT", + "timestamp": 1714090431 + }, + { + "content": "

The dire state of NixOS's moderation culture

\n

April 25, 2024 at 07:25PM

\n

https://old.reddit.com/r/NixOS/comments/1cda1h4/the_dire_state_of_nixoss_moderation_culture/

", + "id": 435516236, + "sender_full_name": "IFTTT", + "timestamp": 1714108388 + }, + { + "content": "

What improvements are they talking about? Guix and Nix

\n

April 26, 2024 at 01:05AM

\n

https://old.reddit.com/r/NixOS/comments/1cdfukg/what_improvements_are_they_talking_about_guix_and/

", + "id": 435606059, + "sender_full_name": "IFTTT", + "timestamp": 1714144433 + }, + { + "content": "

On community in Nix - Eelco Dolstra

\n

April 26, 2024 at 11:57AM

\n

https://old.reddit.com/r/NixOS/comments/1cdtgck/on_community_in_nix_eelco_dolstra/

", + "id": 435652657, + "sender_full_name": "IFTTT", + "timestamp": 1714162393 + }, + { + "content": "

Been using nix for half a year, feeling kind of out of touch with my system?

\n

April 26, 2024 at 11:23PM

\n

https://old.reddit.com/r/NixOS/comments/1ce7oov/been_using_nix_for_half_a_year_feeling_kind_of/

", + "id": 435734511, + "sender_full_name": "IFTTT", + "timestamp": 1714209236 + }, + { + "content": "

Transparency about jonringer’s suspension

\n

April 27, 2024 at 06:23AM

\n

https://old.reddit.com/r/NixOS/comments/1ceeg8h/transparency_about_jonringers_suspension/

", + "id": 435765016, + "sender_full_name": "IFTTT", + "timestamp": 1714230820 + }, + { + "content": "

Thoughts on Jon Ringer's temporary suspension

\n

April 27, 2024 at 09:47AM

\n

https://old.reddit.com/r/NixOS/comments/1ceiz36/thoughts_on_jon_ringers_temporary_suspension/

", + "id": 435786508, + "sender_full_name": "IFTTT", + "timestamp": 1714248832 + }, + { + "content": "

Fifteen contributors have officially removed themselves from maintaining Nixpkgs at the time of this submission, including Marsam, who had almost 18,000 commits over 8 years.

\n

April 27, 2024 at 03:23PM

\n

https://old.reddit.com/r/NixOS/comments/1ceqprq/fifteen_contributors_have_officially_removed/

", + "id": 435804211, + "sender_full_name": "IFTTT", + "timestamp": 1714266533 + }, + { + "content": "

I presented about Nix at Conf42 | Using Nix to create reproducible Golang development environments

\n

April 27, 2024 at 12:53PM

\n

https://old.reddit.com/r/NixOS/comments/1cenaz8/i_presented_about_nix_at_conf42_using_nix_to/

", + "id": 435873861, + "sender_full_name": "IFTTT", + "timestamp": 1714310033 + }, + { + "content": "

Is starting to contribute worth it?

\n

April 28, 2024 at 01:57AM

\n

https://old.reddit.com/r/NixOS/comments/1cf1xde/is_starting_to_contribute_worth_it/

", + "id": 435909491, + "sender_full_name": "IFTTT", + "timestamp": 1714338795 + }, + { + "content": "

Moderation no-go zones

\n

April 29, 2024 at 02:57AM

\n

https://old.reddit.com/r/NixOS/comments/1cfv8vo/moderation_nogo_zones/

", + "id": 436027979, + "sender_full_name": "IFTTT", + "timestamp": 1714392818 + }, + { + "content": "

Eelco steps down

\n

April 30, 2024 at 05:44PM

\n

https://old.reddit.com/r/NixOS/comments/1ch8vhv/eelco_steps_down/

", + "id": 436385764, + "sender_full_name": "IFTTT", + "timestamp": 1714533223 + }, + { + "content": "

What do you think of my new wallpaper?

\n

May 01, 2024 at 04:36AM

\n

https://old.reddit.com/r/NixOS/comments/1chjyfs/what_do_you_think_of_my_new_wallpaper/

", + "id": 436529864, + "sender_full_name": "IFTTT", + "timestamp": 1714580029 + }, + { + "content": "

Framework & NixOS Communities Join Forces

\n

May 01, 2024 at 08:33PM

\n

https://old.reddit.com/r/NixOS/comments/1ci5r64/framework_nixos_communities_join_forces/

", + "id": 436639836, + "sender_full_name": "IFTTT", + "timestamp": 1714637622 + }, + { + "content": "

Is NixOS The Best Gaming Distro | Linux Gaming Setup

\n

May 02, 2024 at 10:14AM

\n

https://old.reddit.com/r/NixOS/comments/1cil5y4/is_nixos_the_best_gaming_distro_linux_gaming_setup/

", + "id": 436790924, + "sender_full_name": "IFTTT", + "timestamp": 1714691608 + }, + { + "content": "

Guys, I did it

\n

May 03, 2024 at 12:04AM

\n

https://old.reddit.com/r/NixOS/comments/1cj2ess/guys_i_did_it/

", + "id": 436880853, + "sender_full_name": "IFTTT", + "timestamp": 1714742023 + }, + { + "content": "

2024 NixOS crisis tldr

\n

May 03, 2024 at 08:42AM

\n

https://old.reddit.com/r/NixOS/comments/1cjbt6l/2024_nixos_crisis_tldr/

", + "id": 436944082, + "sender_full_name": "IFTTT", + "timestamp": 1714763635 + }, + { + "content": "

Nix Board Update 1: Appointing a Constitutional Assembly

\n

May 02, 2024 at 06:50PM

\n

https://old.reddit.com/r/NixOS/comments/1ciwzag/nix_board_update_1_appointing_a_constitutional/

", + "id": 437025173, + "sender_full_name": "IFTTT", + "timestamp": 1714832038 + }, + { + "content": "

Speeding up ELF relocations for store-based systems

\n

May 03, 2024 at 02:55PM

\n

https://old.reddit.com/r/NixOS/comments/1cjkaqo/speeding_up_elf_relocations_for_storebased_systems/

", + "id": 437055839, + "sender_full_name": "IFTTT", + "timestamp": 1714860819 + }, + { + "content": "

REMINDER: Nix Zulip Assembly is open to almost anyone who has been active in the community!

\n

May 04, 2024 at 06:00PM

\n

https://old.reddit.com/r/NixOS/comments/1ckfeu0/reminder_nix_zulip_assembly_is_open_to_almost/

", + "id": 437095599, + "sender_full_name": "IFTTT", + "timestamp": 1714900419 + }, + { + "content": "

new nix community governance right now

\n

May 05, 2024 at 01:54PM

\n

https://old.reddit.com/r/NixOS/comments/1cl17mu/new_nix_community_governance_right_now/

", + "id": 437199548, + "sender_full_name": "IFTTT", + "timestamp": 1714975731 + }, + { + "content": "

I wonder how many \"NixOS sux now\" people are actually following https://nixpkgs.zulipchat.com/#narrow/stream/435724-governance/topic/Fundamental.20Principles

\n

May 06, 2024 at 12:09AM

\n

https://old.reddit.com/r/NixOS/comments/1clcwkf/i_wonder_how_many_nixos_sux_now_people_are/

", + "id": 437259822, + "sender_full_name": "IFTTT", + "timestamp": 1715001230 + }, + { + "content": "

Separating Nix drama discussions from technical/educational ones?

\n

May 06, 2024 at 02:54AM

\n

https://old.reddit.com/r/NixOS/comments/1clf7v8/separating_nix_drama_discussions_from/

", + "id": 437304923, + "sender_full_name": "IFTTT", + "timestamp": 1715015638 + }, + { + "content": "

There's a reason I don't use Gentoo...

\n

May 06, 2024 at 02:01PM

\n

https://old.reddit.com/r/NixOS/comments/1clu0do/theres_a_reason_i_dont_use_gentoo/

", + "id": 437365888, + "sender_full_name": "IFTTT", + "timestamp": 1715048020 + }, + { + "content": "

Can we get some flairs?

\n

May 07, 2024 at 04:38PM

\n

https://old.reddit.com/r/NixOS/comments/1cmq9zw/can_we_get_some_flairs/

", + "id": 437627588, + "sender_full_name": "IFTTT", + "timestamp": 1715166535 + }, + { + "content": "

Shea Levy has been suspended from the Governance Zulip

\n

May 08, 2024 at 07:33AM

\n

https://old.reddit.com/r/NixOS/comments/1cn60v1/shea_levy_has_been_suspended_from_the_governance/

", + "id": 437695066, + "sender_full_name": "IFTTT", + "timestamp": 1715188396 + }, + { + "content": "

Broken Promises: The Nix Governance Discussions

\n

May 08, 2024 at 12:52PM

\n

https://old.reddit.com/r/NixOS/comments/1cndnyw/broken_promises_the_nix_governance_discussions/

", + "id": 437750042, + "sender_full_name": "IFTTT", + "timestamp": 1715213914 + }, + { + "content": "

Daily driver

\n

May 08, 2024 at 03:30PM

\n

https://old.reddit.com/r/NixOS/comments/1cnhfse/daily_driver/

", + "id": 437863173, + "sender_full_name": "IFTTT", + "timestamp": 1715278129 + }, + { + "content": "

(meme) Me explaining my NixOS config to a random person

\n

May 10, 2024 at 09:52AM

\n

https://old.reddit.com/r/NixOS/comments/1cou95d/meme_me_explaining_my_nixos_config_to_a_random/

", + "id": 438034019, + "sender_full_name": "IFTTT", + "timestamp": 1715368394 + }, + { + "content": "

Looking For A Proper Guide On Learning The Nix Language | Where Is Nix/NixOS 101?

\n

May 10, 2024 at 08:18PM

\n

https://old.reddit.com/r/NixOS/comments/1cp7w20/looking_for_a_proper_guide_on_learning_the_nix/

", + "id": 438128306, + "sender_full_name": "IFTTT", + "timestamp": 1715454797 + }, + { + "content": "

33 generations on my first day. I love this.

\n

May 11, 2024 at 11:32AM

\n

https://old.reddit.com/r/NixOS/comments/1cpnyeo/33_generations_on_my_first_day_i_love_this/

", + "id": 438137893, + "sender_full_name": "IFTTT", + "timestamp": 1715465622 + }, + { + "content": "

How come NixOS is so awesome?

\n

May 12, 2024 at 08:42AM

\n

https://old.reddit.com/r/NixOS/comments/1cqapfu/how_come_nixos_is_so_awesome/

", + "id": 438229250, + "sender_full_name": "IFTTT", + "timestamp": 1715566433 + }, + { + "content": "

Report on NixOS Governance Discussions

\n

May 12, 2024 at 02:19PM

\n

https://old.reddit.com/r/NixOS/comments/1cqic4w/report_on_nixos_governance_discussions/

", + "id": 438244838, + "sender_full_name": "IFTTT", + "timestamp": 1715577194 + }, + { + "content": "

Is it possible to do offline updates of nixpkgs?

\n

May 09, 2024 at 03:22PM

\n

https://old.reddit.com/r/NixOS/comments/1co9spe/is_it_possible_to_do_offline_updates_of_nixpkgs/

", + "id": 438449397, + "sender_full_name": "IFTTT", + "timestamp": 1715634802 + }, + { + "content": "

open question for the community

\n

May 14, 2024 at 11:50AM

\n

https://old.reddit.com/r/NixOS/comments/1crzw4l/open_question_for_the_community/

", + "id": 438684254, + "sender_full_name": "IFTTT", + "timestamp": 1715731995 + }, + { + "content": "

Proposal: Nix Values

\n

May 10, 2024 at 05:08PM

\n

https://old.reddit.com/r/NixOS/comments/1cp4a3h/proposal_nix_values/

", + "id": 438731273, + "sender_full_name": "IFTTT", + "timestamp": 1715753599 + }, + { + "content": "

How does NixOS handle fast applications with rapid release cycles?

\n

May 14, 2024 at 03:09AM

\n

https://old.reddit.com/r/NixOS/comments/1crok4p/how_does_nixos_handle_fast_applications_with/

", + "id": 438827347, + "sender_full_name": "IFTTT", + "timestamp": 1715785994 + }, + { + "content": "

[Solution] Are Your Fonts Not Working? You Might Have Installed Them Wrong | Regular & Console (TTY)

\n

May 12, 2024 at 01:56AM

\n

https://old.reddit.com/r/NixOS/comments/1cq3jt8/solution_are_your_fonts_not_working_you_might/

", + "id": 438878723, + "sender_full_name": "IFTTT", + "timestamp": 1715804329 + }, + { + "content": "

Nix forked, but over politics instead of progress

\n

May 14, 2024 at 06:17PM

\n

https://old.reddit.com/r/NixOS/comments/1cs8qpj/nix_forked_but_over_politics_instead_of_progress/

", + "id": 438901097, + "sender_full_name": "IFTTT", + "timestamp": 1715814813 + }, + { + "content": "

NixOS Foundation Board: Constitutional Assembly Appointment - Announcements

\n

May 15, 2024 at 08:37PM

\n

https://old.reddit.com/r/NixOS/comments/1ct3tdb/nixos_foundation_board_constitutional_assembly/

", + "id": 438992688, + "sender_full_name": "IFTTT", + "timestamp": 1715857749 + }, + { + "content": "

Drama Consequences for a Potential New User

\n

May 15, 2024 at 03:01AM

\n

https://old.reddit.com/r/NixOS/comments/1csh3ku/drama_consequences_for_a_potential_new_user/

", + "id": 439117565, + "sender_full_name": "IFTTT", + "timestamp": 1715901219 + }, + { + "content": "

What is bad about documentation exactly?

\n

May 16, 2024 at 10:48AM

\n

https://old.reddit.com/r/NixOS/comments/1ctiy3f/what_is_bad_about_documentation_exactly/

", + "id": 439164941, + "sender_full_name": "IFTTT", + "timestamp": 1715930024 + }, + { + "content": "

Why a Generic Open Source Project Can't Also Be a Successful Civil Rights Project

\n

May 15, 2024 at 08:16PM

\n

https://old.reddit.com/r/NixOS/comments/1ct3fut/why_a_generic_open_source_project_cant_also_be_a/

", + "id": 439173857, + "sender_full_name": "IFTTT", + "timestamp": 1715933626 + }, + { + "content": "

Friendly reminder: optimize-store is not on by default and you may be using a lot of disk space

\n

May 17, 2024 at 08:17PM

\n

https://old.reddit.com/r/NixOS/comments/1cunvdw/friendly_reminder_optimizestore_is_not_on_by/

", + "id": 439340567, + "sender_full_name": "IFTTT", + "timestamp": 1716023633 + }, + { + "content": "

Acceptance threshold for \"any project, event, or forum with Nix/NixOS branding\"

\n

May 18, 2024 at 12:13AM

\n

https://old.reddit.com/r/NixOS/comments/1curmzm/acceptance_threshold_for_any_project_event_or/

", + "id": 439358522, + "sender_full_name": "IFTTT", + "timestamp": 1716041915 + }, + { + "content": "

FWIW, THIS is my definition of fascism

\n

May 18, 2024 at 09:10AM

\n

https://old.reddit.com/r/NixOS/comments/1cv0q6h/fwiw_this_is_my_definition_of_fascism/

", + "id": 439401549, + "sender_full_name": "IFTTT", + "timestamp": 1716088410 + }, + { + "content": "

Should I take the nix pill?

\n

May 14, 2024 at 11:33AM

\n

https://old.reddit.com/r/NixOS/comments/1crzgpl/should_i_take_the_nix_pill/

", + "id": 439448829, + "sender_full_name": "IFTTT", + "timestamp": 1716135219 + }, + { + "content": "

Building a Homelab, Part 4 - Nixification, Kubernetes

\n

May 18, 2024 at 09:20PM

\n

https://old.reddit.com/r/NixOS/comments/1cvftmy/building_a_homelab_part_4_nixification_kubernetes/

", + "id": 439470848, + "sender_full_name": "IFTTT", + "timestamp": 1716157125 + }, + { + "content": "

Name one thing you are not able to do because you are on NixOS and not on something more popular like Ubuntu/Debian/Fedora.

\n

May 20, 2024 at 10:19AM

\n

https://old.reddit.com/r/NixOS/comments/1cwkyjf/name_one_thing_you_are_not_able_to_do_because_you/

", + "id": 439715724, + "sender_full_name": "IFTTT", + "timestamp": 1716257326 + }, + { + "content": "

Stylix: Declaratively apply color scheme, font, and wallpaper to desktops and apps

\n

May 20, 2024 at 05:43PM

\n

https://old.reddit.com/r/NixOS/comments/1cwv7vv/stylix_declaratively_apply_color_scheme_font_and/

", + "id": 439827800, + "sender_full_name": "IFTTT", + "timestamp": 1716300807 + }, + { + "content": "

What are your tools for monitoring your NixOS hosts?

\n

May 19, 2024 at 04:01AM

\n

https://old.reddit.com/r/NixOS/comments/1cvlpul/what_are_your_tools_for_monitoring_your_nixos/

", + "id": 439942850, + "sender_full_name": "IFTTT", + "timestamp": 1716344014 + }, + { + "content": "

[Question] Nvidia 555 Beta Released Today

\n

May 21, 2024 at 07:58AM

\n

https://old.reddit.com/r/NixOS/comments/1cx9wsy/question_nvidia_555_beta_released_today/

", + "id": 440029258, + "sender_full_name": "IFTTT", + "timestamp": 1716362030 + }, + { + "content": "

Why brought you to NixOS? More importantly, what keeps you with NixOS?

\n

May 22, 2024 at 04:07AM

\n

https://old.reddit.com/r/NixOS/comments/1cxxkvd/why_brought_you_to_nixos_more_importantly_what/

", + "id": 440142819, + "sender_full_name": "IFTTT", + "timestamp": 1716398032 + }, + { + "content": "

I'm frustrated with my NixOS install

\n

May 22, 2024 at 08:17AM

\n

https://old.reddit.com/r/NixOS/comments/1cy2r9r/im_frustrated_with_my_nixos_install/

", + "id": 440193373, + "sender_full_name": "IFTTT", + "timestamp": 1716416002 + }, + { + "content": "

r/NixOS deleted from the official Wiki

\n

May 22, 2024 at 01:15PM

\n

https://old.reddit.com/r/NixOS/comments/1cya4k4/rnixos_deleted_from_the_official_wiki/

", + "id": 440249318, + "sender_full_name": "IFTTT", + "timestamp": 1716440943 + }, + { + "content": "

Holy crap Wayland just worked

\n

May 22, 2024 at 11:08PM

\n

https://old.reddit.com/r/NixOS/comments/1cylvdb/holy_crap_wayland_just_worked/

", + "id": 440366025, + "sender_full_name": "IFTTT", + "timestamp": 1716484425 + }, + { + "content": "

New to NixOS: Should I Use Flakes for My Setup?

\n

May 23, 2024 at 05:15AM

\n

https://old.reddit.com/r/NixOS/comments/1cyrc50/new_to_nixos_should_i_use_flakes_for_my_setup/

", + "id": 440606146, + "sender_full_name": "IFTTT", + "timestamp": 1716610427 + }, + { + "content": "

Guide : Fix \"Steam on Linux now requires the ability to create new user namespaces\"

\n

May 22, 2024 at 09:29AM

\n

https://old.reddit.com/r/NixOS/comments/1cy4j26/guide_fix_steam_on_linux_now_requires_the_ability/

", + "id": 440618912, + "sender_full_name": "IFTTT", + "timestamp": 1716625115 + }, + { + "content": "

Can a Yubikey be used to access the secrets.yaml file in sops-nix?

\n

May 25, 2024 at 06:44AM

\n

https://old.reddit.com/r/NixOS/comments/1d0ccqe/can_a_yubikey_be_used_to_access_the_secretsyaml/

", + "id": 440705913, + "sender_full_name": "IFTTT", + "timestamp": 1716722021 + }, + { + "content": "

I have been contemplating the move to NixOS from Arch for a bit.

\n

May 26, 2024 at 12:02PM

\n

https://old.reddit.com/r/NixOS/comments/1d18ijf/i_have_been_contemplating_the_move_to_nixos_from/

", + "id": 440774662, + "sender_full_name": "IFTTT", + "timestamp": 1716786812 + }, + { + "content": "

Walking Through Why Precompiled Hello World Cannot Execute on NixOS

\n

May 27, 2024 at 02:07AM

\n

https://old.reddit.com/r/NixOS/comments/1d1nd9l/walking_through_why_precompiled_hello_world/

", + "id": 440920976, + "sender_full_name": "IFTTT", + "timestamp": 1716844427 + }, + { + "content": "

Potentially Declare Obsidian?

\n

May 27, 2024 at 05:57PM

\n

https://old.reddit.com/r/NixOS/comments/1d277fo/potentially_declare_obsidian/

", + "id": 441062760, + "sender_full_name": "IFTTT", + "timestamp": 1716909501 + }, + { + "content": "

i just noticed this. i think it was just 80,000 before - mind-blowing

\n

May 28, 2024 at 08:37AM

\n

https://old.reddit.com/r/NixOS/comments/1d2mfkt/i_just_noticed_this_i_think_it_was_just_80000/

", + "id": 441081232, + "sender_full_name": "IFTTT", + "timestamp": 1716916137 + }, + { + "content": "

Why NixOS won over Guix ?

\n

May 28, 2024 at 12:33PM

\n

https://old.reddit.com/r/NixOS/comments/1d2s6r1/why_nixos_won_over_guix/

", + "id": 441171039, + "sender_full_name": "IFTTT", + "timestamp": 1716962939 + }, + { + "content": "

Should I switch to NixOS from Ubuntu?

\n

May 25, 2024 at 03:00PM

\n

https://old.reddit.com/r/NixOS/comments/1d0momz/should_i_switch_to_nixos_from_ubuntu/

", + "id": 441282228, + "sender_full_name": "IFTTT", + "timestamp": 1717002533 + }, + { + "content": "

Impermanence and discovering what needs to be persistant

\n

May 26, 2024 at 01:43PM

\n

https://old.reddit.com/r/NixOS/comments/1d1apm0/impermanence_and_discovering_what_needs_to_be/

", + "id": 441318042, + "sender_full_name": "IFTTT", + "timestamp": 1717016982 + }, + { + "content": "

nixos-cli :: A unified NixOS tooling replacement for nixos-* utilities

\n

May 29, 2024 at 06:53PM

\n

https://old.reddit.com/r/NixOS/comments/1d3ssmo/nixoscli_a_unified_nixos_tooling_replacement_for/

", + "id": 441388139, + "sender_full_name": "IFTTT", + "timestamp": 1717049613 + }, + { + "content": "

gradle2nix V2: Call for testers

\n

May 29, 2024 at 06:43PM

\n

https://old.reddit.com/r/NixOS/comments/1d3slpg/gradle2nix_v2_call_for_testers/

", + "id": 441396806, + "sender_full_name": "IFTTT", + "timestamp": 1717053199 + }, + { + "content": "

My first genuine crash (frozen machine) in nixOS for as long as I can remember

\n

May 29, 2024 at 12:34PM

\n

https://old.reddit.com/r/NixOS/comments/1d3kqck/my_first_genuine_crash_frozen_machine_in_nixos/

", + "id": 441454165, + "sender_full_name": "IFTTT", + "timestamp": 1717074813 + }, + { + "content": "

\"Nix is just JSON with functions\"

\n

May 30, 2024 at 03:50PM

\n

https://old.reddit.com/r/NixOS/comments/1d4gobt/nix_is_just_json_with_functions/

", + "id": 441610613, + "sender_full_name": "IFTTT", + "timestamp": 1717128800 + }, + { + "content": "

NixOS 24.05 released!

\n

May 31, 2024 at 12:35PM

\n

https://old.reddit.com/r/NixOS/comments/1d544po/nixos_2405_released/

", + "id": 441807455, + "sender_full_name": "IFTTT", + "timestamp": 1717190030 + }, + { + "content": "

Should I start flaking?

\n

May 31, 2024 at 05:02PM

\n

https://old.reddit.com/r/NixOS/comments/1d5a015/should_i_start_flaking/

", + "id": 441972807, + "sender_full_name": "IFTTT", + "timestamp": 1717279721 + }, + { + "content": "

Upgrading To 24.05 Corrupted DNS For All Snapshots

\n

June 01, 2024 at 04:20PM

\n

https://old.reddit.com/r/NixOS/comments/1d5zo9c/upgrading_to_2405_corrupted_dns_for_all_snapshots/

", + "id": 442091381, + "sender_full_name": "IFTTT", + "timestamp": 1717355618 + }, + { + "content": "

nix: 2.18 -> 2.22, proposal/suggestion on switching the default nix implementation to lix.

\n

May 30, 2024 at 09:26AM

\n

https://old.reddit.com/r/NixOS/comments/1d483mk/nix_218_222_proposalsuggestion_on_switching_the/

", + "id": 442105284, + "sender_full_name": "IFTTT", + "timestamp": 1717362534 + }, + { + "content": "

My little adventure into NixOS

\n

June 03, 2024 at 12:42PM

\n

https://old.reddit.com/r/NixOS/comments/1d7dheg/my_little_adventure_into_nixos/

", + "id": 442410865, + "sender_full_name": "IFTTT", + "timestamp": 1717463626 + }, + { + "content": "

Nvidia thinks there are two monitors

\n

June 03, 2024 at 09:00PM

\n

https://old.reddit.com/r/NixOS/comments/1d7o4hb/nvidia_thinks_there_are_two_monitors/

", + "id": 442616324, + "sender_full_name": "IFTTT", + "timestamp": 1717531751 + }, + { + "content": "

Just switched from Windows. Amazingly smooth and lovely experience, everything just works. Love it!

\n

June 04, 2024 at 02:43PM

\n

https://old.reddit.com/r/NixOS/comments/1d8930h/just_switched_from_windows_amazingly_smooth_and/

", + "id": 442649190, + "sender_full_name": "IFTTT", + "timestamp": 1717542801 + }, + { + "content": "

should i keep these x11 codes or not?

\n

June 04, 2024 at 01:42PM

\n

https://old.reddit.com/r/NixOS/comments/1d87li4/should_i_keep_these_x11_codes_or_not/

", + "id": 442658495, + "sender_full_name": "IFTTT", + "timestamp": 1717546408 + }, + { + "content": "

Messages after booting!!!

\n

June 04, 2024 at 10:17AM

\n

https://old.reddit.com/r/NixOS/comments/1d82lj5/messages_after_booting/

", + "id": 442947501, + "sender_full_name": "IFTTT", + "timestamp": 1717640025 + }, + { + "content": "

Am I using NixOS correctly?

\n

June 05, 2024 at 02:00PM

\n

https://old.reddit.com/r/NixOS/comments/1d90qlc/am_i_using_nixos_correctly/

", + "id": 442962025, + "sender_full_name": "IFTTT", + "timestamp": 1717647216 + }, + { + "content": "

locked out of nixos installer

\n

June 06, 2024 at 04:10AM

\n

https://old.reddit.com/r/NixOS/comments/1d9fm5k/locked_out_of_nixos_installer/

", + "id": 443114198, + "sender_full_name": "IFTTT", + "timestamp": 1717693741 + }, + { + "content": "

Curious about how you manage packages.

\n

June 05, 2024 at 10:07AM

\n

https://old.reddit.com/r/NixOS/comments/1d8v43d/curious_about_how_you_manage_packages/

", + "id": 443179141, + "sender_full_name": "IFTTT", + "timestamp": 1717715616 + }, + { + "content": "

Mom come pick me up I'm scared

\n

June 06, 2024 at 01:37PM

\n

https://old.reddit.com/r/NixOS/comments/1d9sfmy/mom_come_pick_me_up_im_scared/

", + "id": 443188698, + "sender_full_name": "IFTTT", + "timestamp": 1717722814 + }, + { + "content": "

NixOS Meme

\n

June 06, 2024 at 07:12PM

\n

https://old.reddit.com/r/NixOS/comments/1d9zogg/nixos_meme/

", + "id": 443205968, + "sender_full_name": "IFTTT", + "timestamp": 1717733337 + }, + { + "content": "

For your consideration.

\n

June 07, 2024 at 01:24AM

\n

https://old.reddit.com/r/NixOS/comments/1da5o92/for_your_consideration/

", + "id": 443307205, + "sender_full_name": "IFTTT", + "timestamp": 1717769645 + }, + { + "content": "

SteamOS based on NixOS?

\n

June 07, 2024 at 11:18AM

\n

https://old.reddit.com/r/NixOS/comments/1dahr3g/steamos_based_on_nixos/

", + "id": 443410923, + "sender_full_name": "IFTTT", + "timestamp": 1717812805 + }, + { + "content": "

My NixOS rice

\n

June 07, 2024 at 06:36PM

\n

https://old.reddit.com/r/NixOS/comments/1darina/my_nixos_rice/

", + "id": 443421674, + "sender_full_name": "IFTTT", + "timestamp": 1717820023 + }, + { + "content": "

Do you think Nix language is confusing?

\n

June 07, 2024 at 08:11PM

\n

https://old.reddit.com/r/NixOS/comments/1dat919/do_you_think_nix_language_is_confusing/

", + "id": 443434401, + "sender_full_name": "IFTTT", + "timestamp": 1717830810 + }, + { + "content": "

Yubikey + gpg key + sops-nix

\n

June 08, 2024 at 12:23PM

\n

https://old.reddit.com/r/NixOS/comments/1dbalru/yubikey_gpg_key_sopsnix/

", + "id": 443549307, + "sender_full_name": "IFTTT", + "timestamp": 1717902825 + }, + { + "content": "

Thank the lord for NixOS

\n

June 08, 2024 at 03:42PM

\n

https://old.reddit.com/r/NixOS/comments/1dbev5o/thank_the_lord_for_nixos/

", + "id": 443562517, + "sender_full_name": "IFTTT", + "timestamp": 1717913924 + }, + { + "content": "

NixOS and Hyprland, perfect match!

\n

June 09, 2024 at 09:29AM

\n

https://old.reddit.com/r/NixOS/comments/1dbxrsv/nixos_and_hyprland_perfect_match/

", + "id": 443627517, + "sender_full_name": "IFTTT", + "timestamp": 1717960422 + }, + { + "content": "

NixOS and i3wm, perfect match!

\n

June 09, 2024 at 01:56PM

\n

https://old.reddit.com/r/NixOS/comments/1dc4190/nixos_and_i3wm_perfect_match/

", + "id": 443690784, + "sender_full_name": "IFTTT", + "timestamp": 1718000329 + }, + { + "content": "

It's been a helluva ride. When I first moved over from Linux Mint, I'd say I had about 70% of everything working. But a lot of stuff that worked right out the box over there, I had to learn to do on my own over here. I finally have everything working 100% like I did on LM. I Love NixOS

\n

June 09, 2024 at 12:45PM

\n

https://old.reddit.com/r/NixOS/comments/1dc2c2b/its_been_a_helluva_ride_when_i_first_moved_over/

", + "id": 443698022, + "sender_full_name": "IFTTT", + "timestamp": 1718003595 + }, + { + "content": "

I have an issue with NixOS

\n

June 12, 2024 at 02:05PM

\n

https://old.reddit.com/r/NixOS/comments/1dehjla/i_have_an_issue_with_nixos/

", + "id": 444418881, + "sender_full_name": "IFTTT", + "timestamp": 1718270018 + }, + { + "content": "

nix people

\n

June 13, 2024 at 02:58AM

\n

https://old.reddit.com/r/NixOS/comments/1deva8d/nix_people/

", + "id": 444450505, + "sender_full_name": "IFTTT", + "timestamp": 1718280532 + }, + { + "content": "

[ Hyprland + NixOS ] Clean and simple

\n

June 09, 2024 at 10:03AM

\n

https://old.reddit.com/r/NixOS/comments/1dbyjx7/hyprland_nixos_clean_and_simple/

", + "id": 444602377, + "sender_full_name": "IFTTT", + "timestamp": 1718334822 + }, + { + "content": "

Could we convince Hetzner to add Nixos as a standard image choice

\n

June 12, 2024 at 11:31PM

\n

https://old.reddit.com/r/NixOS/comments/1desdbv/could_we_convince_hetzner_to_add_nixos_as_a/

", + "id": 444644634, + "sender_full_name": "IFTTT", + "timestamp": 1718352532 + }, + { + "content": "

Aside from the declarative nature of nixOS what benefits does it offer?

\n

June 13, 2024 at 05:14PM

\n

https://old.reddit.com/r/NixOS/comments/1dfdste/aside_from_the_declarative_nature_of_nixos_what/

", + "id": 444826174, + "sender_full_name": "IFTTT", + "timestamp": 1718424795 + }, + { + "content": "

NixOS in 2100

\n

June 15, 2024 at 01:22AM

\n

https://old.reddit.com/r/NixOS/comments/1dgdada/nixos_in_2100/

", + "id": 444862323, + "sender_full_name": "IFTTT", + "timestamp": 1718457201 + }, + { + "content": "

NixOS Beginner

\n

June 09, 2024 at 06:46PM

\n

https://old.reddit.com/r/NixOS/comments/1dca4se/nixos_beginner/

", + "id": 444919817, + "sender_full_name": "IFTTT", + "timestamp": 1718492935 + }, + { + "content": "

Please upvote the top comment to get Nixos as standard image on Hetzner!

\n

June 16, 2024 at 05:17AM

\n

https://old.reddit.com/r/NixOS/comments/1dh6ci9/please_upvote_the_top_comment_to_get_nixos_as/

", + "id": 444990456, + "sender_full_name": "IFTTT", + "timestamp": 1718554431 + }, + { + "content": "

Password for the user nixos in the NixOS ISO

\n

June 11, 2024 at 08:58AM

\n

https://old.reddit.com/r/NixOS/comments/1ddhngn/password_for_the_user_nixos_in_the_nixos_iso/

", + "id": 444996205, + "sender_full_name": "IFTTT", + "timestamp": 1718557736 + }, + { + "content": "

A Flake for Nook Desktop! (Animal Crossing BGM/Rain App)

\n

June 10, 2024 at 09:12PM

\n

https://old.reddit.com/r/NixOS/comments/1dd5c3s/a_flake_for_nook_desktop_animal_crossing_bgmrain/

", + "id": 445015104, + "sender_full_name": "IFTTT", + "timestamp": 1718568826 + }, + { + "content": "

I'm just about done with NixOS. How do I get a simple python data science environment up and running?

\n

June 13, 2024 at 05:10AM

\n

https://old.reddit.com/r/NixOS/comments/1dexghb/im_just_about_done_with_nixos_how_do_i_get_a/

", + "id": 445020880, + "sender_full_name": "IFTTT", + "timestamp": 1718572412 + }, + { + "content": "

Nixvim is done now i can proccede to NixOs Config....

\n

June 16, 2024 at 06:21AM

\n

https://old.reddit.com/r/NixOS/comments/1dh7hd3/nixvim_is_done_now_i_can_proccede_to_nixos_config/

", + "id": 445025979, + "sender_full_name": "IFTTT", + "timestamp": 1718575746 + }, + { + "content": "

My first try.. on Qemu but I like it so far!

\n

June 16, 2024 at 10:24AM

\n

https://old.reddit.com/r/NixOS/comments/1dhcisu/my_first_try_on_qemu_but_i_like_it_so_far/

", + "id": 445030804, + "sender_full_name": "IFTTT", + "timestamp": 1718579634 + }, + { + "content": "

How to use Neovim without nixvim

\n

June 17, 2024 at 01:54AM

\n

https://old.reddit.com/r/NixOS/comments/1dhtj1t/how_to_use_neovim_without_nixvim/

", + "id": 445205819, + "sender_full_name": "IFTTT", + "timestamp": 1718651611 + }, + { + "content": "

The official NixOS YouTube channel is Live..

\n

June 17, 2024 at 07:52AM

\n

https://old.reddit.com/r/NixOS/comments/1di002u/the_official_nixos_youtube_channel_is_live/

", + "id": 445205821, + "sender_full_name": "IFTTT", + "timestamp": 1718651611 + }, + { + "content": "

What is the future of NixOS?

\n

June 17, 2024 at 02:17PM

\n

https://old.reddit.com/r/NixOS/comments/1di99pf/what_is_the_future_of_nixos/

", + "id": 445268298, + "sender_full_name": "IFTTT", + "timestamp": 1718684033 + }, + { + "content": "

a true story

\n

June 17, 2024 at 08:26PM

\n

https://old.reddit.com/r/NixOS/comments/1dih01j/a_true_story/

", + "id": 445286678, + "sender_full_name": "IFTTT", + "timestamp": 1718694805 + }, + { + "content": "

NixOS ISO on Hetzner as default (please vote for it here!)

\n

June 19, 2024 at 01:52AM

\n

https://old.reddit.com/r/NixOS/comments/1djeh0v/nixos_iso_on_hetzner_as_default_please_vote_for/

", + "id": 445600511, + "sender_full_name": "IFTTT", + "timestamp": 1718806382 + }, + { + "content": "

What is this, Gentoo?

\n

June 19, 2024 at 11:28AM

\n

https://old.reddit.com/r/NixOS/comments/1djqa3p/what_is_this_gentoo/

", + "id": 445748060, + "sender_full_name": "IFTTT", + "timestamp": 1718853231 + }, + { + "content": "

List of open source games and their status on nixos

\n

June 21, 2024 at 07:47AM

\n

https://old.reddit.com/r/NixOS/comments/1dl5rxe/list_of_open_source_games_and_their_status_on/

", + "id": 446129439, + "sender_full_name": "IFTTT", + "timestamp": 1718989995 + }, + { + "content": "

Constitutional Assembly Statement on Jon Ringer

\n

June 21, 2024 at 10:22PM

\n

https://old.reddit.com/r/NixOS/comments/1dloahg/constitutional_assembly_statement_on_jon_ringer/

", + "id": 446249551, + "sender_full_name": "IFTTT", + "timestamp": 1719047599 + }, + { + "content": "

What exactly are Flakes?

\n

June 22, 2024 at 07:03PM

\n

https://old.reddit.com/r/NixOS/comments/1dmbimf/what_exactly_are_flakes/

", + "id": 446413142, + "sender_full_name": "IFTTT", + "timestamp": 1719144801 + }, + { + "content": "

Best Nix LSP for Neovim

\n

June 20, 2024 at 04:59PM

\n

https://old.reddit.com/r/NixOS/comments/1dkqcqc/best_nix_lsp_for_neovim/

", + "id": 446422212, + "sender_full_name": "IFTTT", + "timestamp": 1719152029 + }, + { + "content": "

Is making Nix my first distro/daily driver a terrible idea?

\n

June 21, 2024 at 11:57AM

\n

https://old.reddit.com/r/NixOS/comments/1dlboqx/is_making_nix_my_first_distrodaily_driver_a/

", + "id": 446453204, + "sender_full_name": "IFTTT", + "timestamp": 1719166426 + }, + { + "content": "

Leaving NixOS for Arch.

\n

June 23, 2024 at 08:33AM

\n

https://old.reddit.com/r/NixOS/comments/1dmot2m/leaving_nixos_for_arch/

", + "id": 446468599, + "sender_full_name": "IFTTT", + "timestamp": 1719173614 + }, + { + "content": "

Nvim managed 100% by nvim

\n

June 19, 2024 at 02:23PM

\n

https://old.reddit.com/r/NixOS/comments/1djuh62/nvim_managed_100_by_nvim/

", + "id": 446556970, + "sender_full_name": "IFTTT", + "timestamp": 1719220137 + }, + { + "content": "

GitHub - redcode-labs/RedNixOS: NixOS-based 'distro' for cybersecurity enthusiasts

\n

June 17, 2024 at 10:26PM

\n

https://old.reddit.com/r/NixOS/comments/1dij1pa/github_redcodelabsrednixos_nixosbased_distro_for/

", + "id": 446641345, + "sender_full_name": "IFTTT", + "timestamp": 1719242010 + }, + { + "content": "

The Proxmox Hypervisor, on NixOS

\n

June 24, 2024 at 12:55PM

\n

https://old.reddit.com/r/NixOS/comments/1dnmqb2/the_proxmox_hypervisor_on_nixos/

", + "id": 446729389, + "sender_full_name": "IFTTT", + "timestamp": 1719267203 + }, + { + "content": "

46%

\n

June 24, 2024 at 10:37AM

\n

https://old.reddit.com/r/NixOS/comments/1dnje2z/46/

", + "id": 446787401, + "sender_full_name": "IFTTT", + "timestamp": 1719296023 + }, + { + "content": "

Catppuccin GTK

\n

June 22, 2024 at 01:04AM

\n

https://old.reddit.com/r/NixOS/comments/1dlqoem/catppuccin_gtk/

", + "id": 447164311, + "sender_full_name": "IFTTT", + "timestamp": 1719393209 + }, + { + "content": "

Someone please explain home.nix flakes.nix combo to me like I am 5

\n

June 23, 2024 at 02:25PM

\n

https://old.reddit.com/r/NixOS/comments/1dmwpej/someone_please_explain_homenix_flakesnix_combo_to/

", + "id": 447308197, + "sender_full_name": "IFTTT", + "timestamp": 1719429220 + }, + { + "content": "

Will i have problems with university projects using NixOS

\n

June 24, 2024 at 02:05AM

\n

https://old.reddit.com/r/NixOS/comments/1dn92v3/will_i_have_problems_with_university_projects/

", + "id": 447345944, + "sender_full_name": "IFTTT", + "timestamp": 1719440025 + }, + { + "content": "

title

\n

June 26, 2024 at 03:51PM

\n

https://old.reddit.com/r/NixOS/comments/1dpc0ea/title/

", + "id": 447361648, + "sender_full_name": "IFTTT", + "timestamp": 1719447518 + }, + { + "content": "

NixOS makes me feel powerful!

\n

June 26, 2024 at 08:14PM

\n

https://old.reddit.com/r/NixOS/comments/1dphcnj/nixos_makes_me_feel_powerful/

", + "id": 447403549, + "sender_full_name": "IFTTT", + "timestamp": 1719472429 + }, + { + "content": "

Holy moly

\n

June 27, 2024 at 02:08AM

\n

https://old.reddit.com/r/NixOS/comments/1dpmuh7/holy_moly/

", + "id": 447439770, + "sender_full_name": "IFTTT", + "timestamp": 1719483227 + }, + { + "content": "

Adding parallel evaluation to Nix, by Eelco Dolstra

\n

June 27, 2024 at 08:45AM

\n

https://old.reddit.com/r/NixOS/comments/1dpugf4/adding_parallel_evaluation_to_nix_by_eelco_dolstra/

", + "id": 447609969, + "sender_full_name": "IFTTT", + "timestamp": 1719530019 + }, + { + "content": "

Where are my SDKs are stored in NixOS?

\n

June 27, 2024 at 06:59PM

\n

https://old.reddit.com/r/NixOS/comments/1dq8c2j/where_are_my_sdks_are_stored_in_nixos/

", + "id": 447725873, + "sender_full_name": "IFTTT", + "timestamp": 1719569630 + }, + { + "content": "

4 out of 5 NixOS board members have quit

\n

June 28, 2024 at 09:06AM

\n

https://old.reddit.com/r/NixOS/comments/1dqn9os/4_out_of_5_nixos_board_members_have_quit/

", + "id": 447840039, + "sender_full_name": "IFTTT", + "timestamp": 1719598428 + }, + { + "content": "

Do we know who (person or people) is causing NixOS founding board members to leave?

\n

June 28, 2024 at 04:33PM

\n

https://old.reddit.com/r/NixOS/comments/1dqxhvk/do_we_know_who_person_or_people_is_causing_nixos/

", + "id": 447941016, + "sender_full_name": "IFTTT", + "timestamp": 1719645201 + }, + { + "content": "

aight

\n

June 29, 2024 at 03:02PM

\n

https://old.reddit.com/r/NixOS/comments/1drm8lx/aight/

", + "id": 448050819, + "sender_full_name": "IFTTT", + "timestamp": 1719706431 + }, + { + "content": "

Python is a NIGHTMARE on nixOS

\n

June 29, 2024 at 02:01PM

\n

https://old.reddit.com/r/NixOS/comments/1drkymj/python_is_a_nightmare_on_nixos/

", + "id": 448118964, + "sender_full_name": "IFTTT", + "timestamp": 1719756820 + }, + { + "content": "

My daily routine

\n

July 01, 2024 at 02:28AM

\n

https://old.reddit.com/r/NixOS/comments/1dsos3x/my_daily_routine/

", + "id": 448299183, + "sender_full_name": "IFTTT", + "timestamp": 1719832429 + }, + { + "content": "

Moving forward together

\n

July 01, 2024 at 09:21AM

\n

https://old.reddit.com/r/NixOS/comments/1dsx4du/moving_forward_together/

", + "id": 448403001, + "sender_full_name": "IFTTT", + "timestamp": 1719857622 + }, + { + "content": "

What on earth did jonringer even do?

\n

July 02, 2024 at 07:54AM

\n

https://old.reddit.com/r/NixOS/comments/1dtnsk5/what_on_earth_did_jonringer_even_do/

", + "id": 448693599, + "sender_full_name": "IFTTT", + "timestamp": 1719950943 + }, + { + "content": "

Security advisory: OpenSSH CVE-2024-6387 “regreSSHion” – update your servers ASAP - Security

\n

July 02, 2024 at 04:26AM

\n

https://old.reddit.com/r/NixOS/comments/1dtjhtp/security_advisory_openssh_cve20246387_regresshion/

", + "id": 448995999, + "sender_full_name": "IFTTT", + "timestamp": 1720066431 + }, + { + "content": "

Modern resources to learn Nix and NixOS?

\n

June 30, 2024 at 01:01PM

\n

https://old.reddit.com/r/NixOS/comments/1dsa4wz/modern_resources_to_learn_nix_and_nixos/

", + "id": 449052381, + "sender_full_name": "IFTTT", + "timestamp": 1720088009 + }, + { + "content": "

Maintainers exodus over recent events

\n

July 02, 2024 at 09:50AM

\n

https://old.reddit.com/r/NixOS/comments/1dtqlga/maintainers_exodus_over_recent_events/

", + "id": 449073296, + "sender_full_name": "IFTTT", + "timestamp": 1720095233 + }, + { + "content": "

Hyprland this, hyprland that!

\n

July 02, 2024 at 03:20AM

\n

https://old.reddit.com/r/NixOS/comments/1dtif2m/hyprland_this_hyprland_that/

", + "id": 449196628, + "sender_full_name": "IFTTT", + "timestamp": 1720145589 + }, + { + "content": "

Run local AI chatbot using Nix

\n

July 03, 2024 at 10:22AM

\n

https://old.reddit.com/r/NixOS/comments/1dujxu4/run_local_ai_chatbot_using_nix/

", + "id": 449286900, + "sender_full_name": "IFTTT", + "timestamp": 1720178019 + }, + { + "content": "

Automatic unattended installer thingy

\n

July 05, 2024 at 12:50AM

\n

https://old.reddit.com/r/NixOS/comments/1dvsk9o/automatic_unattended_installer_thingy/

", + "id": 449347432, + "sender_full_name": "IFTTT", + "timestamp": 1720196031 + }, + { + "content": "

Is NixOS good for putting it on family member's machines?

\n

July 04, 2024 at 06:25AM

\n

https://old.reddit.com/r/NixOS/comments/1dv6vil/is_nixos_good_for_putting_it_on_family_members/

", + "id": 449562352, + "sender_full_name": "IFTTT", + "timestamp": 1720300711 + }, + { + "content": "

Learn Nix the Fun Way

\n

July 06, 2024 at 02:28PM

\n

https://old.reddit.com/r/NixOS/comments/1dx04a0/learn_nix_the_fun_way/

", + "id": 449573422, + "sender_full_name": "IFTTT", + "timestamp": 1720307631 + }, + { + "content": "

search.nixos.org now gives you the nixpkgs commit!

\n

July 06, 2024 at 11:01PM

\n

https://old.reddit.com/r/NixOS/comments/1dx9llm/searchnixosorg_now_gives_you_the_nixpkgs_commit/

", + "id": 449624989, + "sender_full_name": "IFTTT", + "timestamp": 1720343633 + }, + { + "content": "

DuckDuckGo is amazing

\n

July 07, 2024 at 01:46AM

\n

https://old.reddit.com/r/NixOS/comments/1dxbzcm/duckduckgo_is_amazing/

", + "id": 449681430, + "sender_full_name": "IFTTT", + "timestamp": 1720368798 + }, + { + "content": "

[Hyprland] NixOS - Catppuccin + Ags + Emacs setup - ZZZ inspiration (Zenless Zone Zero) - optional light mode - my main beast: Ryzen 9 7900X3D + Radeon RX 6800 XT

\n

July 08, 2024 at 04:35AM

\n

https://old.reddit.com/r/NixOS/comments/1dy6ndt/hyprland_nixos_catppuccin_ags_emacs_setup_zzz/

", + "id": 449972381, + "sender_full_name": "IFTTT", + "timestamp": 1720469602 + }, + { + "content": "

Things to know before switching to NixOs

\n

July 08, 2024 at 09:45AM

\n

https://old.reddit.com/r/NixOS/comments/1dydm3p/things_to_know_before_switching_to_nixos/

", + "id": 450137790, + "sender_full_name": "IFTTT", + "timestamp": 1720523612 + }, + { + "content": "

System freezes after shutting down

\n

July 08, 2024 at 03:25PM

\n

https://old.reddit.com/r/NixOS/comments/1dym2y1/system_freezes_after_shutting_down/

", + "id": 450185422, + "sender_full_name": "IFTTT", + "timestamp": 1720534709 + }, + { + "content": "

Im once again asking for your help

\n

July 07, 2024 at 09:10AM

\n

https://old.reddit.com/r/NixOS/comments/1dxk3b8/im_once_again_asking_for_your_help/

", + "id": 450231223, + "sender_full_name": "IFTTT", + "timestamp": 1720544947 + }, + { + "content": "

Evict Your Darlings: Banish dotfiles from your home directory

\n

July 09, 2024 at 01:12PM

\n

https://old.reddit.com/r/NixOS/comments/1dzc92k/evict_your_darlings_banish_dotfiles_from_your/

", + "id": 450314982, + "sender_full_name": "IFTTT", + "timestamp": 1720570433 + }, + { + "content": "

At the Mountains of Madness

\n

July 10, 2024 at 07:33AM

\n

https://old.reddit.com/r/NixOS/comments/1dzx9ro/at_the_mountains_of_madness/

", + "id": 450513488, + "sender_full_name": "IFTTT", + "timestamp": 1720631922 + }, + { + "content": "

Growth in nixpkgs maintainers (Jul 2020 to present)

\n

July 10, 2024 at 06:14PM

\n

https://old.reddit.com/r/NixOS/comments/1e0clk6/growth_in_nixpkgs_maintainers_jul_2020_to_present/

", + "id": 450613793, + "sender_full_name": "IFTTT", + "timestamp": 1720667639 + }, + { + "content": "

Lix 2.90 \"Vanilla Ice Cream\"

\n

July 10, 2024 at 11:23PM

\n

https://old.reddit.com/r/NixOS/comments/1e0i3y8/lix_290_vanilla_ice_cream/

", + "id": 450788290, + "sender_full_name": "IFTTT", + "timestamp": 1720725213 + }, + { + "content": "

Nix secrets for dummies

\n

July 12, 2024 at 11:21AM

\n

https://old.reddit.com/r/NixOS/comments/1e1ooqo/nix_secrets_for_dummies/

", + "id": 451123382, + "sender_full_name": "IFTTT", + "timestamp": 1720844313 + }, + { + "content": "

NixOS = Modules + Flakes + ... ???

\n

July 13, 2024 at 05:29AM

\n

https://old.reddit.com/r/NixOS/comments/1e299op/nixos_modules_flakes/

", + "id": 451240689, + "sender_full_name": "IFTTT", + "timestamp": 1720916016 + }, + { + "content": "

Configure Radarr,Sonarr, ... with NixOS

\n

July 10, 2024 at 07:21AM

\n

https://old.reddit.com/r/NixOS/comments/1dzx0b1/configure_radarrsonarr_with_nixos/

", + "id": 451368930, + "sender_full_name": "IFTTT", + "timestamp": 1720977234 + }, + { + "content": "

My ergonomic workspace

\n

July 14, 2024 at 10:15AM

\n

https://old.reddit.com/r/NixOS/comments/1e37lbs/my_ergonomic_workspace/

", + "id": 451375527, + "sender_full_name": "IFTTT", + "timestamp": 1720984393 + }, + { + "content": "

Trying to advocate for nix-direnv and Nix shells at work: do people need to install Nix system-wide?

\n

July 13, 2024 at 01:02PM

\n

https://old.reddit.com/r/NixOS/comments/1e2jds5/trying_to_advocate_for_nixdirenv_and_nix_shells/

", + "id": 451483170, + "sender_full_name": "IFTTT", + "timestamp": 1721045603 + }, + { + "content": "

how deep did you go?

\n

July 15, 2024 at 01:05PM

\n

https://old.reddit.com/r/NixOS/comments/1e44p0p/how_deep_did_you_go/

", + "id": 451631580, + "sender_full_name": "IFTTT", + "timestamp": 1721078040 + }, + { + "content": "

Best Repos for Inspiration?

\n

July 14, 2024 at 01:36PM

\n

https://old.reddit.com/r/NixOS/comments/1e3c4nr/best_repos_for_inspiration/

", + "id": 451647564, + "sender_full_name": "IFTTT", + "timestamp": 1721085213 + }, + { + "content": "

[Announcement] Polytest: For running tests on heterogeneous VMs

\n

July 16, 2024 at 06:41PM

\n

https://old.reddit.com/r/NixOS/comments/1e561vi/announcement_polytest_for_running_tests_on/

", + "id": 452053481, + "sender_full_name": "IFTTT", + "timestamp": 1721218392 + }, + { + "content": "

Automated NixOS Installers for bulk deployments?

\n

July 11, 2024 at 05:59PM

\n

https://old.reddit.com/r/NixOS/comments/1e14qpa/automated_nixos_installers_for_bulk_deployments/

", + "id": 452103842, + "sender_full_name": "IFTTT", + "timestamp": 1721228963 + }, + { + "content": "

Using Mason / Lazy in NixOS

\n

July 13, 2024 at 06:01AM

\n

https://old.reddit.com/r/NixOS/comments/1e29wld/using_mason_lazy_in_nixos/

", + "id": 452229209, + "sender_full_name": "IFTTT", + "timestamp": 1721268799 + }, + { + "content": "

NixOS is so beautiful and amazing.

\n

July 17, 2024 at 05:45PM

\n

https://old.reddit.com/r/NixOS/comments/1e5yemh/nixos_is_so_beautiful_and_amazing/

", + "id": 452236058, + "sender_full_name": "IFTTT", + "timestamp": 1721272715 + }, + { + "content": "

I noticed there weren't any console dice rollers in nixpkgs, so I made one

\n

July 17, 2024 at 03:03PM

\n

https://old.reddit.com/r/NixOS/comments/1e5urpr/i_noticed_there_werent_any_console_dice_rollers/

", + "id": 452292887, + "sender_full_name": "IFTTT", + "timestamp": 1721293997 + }, + { + "content": "

Which do you prefer in your Nix code?

\n

July 17, 2024 at 05:12PM

\n

https://old.reddit.com/r/NixOS/comments/1e5xq0t/which_do_you_prefer_in_your_nix_code/

", + "id": 452396232, + "sender_full_name": "IFTTT", + "timestamp": 1721322841 + }, + { + "content": "

I love nix but holy shit

\n

July 18, 2024 at 09:19AM

\n

https://old.reddit.com/r/NixOS/comments/1e6fd7h/i_love_nix_but_holy_shit/

", + "id": 452538961, + "sender_full_name": "IFTTT", + "timestamp": 1721383987 + }, + { + "content": "

NixOS vs Arch Linux

\n

July 19, 2024 at 08:39AM

\n

https://old.reddit.com/r/NixOS/comments/1e76r2j/nixos_vs_arch_linux/

", + "id": 452667605, + "sender_full_name": "IFTTT", + "timestamp": 1721423605 + }, + { + "content": "

Nix.Camp 2023 Blog Post

\n

July 19, 2024 at 07:06AM

\n

https://old.reddit.com/r/NixOS/comments/1e74loi/nixcamp_2023_blog_post/

", + "id": 452705008, + "sender_full_name": "IFTTT", + "timestamp": 1721445520 + }, + { + "content": "

Why is cron \"depreciated\"?

\n

July 19, 2024 at 01:04AM

\n

https://old.reddit.com/r/NixOS/comments/1e6yg2w/why_is_cron_depreciated/

", + "id": 452894810, + "sender_full_name": "IFTTT", + "timestamp": 1721506726 + }, + { + "content": "

new wallpaper just dropped

\n

July 20, 2024 at 12:33PM

\n

https://old.reddit.com/r/NixOS/comments/1e83myg/new_wallpaper_just_dropped/

", + "id": 452906491, + "sender_full_name": "IFTTT", + "timestamp": 1721513634 + }, + { + "content": "

An Argument against the use of watchdog chatbot in this subreddit

\n

July 20, 2024 at 04:06PM

\n

https://old.reddit.com/r/NixOS/comments/1e885up/an_argument_against_the_use_of_watchdog_chatbot/

", + "id": 452925869, + "sender_full_name": "IFTTT", + "timestamp": 1721528039 + }, + { + "content": "

How do you guys organize your .nix config files? I have a few of them spread out

\n

July 21, 2024 at 09:16PM

\n

https://old.reddit.com/r/NixOS/comments/1e95b69/how_do_you_guys_organize_your_nix_config_files_i/

", + "id": 453149133, + "sender_full_name": "IFTTT", + "timestamp": 1721646808 + }, + { + "content": "

How did I miss NixOS?

\n

July 22, 2024 at 06:43PM

\n

https://old.reddit.com/r/NixOS/comments/1e9vqz5/how_did_i_miss_nixos/

", + "id": 453328408, + "sender_full_name": "IFTTT", + "timestamp": 1721711377 + }, + { + "content": "

Full Time Nix | Domen Kožar

\n

July 23, 2024 at 08:16AM

\n

https://old.reddit.com/r/NixOS/comments/1eaae70/full_time_nix_domen_kožar/

", + "id": 453664529, + "sender_full_name": "IFTTT", + "timestamp": 1721819598 + }, + { + "content": "

It takes 68 steps to deploy Odoo with NixOS

\n

July 24, 2024 at 03:10AM

\n

https://old.reddit.com/r/NixOS/comments/1eaxsa7/it_takes_68_steps_to_deploy_odoo_with_nixos/

", + "id": 453753361, + "sender_full_name": "IFTTT", + "timestamp": 1721841237 + }, + { + "content": "

i want to try nixos

\n

July 23, 2024 at 04:05PM

\n

https://old.reddit.com/r/NixOS/comments/1ealygz/i_want_to_try_nixos/

", + "id": 453806056, + "sender_full_name": "IFTTT", + "timestamp": 1721858946 + }, + { + "content": "

Nixos-tidy - A module to clean this mess!

\n

July 24, 2024 at 10:00AM

\n

https://old.reddit.com/r/NixOS/comments/1eb6k8n/nixostidy_a_module_to_clean_this_mess/

", + "id": 453895006, + "sender_full_name": "IFTTT", + "timestamp": 1721898822 + }, + { + "content": "

Don’t use NixOS

\n

July 24, 2024 at 10:10AM

\n

https://old.reddit.com/r/NixOS/comments/1eb6tcf/dont_use_nixos/

", + "id": 453989648, + "sender_full_name": "IFTTT", + "timestamp": 1721923754 + }, + { + "content": "

Arch is a gateway drug to NixOS

\n

July 25, 2024 at 10:48AM

\n

https://old.reddit.com/r/NixOS/comments/1ec15tp/arch_is_a_gateway_drug_to_nixos/

", + "id": 454061842, + "sender_full_name": "IFTTT", + "timestamp": 1721945355 + }, + { + "content": "

Specialisations are pretty dope!

\n

July 25, 2024 at 04:57PM

\n

https://old.reddit.com/r/NixOS/comments/1ec9xwm/specialisations_are_pretty_dope/

", + "id": 454203670, + "sender_full_name": "IFTTT", + "timestamp": 1721978030 + }, + { + "content": "

Is NixOS the best OS for servers?

\n

July 26, 2024 at 08:11AM

\n

https://old.reddit.com/r/NixOS/comments/1ecqiq7/is_nixos_the_best_os_for_servers/

", + "id": 454364228, + "sender_full_name": "IFTTT", + "timestamp": 1722024816 + }, + { + "content": "

The NixOS Conflict in Under 5 Minutes

\n

July 26, 2024 at 07:13PM

\n

https://old.reddit.com/r/NixOS/comments/1ed5gbc/the_nixos_conflict_in_under_5_minutes/

", + "id": 454471365, + "sender_full_name": "IFTTT", + "timestamp": 1722086025 + }, + { + "content": "

NixCon 2024 Berlin Oct 25-27

\n

July 28, 2024 at 07:07AM

\n

https://old.reddit.com/r/NixOS/comments/1ee88kz/nixcon_2024_berlin_oct_2527/

", + "id": 454724789, + "sender_full_name": "IFTTT", + "timestamp": 1722230016 + }, + { + "content": "

A modular distro on top of nixos.

\n

July 28, 2024 at 05:06PM

\n

https://old.reddit.com/r/NixOS/comments/1eelq7h/a_modular_distro_on_top_of_nixos/

", + "id": 454924847, + "sender_full_name": "IFTTT", + "timestamp": 1722280689 + }, + { + "content": "

Nix Survey 2024

\n

July 29, 2024 at 09:20AM

\n

https://old.reddit.com/r/NixOS/comments/1ef3pgq/nix_survey_2024/

", + "id": 454950548, + "sender_full_name": "IFTTT", + "timestamp": 1722287347 + }, + { + "content": "

Dev workstation: yes or no

\n

July 29, 2024 at 08:00AM

\n

https://old.reddit.com/r/NixOS/comments/1ef1pd3/dev_workstation_yes_or_no/

", + "id": 455198617, + "sender_full_name": "IFTTT", + "timestamp": 1722366817 + }, + { + "content": "

What do flakes actually allow you to do?

\n

July 29, 2024 at 05:26PM

\n

https://old.reddit.com/r/NixOS/comments/1effly1/what_do_flakes_actually_allow_you_to_do/

", + "id": 455286071, + "sender_full_name": "IFTTT", + "timestamp": 1722402830 + }, + { + "content": "

What do these numbers mean while rebuilding a flake?

\n

July 29, 2024 at 04:48AM

\n

https://old.reddit.com/r/NixOS/comments/1eexhh0/what_do_these_numbers_mean_while_rebuilding_a/

", + "id": 455437141, + "sender_full_name": "IFTTT", + "timestamp": 1722446036 + }, + { + "content": "

NisOS-WSL is awesome

\n

July 31, 2024 at 11:28AM

\n

https://old.reddit.com/r/NixOS/comments/1eguj7b/nisoswsl_is_awesome/

", + "id": 455503287, + "sender_full_name": "IFTTT", + "timestamp": 1722467609 + }, + { + "content": "

Import but don’t import your NixOS modules

\n

July 29, 2024 at 08:17PM

\n

https://old.reddit.com/r/NixOS/comments/1efj5ls/import_but_dont_import_your_nixos_modules/

", + "id": 455781377, + "sender_full_name": "IFTTT", + "timestamp": 1722557622 + }, + { + "content": "

Homelab focused Nix community

\n

August 01, 2024 at 04:01PM

\n

https://old.reddit.com/r/NixOS/comments/1ehuiwa/homelab_focused_nix_community/

", + "id": 455853444, + "sender_full_name": "IFTTT", + "timestamp": 1722583131 + }, + { + "content": "

nixd has gotten fantastic

\n

August 01, 2024 at 09:37PM

\n

https://old.reddit.com/r/NixOS/comments/1ei1ank/nixd_has_gotten_fantastic/

", + "id": 455907622, + "sender_full_name": "IFTTT", + "timestamp": 1722597200 + }, + { + "content": "

nix btw

\n

August 02, 2024 at 11:14AM

\n

https://old.reddit.com/r/NixOS/comments/1eih2rm/nix_btw/

", + "id": 456034079, + "sender_full_name": "IFTTT", + "timestamp": 1722629624 + }, + { + "content": "

New one every week

\n

August 03, 2024 at 07:57AM

\n

https://old.reddit.com/r/NixOS/comments/1ej5ao5/new_one_every_week/

", + "id": 456191159, + "sender_full_name": "IFTTT", + "timestamp": 1722705188 + }, + { + "content": "

Steam-run is magic, I swear

\n

August 03, 2024 at 10:16AM

\n

https://old.reddit.com/r/NixOS/comments/1ej8n4x/steamrun_is_magic_i_swear/

", + "id": 456223037, + "sender_full_name": "IFTTT", + "timestamp": 1722719925 + }, + { + "content": "

Flakes dev experience

\n

August 04, 2024 at 01:44AM

\n

https://old.reddit.com/r/NixOS/comments/1ejqodn/flakes_dev_experience/

", + "id": 456297882, + "sender_full_name": "IFTTT", + "timestamp": 1722766424 + }, + { + "content": "

NixOS from Arch User, the ULTIMATE RABBIT HOLE

\n

August 04, 2024 at 06:50PM

\n

https://old.reddit.com/r/NixOS/comments/1ekbzsj/nixos_from_arch_user_the_ultimate_rabbit_hole/

", + "id": 456460265, + "sender_full_name": "IFTTT", + "timestamp": 1722841997 + }, + { + "content": "

Frustrations with NixOS: Community Support and Package Quality Issues

\n

August 03, 2024 at 10:09AM

\n

https://old.reddit.com/r/NixOS/comments/1ej8gwn/frustrations_with_nixos_community_support_and/

", + "id": 456657124, + "sender_full_name": "IFTTT", + "timestamp": 1722878037 + }, + { + "content": "

Just got started with nix, made minimal changes to my configuration.nix file (added like 2 or 3 packages) and tried to rebuild, got this... I made no change to any of the files mentioned

\n

July 30, 2024 at 05:57PM

\n

https://old.reddit.com/r/NixOS/comments/1ega433/just_got_started_with_nix_made_minimal_changes_to/

", + "id": 456761561, + "sender_full_name": "IFTTT", + "timestamp": 1722917618 + }, + { + "content": "

Amount of packages on fresh install

\n

August 05, 2024 at 09:07PM

\n

https://old.reddit.com/r/NixOS/comments/1el8d1b/amount_of_packages_on_fresh_install/

", + "id": 456816316, + "sender_full_name": "IFTTT", + "timestamp": 1722939219 + }, + { + "content": "

I made a Nix flake to automate AMD microcode updates

\n

August 06, 2024 at 09:45AM

\n

https://old.reddit.com/r/NixOS/comments/1elmo7k/i_made_a_nix_flake_to_automate_amd_microcode/

", + "id": 457120626, + "sender_full_name": "IFTTT", + "timestamp": 1723040014 + }, + { + "content": "

Everyone is talking about flakes

\n

August 07, 2024 at 12:21AM

\n

https://old.reddit.com/r/NixOS/comments/1em5jxz/everyone_is_talking_about_flakes/

", + "id": 457208785, + "sender_full_name": "IFTTT", + "timestamp": 1723067326 + }, + { + "content": "

NixOS is awesome (and a little guide on using amd-pstate on NixOS)

\n

August 07, 2024 at 11:58AM

\n

https://old.reddit.com/r/NixOS/comments/1emk6sr/nixos_is_awesome_and_a_little_guide_on_using/

", + "id": 457270490, + "sender_full_name": "IFTTT", + "timestamp": 1723094298 + }, + { + "content": "

nix site design improvement attempt/idea. What do you think?

\n

August 08, 2024 at 10:26AM

\n

https://old.reddit.com/r/NixOS/comments/1enbwgm/nix_site_design_improvement_attemptidea_what_do/

", + "id": 459312170, + "sender_full_name": "IFTTT", + "timestamp": 1723158786 + }, + { + "content": "

NixPackages Search

\n

August 08, 2024 at 10:58PM

\n

https://old.reddit.com/r/NixOS/comments/1ens8zm/nixpackages_search/

", + "id": 459515263, + "sender_full_name": "IFTTT", + "timestamp": 1723220031 + }, + { + "content": "

If Arch were to have as bad doc/wiki as NixOS, it would have been way worse compared to NixOS.

\n

August 09, 2024 at 09:15AM

\n

https://old.reddit.com/r/NixOS/comments/1eo3vbw/if_arch_were_to_have_as_bad_docwiki_as_nixos_it/

", + "id": 459577550, + "sender_full_name": "IFTTT", + "timestamp": 1723238020 + }, + { + "content": "

Principal Skinner on Immutable Distros

\n

August 10, 2024 at 12:47AM

\n

https://old.reddit.com/r/NixOS/comments/1eonj1e/principal_skinner_on_immutable_distros/

", + "id": 459702356, + "sender_full_name": "IFTTT", + "timestamp": 1723299198 + }, + { + "content": "

Challenged myself to use the same distro for the next year. NixOS was my choice.

\n

August 08, 2024 at 11:53PM

\n

https://old.reddit.com/r/NixOS/comments/1ent3us/challenged_myself_to_use_the_same_distro_for_the/

", + "id": 459737629, + "sender_full_name": "IFTTT", + "timestamp": 1723313927 + }, + { + "content": "

It's been a while since I've done nix collect garbage...

\n

August 10, 2024 at 10:28AM

\n

https://old.reddit.com/r/NixOS/comments/1eoyisn/its_been_a_while_since_ive_done_nix_collect/

", + "id": 459755695, + "sender_full_name": "IFTTT", + "timestamp": 1723321098 + }, + { + "content": "

Tvix Status - August '24

\n

August 11, 2024 at 01:19AM

\n

https://old.reddit.com/r/NixOS/comments/1epfski/tvix_status_august_24/

", + "id": 459939306, + "sender_full_name": "IFTTT", + "timestamp": 1723407525 + }, + { + "content": "

Is it only me, or nixOS infrastructure that bad?

\n

August 11, 2024 at 02:19PM

\n

https://old.reddit.com/r/NixOS/comments/1epvsp8/is_it_only_me_or_nixos_infrastructure_that_bad/

", + "id": 460026398, + "sender_full_name": "IFTTT", + "timestamp": 1723450434 + }, + { + "content": "

Note to self: Do NOT collect garbage and optimise the nix store at the same time

\n

August 08, 2024 at 03:15PM

\n

https://old.reddit.com/r/NixOS/comments/1enj0ab/note_to_self_do_not_collect_garbage_and_optimise/

", + "id": 462022142, + "sender_full_name": "IFTTT", + "timestamp": 1723526036 + }, + { + "content": "

Disk space

\n

August 11, 2024 at 04:58AM

\n

https://old.reddit.com/r/NixOS/comments/1epj390/disk_space/

", + "id": 462167768, + "sender_full_name": "IFTTT", + "timestamp": 1723569233 + }, + { + "content": "

What can be done about nixpkgs package quality?

\n

August 09, 2024 at 07:31PM

\n

https://old.reddit.com/r/NixOS/comments/1eoi509/what_can_be_done_about_nixpkgs_package_quality/

", + "id": 462290321, + "sender_full_name": "IFTTT", + "timestamp": 1723623539 + }, + { + "content": "

Lix got me with those juicy multiline logs :hushed:

\n

August 13, 2024 at 11:09PM

\n

https://old.reddit.com/r/NixOS/comments/1eru9kv/lix_got_me_with_those_juicy_multiline_logs/

", + "id": 462300846, + "sender_full_name": "IFTTT", + "timestamp": 1723626795 + }, + { + "content": "

NixOS will fail to rebuild right now, github is down.

\n

August 14, 2024 at 04:38PM

\n

https://old.reddit.com/r/NixOS/comments/1esgav3/nixos_will_fail_to_rebuild_right_now_github_is/

", + "id": 462489958, + "sender_full_name": "IFTTT", + "timestamp": 1723706012 + }, + { + "content": "

A Nod to NixOS

\n

August 14, 2024 at 10:08AM

\n

https://old.reddit.com/r/NixOS/comments/1es73qx/a_nod_to_nixos/

", + "id": 462571672, + "sender_full_name": "IFTTT", + "timestamp": 1723734531 + }, + { + "content": "

Finally

\n

August 15, 2024 at 02:04PM

\n

https://old.reddit.com/r/NixOS/comments/1et6gpp/finally/

", + "id": 462704599, + "sender_full_name": "IFTTT", + "timestamp": 1723785522 + }, + { + "content": "

NixOS, Raspberry Pi & Me

\n

August 13, 2024 at 10:17PM

\n

https://old.reddit.com/r/NixOS/comments/1ertfbs/nixos_raspberry_pi_me/

", + "id": 462714583, + "sender_full_name": "IFTTT", + "timestamp": 1723788824 + }, + { + "content": "

The COSMIC desktop Flake finally convinced me to learn Flakes.

\n

August 16, 2024 at 04:58PM

\n

https://old.reddit.com/r/NixOS/comments/1eu3xeg/the_cosmic_desktop_flake_finally_convinced_me_to/

", + "id": 462893274, + "sender_full_name": "IFTTT", + "timestamp": 1723864133 + }, + { + "content": "

Lix working on a NixOS/nixpkgs fork?

\n

August 14, 2024 at 05:25PM

\n

https://old.reddit.com/r/NixOS/comments/1eshclo/lix_working_on_a_nixosnixpkgs_fork/

", + "id": 463023302, + "sender_full_name": "IFTTT", + "timestamp": 1723918437 + }, + { + "content": "

Why does Home Manager have more package options than \"normal\" packages?

\n

August 16, 2024 at 08:26AM

\n

https://old.reddit.com/r/NixOS/comments/1etrpxu/why_does_home_manager_have_more_package_options/

", + "id": 463132301, + "sender_full_name": "IFTTT", + "timestamp": 1723972426 + }, + { + "content": "

How difficult is it in terms of effort to build and maintain nix packages as compared to Arch packages?

\n

August 14, 2024 at 09:25PM

\n

https://old.reddit.com/r/NixOS/comments/1esm7y2/how_difficult_is_it_in_terms_of_effort_to_build/

", + "id": 463158505, + "sender_full_name": "IFTTT", + "timestamp": 1723983190 + }, + { + "content": "

nixos-cli :: a new way of fast option discovery

\n

August 18, 2024 at 04:29AM

\n

https://old.reddit.com/r/NixOS/comments/1ev71qd/nixoscli_a_new_way_of_fast_option_discovery/

", + "id": 463171015, + "sender_full_name": "IFTTT", + "timestamp": 1723987125 + }, + { + "content": "

I installed NixOS and it only took me 9 attempts

\n

August 19, 2024 at 06:53AM

\n

https://old.reddit.com/r/NixOS/comments/1ew2e6y/i_installed_nixos_and_it_only_took_me_9_attempts/

", + "id": 463503558, + "sender_full_name": "IFTTT", + "timestamp": 1724098400 + }, + { + "content": "

Thoughts on SnowflakeOS and its Software Center?

\n

August 20, 2024 at 04:29PM

\n

https://old.reddit.com/r/NixOS/comments/1exagu7/thoughts_on_snowflakeos_and_its_software_center/

", + "id": 463965651, + "sender_full_name": "IFTTT", + "timestamp": 1724224432 + }, + { + "content": "

In case you missed it...

\n

August 21, 2024 at 10:01AM

\n

https://old.reddit.com/r/NixOS/comments/1exuxeq/in_case_you_missed_it/

", + "id": 464129960, + "sender_full_name": "IFTTT", + "timestamp": 1724264041 + }, + { + "content": "

Nix in 100 Seconds - Fireship

\n

August 21, 2024 at 11:45AM

\n

https://old.reddit.com/r/NixOS/comments/1exxk22/nix_in_100_seconds_fireship/

", + "id": 464172429, + "sender_full_name": "IFTTT", + "timestamp": 1724275145 + }, + { + "content": "

Thinking about switching back to arch

\n

August 17, 2024 at 01:58PM

\n

https://old.reddit.com/r/NixOS/comments/1eurtxe/thinking_about_switching_back_to_arch/

", + "id": 464208948, + "sender_full_name": "IFTTT", + "timestamp": 1724289217 + }, + { + "content": "

How do you setup your python dev environments?

\n

August 15, 2024 at 10:16AM

\n

https://old.reddit.com/r/NixOS/comments/1et0rlr/how_do_you_setup_your_python_dev_environments/

", + "id": 464262256, + "sender_full_name": "IFTTT", + "timestamp": 1724303635 + }, + { + "content": "

Playwright on NixOS for webdev

\n

August 22, 2024 at 02:06AM

\n

https://old.reddit.com/r/NixOS/comments/1eyenzf/playwright_on_nixos_for_webdev/

", + "id": 464421027, + "sender_full_name": "IFTTT", + "timestamp": 1724342963 + }, + { + "content": "

Guide: Installing NixOS with Flakes and LVM on LUKS

\n

August 16, 2024 at 07:16AM

\n

https://old.reddit.com/r/NixOS/comments/1etpxjc/guide_installing_nixos_with_flakes_and_lvm_on_luks/

", + "id": 464488616, + "sender_full_name": "IFTTT", + "timestamp": 1724364543 + }, + { + "content": "

Nixsa - A Nix Standalone Environment

\n

August 22, 2024 at 02:21PM

\n

https://old.reddit.com/r/NixOS/comments/1eyuxr4/nixsa_a_nix_standalone_environment/

", + "id": 464510773, + "sender_full_name": "IFTTT", + "timestamp": 1724371982 + }, + { + "content": "

Noob coming to NixOS but already facing problems

\n

August 22, 2024 at 01:27PM

\n

https://old.reddit.com/r/NixOS/comments/1eytnjc/noob_coming_to_nixos_but_already_facing_problems/

", + "id": 464682935, + "sender_full_name": "IFTTT", + "timestamp": 1724429619 + }, + { + "content": "

Why Does \"Stable\" Feel Unstable on NixOS? Seeking Clarity on Channel Differences

\n

August 22, 2024 at 01:27PM

\n

https://old.reddit.com/r/NixOS/comments/1eytntt/why_does_stable_feel_unstable_on_nixos_seeking/

", + "id": 464723493, + "sender_full_name": "IFTTT", + "timestamp": 1724440146 + }, + { + "content": "

How to get dynamic vfio working with nixos

\n

August 23, 2024 at 05:59PM

\n

https://old.reddit.com/r/NixOS/comments/1ezt0g4/how_to_get_dynamic_vfio_working_with_nixos/

", + "id": 464883360, + "sender_full_name": "IFTTT", + "timestamp": 1724523210 + }, + { + "content": "

Why do people check hardware config into vcs?

\n

August 24, 2024 at 08:47AM

\n

https://old.reddit.com/r/NixOS/comments/1f08e2d/why_do_people_check_hardware_config_into_vcs/

", + "id": 464890670, + "sender_full_name": "IFTTT", + "timestamp": 1724527099 + }, + { + "content": "

What features is nixvim missing?

\n

August 24, 2024 at 01:36AM

\n

https://old.reddit.com/r/NixOS/comments/1f00lzn/what_features_is_nixvim_missing/

", + "id": 464902648, + "sender_full_name": "IFTTT", + "timestamp": 1724534000 + }, + { + "content": "

Nixcord - a little hm-module I wrote for Vencord

\n

August 24, 2024 at 01:57PM

\n

https://old.reddit.com/r/NixOS/comments/1f0ffpz/nixcord_a_little_hmmodule_i_wrote_for_vencord/

", + "id": 464918907, + "sender_full_name": "IFTTT", + "timestamp": 1724548434 + }, + { + "content": "

What is your rule of thumb for packages in shell.nix and/or configuration.nix?

\n

August 25, 2024 at 02:31AM

\n

https://old.reddit.com/r/NixOS/comments/1f0sijz/what_is_your_rule_of_thumb_for_packages_in/

", + "id": 465036462, + "sender_full_name": "IFTTT", + "timestamp": 1724613184 + }, + { + "content": "

From Frustration to Contribution: My Journey into NixOS Maintenance

\n

August 25, 2024 at 04:13PM

\n

https://old.reddit.com/r/NixOS/comments/1f19ppw/from_frustration_to_contribution_my_journey_into/

", + "id": 465059530, + "sender_full_name": "IFTTT", + "timestamp": 1724635113 + }, + { + "content": "

How many people have ADHD here?

\n

August 25, 2024 at 08:21PM

\n

https://old.reddit.com/r/NixOS/comments/1f1eis2/how_many_people_have_adhd_here/

", + "id": 465084282, + "sender_full_name": "IFTTT", + "timestamp": 1724649208 + }, + { + "content": "

Confession: NixOS is by far the best Linux Distro....

\n

August 26, 2024 at 01:22AM

\n

https://old.reddit.com/r/NixOS/comments/1f1j1yy/confession_nixos_is_by_far_the_best_linux_distro/

", + "id": 465150107, + "sender_full_name": "IFTTT", + "timestamp": 1724670786 + }, + { + "content": "

Security Updates on NixOS

\n

August 25, 2024 at 08:36AM

\n

https://old.reddit.com/r/NixOS/comments/1f0z5lc/security_updates_on_nixos/

", + "id": 465590836, + "sender_full_name": "IFTTT", + "timestamp": 1724803742 + }, + { + "content": "

Thinking of switching to NixOS from Arch, but I have some doubts.

\n

August 27, 2024 at 03:14AM

\n

https://old.reddit.com/r/NixOS/comments/1f2dg69/thinking_of_switching_to_nixos_from_arch_but_i/

", + "id": 465778433, + "sender_full_name": "IFTTT", + "timestamp": 1724854157 + }, + { + "content": "

Other distros seem bland?

\n

August 27, 2024 at 10:55PM

\n

https://old.reddit.com/r/NixOS/comments/1f32u67/other_distros_seem_bland/

", + "id": 465833709, + "sender_full_name": "IFTTT", + "timestamp": 1724872398 + }, + { + "content": "

Where to get started when you dont know anything?

\n

August 28, 2024 at 09:18AM

\n

https://old.reddit.com/r/NixOS/comments/1f3ed4o/where_to_get_started_when_you_dont_know_anything/

", + "id": 465926849, + "sender_full_name": "IFTTT", + "timestamp": 1724915614 + }, + { + "content": "

One does not simply learn Nix.

\n

August 29, 2024 at 01:33PM

\n

https://old.reddit.com/r/NixOS/comments/1f4cr5w/one_does_not_simply_learn_nix/

", + "id": 466120342, + "sender_full_name": "IFTTT", + "timestamp": 1724969373 + }, + { + "content": "

What's the difference between these nixos-unstable, nixpkgs-unstable, and master?

\n

August 29, 2024 at 09:09AM

\n

https://old.reddit.com/r/NixOS/comments/1f46b04/whats_the_difference_between_these_nixosunstable/

", + "id": 466155057, + "sender_full_name": "IFTTT", + "timestamp": 1724991222 + }, + { + "content": "

Nix Governance Constitution; draft for feedback

\n

August 30, 2024 at 02:17PM

\n

https://old.reddit.com/r/NixOS/comments/1f56fxa/nix_governance_constitution_draft_for_feedback/

", + "id": 466428047, + "sender_full_name": "IFTTT", + "timestamp": 1725073999 + }, + { + "content": "

nixpkgs-merge-bot

\n

August 31, 2024 at 07:46AM

\n

https://old.reddit.com/r/NixOS/comments/1f5oy7u/nixpkgsmergebot/

", + "id": 466582378, + "sender_full_name": "IFTTT", + "timestamp": 1725124429 + }, + { + "content": "

How do you manage your dotfiles?

\n

August 31, 2024 at 04:28AM

\n

https://old.reddit.com/r/NixOS/comments/1f5l3o5/how_do_you_manage_your_dotfiles/

", + "id": 466607722, + "sender_full_name": "IFTTT", + "timestamp": 1725139117 + }, + { + "content": "

NixOS 2nd most based OS

\n

August 31, 2024 at 12:18PM

\n

https://old.reddit.com/r/NixOS/comments/1f5v567/nixos_2nd_most_based_os/

", + "id": 466607723, + "sender_full_name": "IFTTT", + "timestamp": 1725139117 + }, + { + "content": "

I have made a very important change to my setup

\n

August 31, 2024 at 06:27PM

\n

https://old.reddit.com/r/NixOS/comments/1f62vzu/i_have_made_a_very_important_change_to_my_setup/

", + "id": 466650071, + "sender_full_name": "IFTTT", + "timestamp": 1725171191 + }, + { + "content": "

Should we pause for a bit with the Nix experiment, reflect on what a gigantic mess the Nix language is and try to address the problem before it's too late?

\n

September 01, 2024 at 04:49AM

\n

https://old.reddit.com/r/NixOS/comments/1f6ckf3/should_we_pause_for_a_bit_with_the_nix_experiment/

", + "id": 466728238, + "sender_full_name": "IFTTT", + "timestamp": 1725207217 + }, + { + "content": "

My New Favorite Game on NixOS: “System Admin Simulator 2024”! :video_game::working_on_it:

\n

September 01, 2024 at 11:35AM

\n

https://old.reddit.com/r/NixOS/comments/1f6ljl5/my_new_favorite_game_on_nixos_system_admin/

", + "id": 466763417, + "sender_full_name": "IFTTT", + "timestamp": 1725225501 + }, + { + "content": "

2 weeks ago, i distrohopped to NixOS. today, i discovered i had installed it on the wrong storage device.

\n

September 01, 2024 at 11:10AM

\n

https://old.reddit.com/r/NixOS/comments/1f6kygt/2_weeks_ago_i_distrohopped_to_nixos_today_i/

", + "id": 466786775, + "sender_full_name": "IFTTT", + "timestamp": 1725239617 + }, + { + "content": "

FYI: Font Config is currently broken in unstable and will prevent fonts from displaying & certain applications from running.

\n

September 03, 2024 at 06:28PM

\n

https://old.reddit.com/r/NixOS/comments/1f8h1wb/fyi_font_config_is_currently_broken_in_unstable/

", + "id": 467531170, + "sender_full_name": "IFTTT", + "timestamp": 1725455631 + }, + { + "content": "

Loving Nix OS

\n

September 04, 2024 at 04:35PM

\n

https://old.reddit.com/r/NixOS/comments/1f982fm/loving_nix_os/

", + "id": 467707225, + "sender_full_name": "IFTTT", + "timestamp": 1725505992 + }, + { + "content": "

beginner tries to install minecraft

\n

September 04, 2024 at 10:43AM

\n

https://old.reddit.com/r/NixOS/comments/1f8zlhb/beginner_tries_to_install_minecraft/

", + "id": 467741102, + "sender_full_name": "IFTTT", + "timestamp": 1725520420 + }, + { + "content": "

(Guide) Producing a good C development environment

\n

September 03, 2024 at 09:44AM

\n

https://old.reddit.com/r/NixOS/comments/1f84piu/guide_producing_a_good_c_development_environment/

", + "id": 468326051, + "sender_full_name": "IFTTT", + "timestamp": 1725677019 + }, + { + "content": "

Quick tip: you can get patches from GitHub PRs

\n

September 06, 2024 at 11:21AM

\n

https://old.reddit.com/r/NixOS/comments/1fam4t8/quick_tip_you_can_get_patches_from_github_prs/

", + "id": 468354101, + "sender_full_name": "IFTTT", + "timestamp": 1725689620 + }, + { + "content": "

I couldn't hold myself and fell for the dire mistake of compiling everything from source by specifying cpu architecture in config. It has been around 8 hours and it still compiles. Why does it compile firefox, gtk, Qt etc. as they are not installed on my server nix system? I didn't install them

\n

September 01, 2024 at 04:49AM

\n

https://old.reddit.com/r/NixOS/comments/1f6ckgc/i_couldnt_hold_myself_and_fell_for_the_dire/

", + "id": 468425195, + "sender_full_name": "IFTTT", + "timestamp": 1725722019 + }, + { + "content": "

Any better way to pin package version?

\n

September 02, 2024 at 09:21AM

\n

https://old.reddit.com/r/NixOS/comments/1f7aurt/any_better_way_to_pin_package_version/

", + "id": 468469684, + "sender_full_name": "IFTTT", + "timestamp": 1725740024 + }, + { + "content": "

NixOS for gaming?

\n

September 05, 2024 at 04:12AM

\n

https://old.reddit.com/r/NixOS/comments/1f9jt7d/nixos_for_gaming/

", + "id": 468497513, + "sender_full_name": "IFTTT", + "timestamp": 1725761622 + }, + { + "content": "

NixOS systemz 4 life

\n

September 07, 2024 at 09:23PM

\n

https://old.reddit.com/r/NixOS/comments/1fbpi6b/nixos_systemz_4_life/

", + "id": 468520513, + "sender_full_name": "IFTTT", + "timestamp": 1725776025 + }, + { + "content": "

Poly-repo Nixpkgs Fork Roadmap

\n

September 07, 2024 at 04:24PM

\n

https://old.reddit.com/r/NixOS/comments/1fbk4iw/polyrepo_nixpkgs_fork_roadmap/

", + "id": 468524651, + "sender_full_name": "IFTTT", + "timestamp": 1725779617 + }, + { + "content": "

Can we get more hw-probe results for NixOS into Linux Hardware Database (please)

\n

September 08, 2024 at 01:15AM

\n

https://old.reddit.com/r/NixOS/comments/1fbsv7l/can_we_get_more_hwprobe_results_for_nixos_into/

", + "id": 468584800, + "sender_full_name": "IFTTT", + "timestamp": 1725808409 + }, + { + "content": "

Anyone using nixvim?

\n

September 08, 2024 at 07:20AM

\n

https://old.reddit.com/r/NixOS/comments/1fbyvwf/anyone_using_nixvim/

", + "id": 468615284, + "sender_full_name": "IFTTT", + "timestamp": 1725822809 + }, + { + "content": "

Example repo with Flake + Terraform configuration for deploying NixOS (with GPU support) on AWS

\n

September 08, 2024 at 06:18PM

\n

https://old.reddit.com/r/NixOS/comments/1fcdmpt/example_repo_with_flake_terraform_configuration/

", + "id": 468830564, + "sender_full_name": "IFTTT", + "timestamp": 1725894830 + }, + { + "content": "

Should I switch over to NixOS

\n

September 08, 2024 at 12:02PM

\n

https://old.reddit.com/r/NixOS/comments/1fc5es5/should_i_switch_over_to_nixos/

", + "id": 468935587, + "sender_full_name": "IFTTT", + "timestamp": 1725923624 + }, + { + "content": "

Nix 2.24+ is vulnerable to (remote) privilege escalation

\n

September 09, 2024 at 08:42PM

\n

https://old.reddit.com/r/NixOS/comments/1fd8s77/nix_224_is_vulnerable_to_remote_privilege/

", + "id": 468993971, + "sender_full_name": "IFTTT", + "timestamp": 1725948823 + }, + { + "content": "

Just joined the gang

\n

September 10, 2024 at 12:51AM

\n

https://old.reddit.com/r/NixOS/comments/1fdcgtn/just_joined_the_gang/

", + "id": 469126166, + "sender_full_name": "IFTTT", + "timestamp": 1725981218 + }, + { + "content": "

Last call for feedback; Nix Governance Constitution to be finalised on 2024-09-16

\n

September 09, 2024 at 04:54PM

\n

https://old.reddit.com/r/NixOS/comments/1fd4bmk/last_call_for_feedback_nix_governance/

", + "id": 469215581, + "sender_full_name": "IFTTT", + "timestamp": 1726002837 + }, + { + "content": "

Live ISOs for COSMIC Alpha on NixOS

\n

September 10, 2024 at 09:27AM

\n

https://old.reddit.com/r/NixOS/comments/1fdm3gd/live_isos_for_cosmic_alpha_on_nixos/

", + "id": 469237454, + "sender_full_name": "IFTTT", + "timestamp": 1726013628 + }, + { + "content": "

Seeking Feedback: Paid Long-Term Support (LTS) for NixOS starting with 24.05

\n

September 10, 2024 at 06:42AM

\n

https://old.reddit.com/r/NixOS/comments/1fdi6ji/seeking_feedback_paid_longterm_support_lts_for/

", + "id": 469317672, + "sender_full_name": "IFTTT", + "timestamp": 1726042423 + }, + { + "content": "

devenv 1.1: Nested Nix outputs using the module system

\n

September 11, 2024 at 03:36AM

\n

https://old.reddit.com/r/NixOS/comments/1fe6y5m/devenv_11_nested_nix_outputs_using_the_module/

", + "id": 469514280, + "sender_full_name": "IFTTT", + "timestamp": 1726092568 + }, + { + "content": "

How do you guys hide specific parts of your config?

\n

September 11, 2024 at 10:40AM

\n

https://old.reddit.com/r/NixOS/comments/1feg7le/how_do_you_guys_hide_specific_parts_of_your_config/

", + "id": 469536008, + "sender_full_name": "IFTTT", + "timestamp": 1726107225 + }, + { + "content": "

Good configs to copy?

\n

September 13, 2024 at 06:09AM

\n

https://old.reddit.com/r/NixOS/comments/1ffucec/good_configs_to_copy/

", + "id": 470161422, + "sender_full_name": "IFTTT", + "timestamp": 1726315983 + }, + { + "content": "

Sorry guys, I'm learning

\n

September 14, 2024 at 08:30AM

\n

https://old.reddit.com/r/NixOS/comments/1fgop43/sorry_guys_im_learning/

", + "id": 470201679, + "sender_full_name": "IFTTT", + "timestamp": 1726333734 + }, + { + "content": "

So what's the proper way to install fonts from packages?

\n

September 12, 2024 at 06:41PM

\n

https://old.reddit.com/r/NixOS/comments/1ffj6mm/so_whats_the_proper_way_to_install_fonts_from/

", + "id": 470307358, + "sender_full_name": "IFTTT", + "timestamp": 1726391611 + }, + { + "content": "

Dropping Home-Manager

\n

September 15, 2024 at 07:24AM

\n

https://old.reddit.com/r/NixOS/comments/1fhdp8b/dropping_homemanager/

", + "id": 470376820, + "sender_full_name": "IFTTT", + "timestamp": 1726427634 + }, + { + "content": "

[Poly-repo Fork] Rename dependency names to be more ergonomic

\n

September 15, 2024 at 01:11PM

\n

https://old.reddit.com/r/NixOS/comments/1fhlxi2/polyrepo_fork_rename_dependency_names_to_be_more/

", + "id": 470466430, + "sender_full_name": "IFTTT", + "timestamp": 1726467214 + }, + { + "content": "

I'd take a gunshot instead of '--show-trace'

\n

September 16, 2024 at 09:07AM

\n

https://old.reddit.com/r/NixOS/comments/1fi8h20/id_take_a_gunshot_instead_of_showtrace/

", + "id": 470680721, + "sender_full_name": "IFTTT", + "timestamp": 1726506909 + }, + { + "content": "

Me rn

\n

September 16, 2024 at 08:58AM

\n

https://old.reddit.com/r/NixOS/comments/1fi88z1/me_rn/

", + "id": 470700539, + "sender_full_name": "IFTTT", + "timestamp": 1726510466 + }, + { + "content": "

Nix Steering Committee Election 2024

\n

September 16, 2024 at 11:34AM

\n

https://old.reddit.com/r/NixOS/comments/1fic688/nix_steering_committee_election_2024/

", + "id": 471042154, + "sender_full_name": "IFTTT", + "timestamp": 1726593121 + }, + { + "content": "

Slow performance on nixos with docker compared to arch

\n

September 12, 2024 at 07:04AM

\n

https://old.reddit.com/r/NixOS/comments/1ff3dcz/slow_performance_on_nixos_with_docker_compared_to/

", + "id": 471232723, + "sender_full_name": "IFTTT", + "timestamp": 1726657997 + }, + { + "content": "

My Spaghetti looks like NixOS

\n

September 18, 2024 at 07:14AM

\n

https://old.reddit.com/r/NixOS/comments/1fjtv4j/my_spaghetti_looks_like_nixos/

", + "id": 471282663, + "sender_full_name": "IFTTT", + "timestamp": 1726672175 + }, + { + "content": "

Why does it take so much time to clear the login screen

\n

September 17, 2024 at 10:12PM

\n

https://old.reddit.com/r/NixOS/comments/1fjl6x4/why_does_it_take_so_much_time_to_clear_the_login/

", + "id": 471496523, + "sender_full_name": "IFTTT", + "timestamp": 1726755263 + }, + { + "content": "

Rant and praise for Nixos

\n

September 18, 2024 at 01:58AM

\n

https://old.reddit.com/r/NixOS/comments/1fjoaow/rant_and_praise_for_nixos/

", + "id": 471540440, + "sender_full_name": "IFTTT", + "timestamp": 1726769595 + }, + { + "content": "

Default Nix version reverted again (nix: revert default to 2.18 for now)

\n

September 19, 2024 at 07:31AM

\n

https://old.reddit.com/r/NixOS/comments/1fkma7u/default_nix_version_reverted_again_nix_revert/

", + "id": 471548632, + "sender_full_name": "IFTTT", + "timestamp": 1726773227 + }, + { + "content": "

Thinking About Using NixOS Daily—Is It Worth It?

\n

September 19, 2024 at 12:08AM

\n

https://old.reddit.com/r/NixOS/comments/1fkexwe/thinking_about_using_nixos_dailyis_it_worth_it/

", + "id": 471590952, + "sender_full_name": "IFTTT", + "timestamp": 1726798139 + }, + { + "content": "

Looking for advice on using Nix in a corporate environment

\n

September 20, 2024 at 07:25AM

\n

https://old.reddit.com/r/NixOS/comments/1fldb1r/looking_for_advice_on_using_nix_in_a_corporate/

", + "id": 471841327, + "sender_full_name": "IFTTT", + "timestamp": 1726870430 + }, + { + "content": "

Remember to endorse candidates you like in the SC election! (If you're eligible)

\n

September 20, 2024 at 01:49PM

\n

https://old.reddit.com/r/NixOS/comments/1flm7xn/remember_to_endorse_candidates_you_like_in_the_sc/

", + "id": 471910355, + "sender_full_name": "IFTTT", + "timestamp": 1726909997 + }, + { + "content": "

Finally On NixOs

\n

September 21, 2024 at 09:42AM

\n

https://old.reddit.com/r/NixOS/comments/1fm7674/finally_on_nixos/

", + "id": 471966884, + "sender_full_name": "IFTTT", + "timestamp": 1726945719 + }, + { + "content": "

What is going on? 300GB Nix flake??

\n

September 21, 2024 at 08:16PM

\n

https://old.reddit.com/r/NixOS/comments/1fmjwlv/what_is_going_on_300gb_nix_flake/

", + "id": 472025927, + "sender_full_name": "IFTTT", + "timestamp": 1726992530 + }, + { + "content": "

Idea for NixOS installer - disable screen auto-locking

\n

September 22, 2024 at 04:19PM

\n

https://old.reddit.com/r/NixOS/comments/1fn6jh8/idea_for_nixos_installer_disable_screen/

", + "id": 472274731, + "sender_full_name": "IFTTT", + "timestamp": 1727108026 + }, + { + "content": "

Brooo please :sob:

\n

September 23, 2024 at 09:14AM

\n

https://old.reddit.com/r/NixOS/comments/1fnocbz/brooo_please/

", + "id": 472298246, + "sender_full_name": "IFTTT", + "timestamp": 1727115235 + }, + { + "content": "

Is NixOS able to be hardened?

\n

September 24, 2024 at 12:57AM

\n

https://old.reddit.com/r/NixOS/comments/1fo77mo/is_nixos_able_to_be_hardened/

", + "id": 472478922, + "sender_full_name": "IFTTT", + "timestamp": 1727179988 + }, + { + "content": "

Immich merged to NixOS:master

\n

September 24, 2024 at 07:39AM

\n

https://old.reddit.com/r/NixOS/comments/1foe3bd/immich_merged_to_nixosmaster/

", + "id": 472565844, + "sender_full_name": "IFTTT", + "timestamp": 1727208558 + }, + { + "content": "

SC election 2024: Nominate edolstra

\n

September 24, 2024 at 08:00AM

\n

https://old.reddit.com/r/NixOS/comments/1foem5n/sc_election_2024_nominate_edolstra/

", + "id": 472620526, + "sender_full_name": "IFTTT", + "timestamp": 1727244803 + }, + { + "content": "

The \"Nix-way\" of running non-Nixified binaries on Nix

\n

September 25, 2024 at 02:00AM

\n

https://old.reddit.com/r/NixOS/comments/1fozy15/the_nixway_of_running_nonnixified_binaries_on_nix/

", + "id": 472694508, + "sender_full_name": "IFTTT", + "timestamp": 1727270008 + }, + { + "content": "

I have successfully become another victim of the Arch to NixOS pipeline! What's a good tiling wm?

\n

September 26, 2024 at 11:56AM

\n

https://old.reddit.com/r/NixOS/comments/1fq3xg5/i_have_successfully_become_another_victim_of_the/

", + "id": 473015863, + "sender_full_name": "IFTTT", + "timestamp": 1727414013 + }, + { + "content": "

Neovim on nix is driving me nuts ..

\n

September 26, 2024 at 12:51PM

\n

https://old.reddit.com/r/NixOS/comments/1fq57wy/neovim_on_nix_is_driving_me_nuts/

", + "id": 473042340, + "sender_full_name": "IFTTT", + "timestamp": 1727424829 + }, + { + "content": "

[Podcast] FTN interview with Jonathan Ringer

\n

September 27, 2024 at 10:23AM

\n

https://old.reddit.com/r/NixOS/comments/1fqt2to/podcast_ftn_interview_with_jonathan_ringer/

", + "id": 473366778, + "sender_full_name": "IFTTT", + "timestamp": 1727543612 + }, + { + "content": "

Git hashes in Nix

\n

September 24, 2024 at 07:09PM

\n

https://old.reddit.com/r/NixOS/comments/1fotp97/git_hashes_in_nix/

", + "id": 473409342, + "sender_full_name": "IFTTT", + "timestamp": 1727582920 + }, + { + "content": "

What's the current situation of Nix for newcomers?

\n

September 24, 2024 at 10:34AM

\n

https://old.reddit.com/r/NixOS/comments/1foib3e/whats_the_current_situation_of_nix_for_newcomers/

", + "id": 473510029, + "sender_full_name": "IFTTT", + "timestamp": 1727655199 + }, + { + "content": "

SC Election: Your stance on sponsorships in the Nix community

\n

September 27, 2024 at 01:12PM

\n

https://old.reddit.com/r/NixOS/comments/1fqwy0w/sc_election_your_stance_on_sponsorships_in_the/

", + "id": 473801829, + "sender_full_name": "IFTTT", + "timestamp": 1727716706 + }, + { + "content": "

NixOS for every PC on the planet

\n

September 26, 2024 at 11:39AM

\n

https://old.reddit.com/r/NixOS/comments/1fq3iyo/nixos_for_every_pc_on_the_planet/

", + "id": 473952705, + "sender_full_name": "IFTTT", + "timestamp": 1727763191 + }, + { + "content": "

man i love my computer! and nix, its usually quite convenient! the .config system is so nice and i really feel like it gives insight to how the computer works!

\n

September 30, 2024 at 04:17PM

\n

https://old.reddit.com/r/NixOS/comments/1ft9n41/man_i_love_my_computer_and_nix_its_usually_quite/

", + "id": 473965973, + "sender_full_name": "IFTTT", + "timestamp": 1727766803 + }, + { + "content": "

LazyVim distro example?

\n

September 29, 2024 at 01:22AM

\n

https://old.reddit.com/r/NixOS/comments/1frzom3/lazyvim_distro_example/

", + "id": 474062437, + "sender_full_name": "IFTTT", + "timestamp": 1727795598 + }, + { + "content": "

Is NixOS that difficult?

\n

October 01, 2024 at 06:56AM

\n

https://old.reddit.com/r/NixOS/comments/1ftopwo/is_nixos_that_difficult/

", + "id": 474085806, + "sender_full_name": "IFTTT", + "timestamp": 1727802529 + }, + { + "content": "

[Freaking awesome] Setted up Imermanence with Luks and btrfs + disko

\n

September 30, 2024 at 04:25AM

\n

https://old.reddit.com/r/NixOS/comments/1fst619/freaking_awesome_setted_up_imermanence_with_luks/

", + "id": 474176712, + "sender_full_name": "IFTTT", + "timestamp": 1727838548 + }, + { + "content": "

Do you work with Nix or NixOS?

\n

September 26, 2024 at 04:18PM

\n

https://old.reddit.com/r/NixOS/comments/1fq9whj/do_you_work_with_nix_or_nixos/

", + "id": 474240354, + "sender_full_name": "IFTTT", + "timestamp": 1727860125 + }, + { + "content": "

Disko got a new logo

\n

October 02, 2024 at 02:13PM

\n

https://old.reddit.com/r/NixOS/comments/1fur91n/disko_got_a_new_logo/

", + "id": 474410042, + "sender_full_name": "IFTTT", + "timestamp": 1727907210 + }, + { + "content": "

There's a reason I don't use Gentoo...

\n

October 02, 2024 at 08:45PM

\n

https://old.reddit.com/r/NixOS/comments/1fuyzdt/theres_a_reason_i_dont_use_gentoo/

", + "id": 474485728, + "sender_full_name": "IFTTT", + "timestamp": 1727936019 + }, + { + "content": "

devenv 1.3: Instant developer environments with Nix caching

\n

October 03, 2024 at 06:38AM

\n

https://old.reddit.com/r/NixOS/comments/1fv7yqc/devenv_13_instant_developer_environments_with_nix/

", + "id": 474664685, + "sender_full_name": "IFTTT", + "timestamp": 1727982565 + }, + { + "content": "

Graduating from Newbie to Knows a Little

\n

October 02, 2024 at 11:06PM

\n

https://old.reddit.com/r/NixOS/comments/1fv15xj/graduating_from_newbie_to_knows_a_little/

", + "id": 474701268, + "sender_full_name": "IFTTT", + "timestamp": 1728000794 + }, + { + "content": "

NixOS Profile Photo

\n

October 04, 2024 at 08:43AM

\n

https://old.reddit.com/r/NixOS/comments/1fw2a1s/nixos_profile_photo/

", + "id": 474877259, + "sender_full_name": "IFTTT", + "timestamp": 1728065593 + }, + { + "content": "

I don't know Nix... should I still try out NixOS?

\n

October 03, 2024 at 12:29PM

\n

https://old.reddit.com/r/NixOS/comments/1fvg1hi/i_dont_know_nix_should_i_still_try_out_nixos/

", + "id": 474894316, + "sender_full_name": "IFTTT", + "timestamp": 1728072521 + }, + { + "content": "

networking.interfaces vs systemd.network.networks

\n

October 04, 2024 at 08:13PM

\n

https://old.reddit.com/r/NixOS/comments/1fwh4f0/networkinginterfaces_vs_systemdnetworknetworks/

", + "id": 475018665, + "sender_full_name": "IFTTT", + "timestamp": 1728159185 + }, + { + "content": "

nixos-unified-template: NixOS / nix-darwin / home-manager in one repo

\n

October 04, 2024 at 03:14PM

\n

https://old.reddit.com/r/NixOS/comments/1fwbd4b/nixosunifiedtemplate_nixos_nixdarwin_homemanager/

", + "id": 475023421, + "sender_full_name": "IFTTT", + "timestamp": 1728162803 + }, + { + "content": "

It's in staging-24.05, not yet in staging-next-24.05, & the nixos:release-24.05 hydra has a 36-hour check interval

\n

October 05, 2024 at 12:30PM

\n

https://old.reddit.com/r/NixOS/comments/1fwyak1/its_in_staging2405_not_yet_in_stagingnext2405_the/

", + "id": 475030394, + "sender_full_name": "IFTTT", + "timestamp": 1728169987 + }, + { + "content": "

Nix is built for its own developers

\n

October 05, 2024 at 02:44PM

\n

https://old.reddit.com/r/NixOS/comments/1fx1653/nix_is_built_for_its_own_developers/

", + "id": 475033641, + "sender_full_name": "IFTTT", + "timestamp": 1728173583 + }, + { + "content": "

Is there a benefit to using NixOS as a casual linux user?

\n

October 05, 2024 at 02:58PM

\n

https://old.reddit.com/r/NixOS/comments/1fx1go0/is_there_a_benefit_to_using_nixos_as_a_casual/

", + "id": 475095377, + "sender_full_name": "IFTTT", + "timestamp": 1728217413 + }, + { + "content": "

Retro handheld support? RK3588 chipset has community NixOS support, I'm wondering how difficult the RK3566 would be, that chipset lives in 99% of retro handhelds.

\n

October 06, 2024 at 11:02AM

\n

https://old.reddit.com/r/NixOS/comments/1fxmmtf/retro_handheld_support_rk3588_chipset_has/

", + "id": 475149878, + "sender_full_name": "IFTTT", + "timestamp": 1728252804 + }, + { + "content": "

[wip]: Introducing nixthe.systems: A Platform for sharing Nix Configurations and More

\n

October 06, 2024 at 09:24PM

\n

https://old.reddit.com/r/NixOS/comments/1fxzfay/wip_introducing_nixthesystems_a_platform_for/

", + "id": 475283946, + "sender_full_name": "IFTTT", + "timestamp": 1728303531 + }, + { + "content": "

Released v2 of My Nvim Setup: Modular, Minimalist

\n

October 07, 2024 at 04:44AM

\n

https://old.reddit.com/r/NixOS/comments/1fy5lab/released_v2_of_my_nvim_setup_modular_minimalist/

", + "id": 475470573, + "sender_full_name": "IFTTT", + "timestamp": 1728364411 + }, + { + "content": "

My Nix Configuration with Flakes, Agenix, Home-Manager and Automatic Module Documentation

\n

October 08, 2024 at 01:04AM

\n

https://old.reddit.com/r/NixOS/comments/1fyun1k/my_nix_configuration_with_flakes_agenix/

", + "id": 475966941, + "sender_full_name": "IFTTT", + "timestamp": 1728511752 + }, + { + "content": "

my nixos utility, nixedit

\n

October 05, 2024 at 04:45PM

\n

https://old.reddit.com/r/NixOS/comments/1fx3lc1/my_nixos_utility_nixedit/

", + "id": 476025403, + "sender_full_name": "IFTTT", + "timestamp": 1728533331 + }, + { + "content": "

Leaving Nix for Guix

\n

October 10, 2024 at 02:10AM

\n

https://old.reddit.com/r/NixOS/comments/1g0emxe/leaving_nix_for_guix/

", + "id": 476117878, + "sender_full_name": "IFTTT", + "timestamp": 1728562413 + }, + { + "content": "

Is NixOS good for development

\n

October 10, 2024 at 01:05AM

\n

https://old.reddit.com/r/NixOS/comments/1g0du55/is_nixos_good_for_development/

", + "id": 476307656, + "sender_full_name": "IFTTT", + "timestamp": 1728627193 + }, + { + "content": "

Yo, this is not rabbit hole, it's a black hole

\n

October 11, 2024 at 07:47AM

\n

https://old.reddit.com/r/NixOS/comments/1g1bjib/yo_this_is_not_rabbit_hole_its_a_black_hole/

", + "id": 476428169, + "sender_full_name": "IFTTT", + "timestamp": 1728666535 + }, + { + "content": "

[Discussion] The difference between GNU Guix and NixOS.

\n

October 10, 2024 at 10:37PM

\n

https://old.reddit.com/r/NixOS/comments/1g12rq7/discussion_the_difference_between_gnu_guix_and/

", + "id": 476451827, + "sender_full_name": "IFTTT", + "timestamp": 1728677356 + }, + { + "content": "

Heard about the rollbacks. Came for the declaration. Stayed for the flakes. Fell in love with the modularity.

\n

October 11, 2024 at 09:20PM

\n

https://old.reddit.com/r/NixOS/comments/1g1s99w/heard_about_the_rollbacks_came_for_the/

", + "id": 476501302, + "sender_full_name": "IFTTT", + "timestamp": 1728717200 + }, + { + "content": "

New BFF

\n

October 12, 2024 at 11:02AM

\n

https://old.reddit.com/r/NixOS/comments/1g25xkt/new_bff/

", + "id": 476549432, + "sender_full_name": "IFTTT", + "timestamp": 1728763714 + }, + { + "content": "

Nix has actually less packages than AUR

\n

October 12, 2024 at 06:02AM

\n

https://old.reddit.com/r/NixOS/comments/1g1zn65/nix_has_actually_less_packages_than_aur/

", + "id": 476558945, + "sender_full_name": "IFTTT", + "timestamp": 1728774792 + }, + { + "content": "

me trying to run a random binary

\n

October 12, 2024 at 04:49PM

\n

https://old.reddit.com/r/NixOS/comments/1g2d2fg/me_trying_to_run_a_random_binary/

", + "id": 476588061, + "sender_full_name": "IFTTT", + "timestamp": 1728807190 + }, + { + "content": "

My small side project: Nix GitLab CI

\n

October 13, 2024 at 03:23AM

\n

https://old.reddit.com/r/NixOS/comments/1g2mmq7/my_small_side_project_nix_gitlab_ci/

", + "id": 476613475, + "sender_full_name": "IFTTT", + "timestamp": 1728832390 + }, + { + "content": "

Made a NixOS Oh My Posh theme

\n

October 14, 2024 at 09:56AM

\n

https://old.reddit.com/r/NixOS/comments/1g3kno8/made_a_nixos_oh_my_posh_theme/

", + "id": 476899783, + "sender_full_name": "IFTTT", + "timestamp": 1728969211 + }, + { + "content": "

PSA: Nix Elections Database Corrupted; Revote Likely

\n

October 14, 2024 at 04:04AM

\n

https://old.reddit.com/r/NixOS/comments/1g3d4ku/psa_nix_elections_database_corrupted_revote_likely/

", + "id": 477394428, + "sender_full_name": "IFTTT", + "timestamp": 1729156137 + }, + { + "content": "

Rate my flake

\n

October 16, 2024 at 06:57AM

\n

https://old.reddit.com/r/NixOS/comments/1g500h1/rate_my_flake/

", + "id": 477407209, + "sender_full_name": "IFTTT", + "timestamp": 1729159993 + }, + { + "content": "

CUDA Support Moved To Nix-Community

\n

October 16, 2024 at 08:06PM

\n

https://old.reddit.com/r/NixOS/comments/1g5hcc9/cuda_support_moved_to_nixcommunity/

", + "id": 477524587, + "sender_full_name": "IFTTT", + "timestamp": 1729199345 + }, + { + "content": "

Flake.nix that covers multiple hosts.

\n

October 14, 2024 at 04:20AM

\n

https://old.reddit.com/r/NixOS/comments/1g3dd5e/flakenix_that_covers_multiple_hosts/

", + "id": 477677530, + "sender_full_name": "IFTTT", + "timestamp": 1729264435 + }, + { + "content": "

If you're struggling to get NPM packages to work in NixOS do this

\n

October 15, 2024 at 03:34AM

\n

https://old.reddit.com/r/NixOS/comments/1g44kta/if_youre_struggling_to_get_npm_packages_to_work/

", + "id": 477774494, + "sender_full_name": "IFTTT", + "timestamp": 1729314795 + }, + { + "content": "

Using NixOS to develop mobile apps with rust tauri v2

\n

October 18, 2024 at 06:04AM

\n

https://old.reddit.com/r/NixOS/comments/1g6hkln/using_nixos_to_develop_mobile_apps_with_rust/

", + "id": 477800868, + "sender_full_name": "IFTTT", + "timestamp": 1729340003 + }, + { + "content": "

Yae ‒ Powerful yet minimal dependency manager intended for use with Nix, which functions similar to niv and npins

\n

October 14, 2024 at 01:36PM

\n

https://old.reddit.com/r/NixOS/comments/1g3q2gq/yae_powerful_yet_minimal_dependency_manager/

", + "id": 477814968, + "sender_full_name": "IFTTT", + "timestamp": 1729350832 + }, + { + "content": "

Nix Elections: Voting Open Until 2024-11-03

\n

October 18, 2024 at 01:33PM

\n

https://old.reddit.com/r/NixOS/comments/1g6s0mc/nix_elections_voting_open_until_20241103/

", + "id": 477827462, + "sender_full_name": "IFTTT", + "timestamp": 1729361616 + }, + { + "content": "

[blog] Deploying Nix builds on Fly.io

\n

October 19, 2024 at 08:05AM

\n

https://old.reddit.com/r/NixOS/comments/1g7avb8/blog_deploying_nix_builds_on_flyio/

", + "id": 477838632, + "sender_full_name": "IFTTT", + "timestamp": 1729372387 + }, + { + "content": "

Switching from Arch to Nix

\n

October 20, 2024 at 01:17PM

\n

https://old.reddit.com/r/NixOS/comments/1g87z2q/switching_from_arch_to_nix/

", + "id": 477939444, + "sender_full_name": "IFTTT", + "timestamp": 1729469631 + }, + { + "content": "

Lix(?) forking NixOS/nixpkgs

\n

October 20, 2024 at 07:32AM

\n

https://old.reddit.com/r/NixOS/comments/1g801r9/lix_forking_nixosnixpkgs/

", + "id": 477942915, + "sender_full_name": "IFTTT", + "timestamp": 1729472932 + }, + { + "content": "

A deterministic walk through a simple Nix-expression

\n

October 21, 2024 at 07:55AM

\n

https://old.reddit.com/r/NixOS/comments/1g8rmys/a_deterministic_walk_through_a_simple/

", + "id": 478099727, + "sender_full_name": "IFTTT", + "timestamp": 1729527189 + }, + { + "content": "

NixOS for the non-programmer?

\n

October 21, 2024 at 02:41AM

\n

https://old.reddit.com/r/NixOS/comments/1g8lr08/nixos_for_the_nonprogrammer/

", + "id": 478111102, + "sender_full_name": "IFTTT", + "timestamp": 1729530788 + }, + { + "content": "

Announcing Determinate Nix, a distribution of Nix built for teams and optimized for the enterprise

\n

October 21, 2024 at 12:45PM

\n

https://old.reddit.com/r/NixOS/comments/1g8yu9m/announcing_determinate_nix_a_distribution_of_nix/

", + "id": 478159436, + "sender_full_name": "IFTTT", + "timestamp": 1729548810 + }, + { + "content": "

devenv is switching Nix implementation to Tvix

\n

October 22, 2024 at 06:25AM

\n

https://old.reddit.com/r/NixOS/comments/1g9i2vr/devenv_is_switching_nix_implementation_to_tvix/

", + "id": 478321977, + "sender_full_name": "IFTTT", + "timestamp": 1729613632 + }, + { + "content": "

Using Nix to Fuzz Test a PDF Parser

\n

October 23, 2024 at 08:10AM

\n

https://old.reddit.com/r/NixOS/comments/1gacwmf/using_nix_to_fuzz_test_a_pdf_parser/

", + "id": 478591888, + "sender_full_name": "IFTTT", + "timestamp": 1729721620 + }, + { + "content": "

Announcing the Ekala Project, a Nix inspired ecosystem

\n

October 23, 2024 at 08:28PM

\n

https://old.reddit.com/r/NixOS/comments/1gatci0/announcing_the_ekala_project_a_nix_inspired/

", + "id": 478638908, + "sender_full_name": "IFTTT", + "timestamp": 1729750162 + }, + { + "content": "

Nix at work: FlakeHub Cache and private flakes

\n

October 23, 2024 at 11:09AM

\n

https://old.reddit.com/r/NixOS/comments/1gahaas/nix_at_work_flakehub_cache_and_private_flakes/

", + "id": 478792730, + "sender_full_name": "IFTTT", + "timestamp": 1729800817 + }, + { + "content": "

Advice on Further Hardening NixOS (Kernel, Memory Allocator Done—What Next?)

\n

October 24, 2024 at 04:13PM

\n

https://old.reddit.com/r/NixOS/comments/1gbg6ps/advice_on_further_hardening_nixos_kernel_memory/

", + "id": 478927482, + "sender_full_name": "IFTTT", + "timestamp": 1729865582 + }, + { + "content": "

The future of software is Nix

\n

October 25, 2024 at 10:04AM

\n

https://old.reddit.com/r/NixOS/comments/1gbz7yv/the_future_of_software_is_nix/

", + "id": 478975025, + "sender_full_name": "IFTTT", + "timestamp": 1729883631 + }, + { + "content": "

Nix team member suggests removing flakes; data suggest it isn't a good idea, please remove the experimental flag instead

\n

October 26, 2024 at 09:23AM

\n

https://old.reddit.com/r/NixOS/comments/1gcotmu/nix_team_member_suggests_removing_flakes_data/

", + "id": 479068453, + "sender_full_name": "IFTTT", + "timestamp": 1729966391 + }, + { + "content": "

Finally hopping to NixOS fulltime

\n

October 26, 2024 at 06:10AM

\n

https://old.reddit.com/r/NixOS/comments/1gckr76/finally_hopping_to_nixos_fulltime/

", + "id": 479072614, + "sender_full_name": "IFTTT", + "timestamp": 1729969982 + }, + { + "content": "

Rewriting my entire nix configuration, any tips?

\n

October 25, 2024 at 11:10AM

\n

https://old.reddit.com/r/NixOS/comments/1gc0rhk/rewriting_my_entire_nix_configuration_any_tips/

", + "id": 479141128, + "sender_full_name": "IFTTT", + "timestamp": 1730042021 + }, + { + "content": "

Nix lang v2 | Lix Wiki

\n

October 26, 2024 at 01:52PM

\n

https://old.reddit.com/r/NixOS/comments/1gcumn1/nix_lang_v2_lix_wiki/

", + "id": 479217208, + "sender_full_name": "IFTTT", + "timestamp": 1730103228 + }, + { + "content": "

Domen: \"I won’t be contributing to Nix anymore and will put my efforts into Tvix\"

\n

October 28, 2024 at 07:00AM

\n

https://old.reddit.com/r/NixOS/comments/1ge2rkb/domen_i_wont_be_contributing_to_nix_anymore_and/

", + "id": 479334596, + "sender_full_name": "IFTTT", + "timestamp": 1730139204 + }, + { + "content": "

Flakes roadmap

\n

October 28, 2024 at 09:37AM

\n

https://old.reddit.com/r/NixOS/comments/1ge6mar/flakes_roadmap/

", + "id": 479367614, + "sender_full_name": "IFTTT", + "timestamp": 1730153614 + }, + { + "content": "

What's going on with Nix right now? and how does it affect me as an end user?

\n

October 30, 2024 at 03:28AM

\n

https://old.reddit.com/r/NixOS/comments/1gfjcb5/whats_going_on_with_nix_right_now_and_how_does_it/

", + "id": 479738586, + "sender_full_name": "IFTTT", + "timestamp": 1730311753 + }, + { + "content": "

Leaving Nix. Don't expect anyone to care, but you never know.

\n

October 30, 2024 at 02:03PM

\n

https://old.reddit.com/r/NixOS/comments/1gfx95g/leaving_nix_dont_expect_anyone_to_care_but_you/

", + "id": 479777861, + "sender_full_name": "IFTTT", + "timestamp": 1730329995 + }, + { + "content": "

How to manage a fleet of NixOS desktop machines?

\n

October 29, 2024 at 05:05PM

\n

https://old.reddit.com/r/NixOS/comments/1gf9ii1/how_to_manage_a_fleet_of_nixos_desktop_machines/

", + "id": 479783421, + "sender_full_name": "IFTTT", + "timestamp": 1730333334 + }, + { + "content": "

A call for the Nix team to present a unified front on the outcome and strategy around Nix flakes

\n

October 31, 2024 at 06:27AM

\n

https://old.reddit.com/r/NixOS/comments/1ggei8a/a_call_for_the_nix_team_to_present_a_unified/

", + "id": 479913426, + "sender_full_name": "IFTTT", + "timestamp": 1730391210 + }, + { + "content": "

The Darwin SDKs have been updated - Announcements

\n

October 31, 2024 at 12:50PM

\n

https://old.reddit.com/r/NixOS/comments/1ggncla/the_darwin_sdks_have_been_updated_announcements/

", + "id": 479980701, + "sender_full_name": "IFTTT", + "timestamp": 1730423615 + }, + { + "content": "

I finally gave NixOS a try. I LOVE IT! It was so much easier to switch than I thought. I'm never going back to Arch!

\n

November 01, 2024 at 03:50AM

\n

https://old.reddit.com/r/NixOS/comments/1gh2joq/i_finally_gave_nixos_a_try_i_love_it_it_was_so/

", + "id": 480067432, + "sender_full_name": "IFTTT", + "timestamp": 1730473754 + }, + { + "content": "

Software Devs, how do you set up and organise your shells/flakes?

\n

November 01, 2024 at 05:24AM

\n

https://old.reddit.com/r/NixOS/comments/1gh43pf/software_devs_how_do_you_set_up_and_organise_your/

", + "id": 480235226, + "sender_full_name": "IFTTT", + "timestamp": 1730567337 + }, + { + "content": "

Simula VR will be using Nix?

\n

October 28, 2024 at 12:43AM

\n

https://old.reddit.com/r/NixOS/comments/1gdwjv1/simula_vr_will_be_using_nix/

", + "id": 480250742, + "sender_full_name": "IFTTT", + "timestamp": 1730581989 + }, + { + "content": "

Appreciation post

\n

November 02, 2024 at 09:07AM

\n

https://old.reddit.com/r/NixOS/comments/1ghztoq/appreciation_post/

", + "id": 480261288, + "sender_full_name": "IFTTT", + "timestamp": 1730592791 + }, + { + "content": "

Nix Community Survey 2024 Results

\n

November 02, 2024 at 03:40PM

\n

https://old.reddit.com/r/NixOS/comments/1gi8fxi/nix_community_survey_2024_results/

", + "id": 480289009, + "sender_full_name": "IFTTT", + "timestamp": 1730621608 + }, + { + "content": "

NixOS logo keyboard.

\n

November 03, 2024 at 01:23AM

\n

https://old.reddit.com/r/NixOS/comments/1giiagg/nixos_logo_keyboard/

", + "id": 480291967, + "sender_full_name": "IFTTT", + "timestamp": 1730624905 + }, + { + "content": "

I decided to go for NixOS as I plan to upgrade from windows.

\n

November 03, 2024 at 08:41AM

\n

https://old.reddit.com/r/NixOS/comments/1gir2nh/i_decided_to_go_for_nixos_as_i_plan_to_upgrade/

", + "id": 480335035, + "sender_full_name": "IFTTT", + "timestamp": 1730664825 + }, + { + "content": "

Day 2. Is this normal?

\n

November 03, 2024 at 08:40PM

\n

https://old.reddit.com/r/NixOS/comments/1gj6ep7/day_2_is_this_normal/

", + "id": 480430454, + "sender_full_name": "IFTTT", + "timestamp": 1730722421 + }, + { + "content": "

first time daily-driving linux and it's NixOS on a macbook - the install and setup changed me as a person but so worth it in the end!

\n

November 04, 2024 at 08:36AM

\n

https://old.reddit.com/r/NixOS/comments/1gjilyx/first_time_dailydriving_linux_and_its_nixos_on_a/

", + "id": 480509969, + "sender_full_name": "IFTTT", + "timestamp": 1730747615 + }, + { + "content": "

I made this NixOS in minecraft long time ago for minecraft-grub theme for grub, and seen this while scrolling through my screenshots

\n

November 04, 2024 at 11:21AM

\n

https://old.reddit.com/r/NixOS/comments/1gjmpf9/i_made_this_nixos_in_minecraft_long_time_ago_for/

", + "id": 480534964, + "sender_full_name": "IFTTT", + "timestamp": 1730758419 + }, + { + "content": "

Tip: Use GitHub's search to solve your Nix problems!

\n

November 05, 2024 at 03:43PM

\n

https://old.reddit.com/r/NixOS/comments/1gkkwr3/tip_use_githubs_search_to_solve_your_nix_problems/

", + "id": 480895706, + "sender_full_name": "IFTTT", + "timestamp": 1730891330 + }, + { + "content": "

pog: a new, powerful way to do bash scripts

\n

November 04, 2024 at 03:18PM

\n

https://old.reddit.com/r/NixOS/comments/1gjsdqf/pog_a_new_powerful_way_to_do_bash_scripts/

", + "id": 481009413, + "sender_full_name": "IFTTT", + "timestamp": 1730931195 + }, + { + "content": "

I just had the most amazing refactoring session due to the new pipe-operators extension in nixos.

\n

November 06, 2024 at 08:51AM

\n

https://old.reddit.com/r/NixOS/comments/1gl312q/i_just_had_the_most_amazing_refactoring_session/

", + "id": 481106717, + "sender_full_name": "IFTTT", + "timestamp": 1730981606 + }, + { + "content": "

Announcing nix-infra: Create a private PaaS on Hetzner Cloud

\n

November 08, 2024 at 03:17AM

\n

https://old.reddit.com/r/NixOS/comments/1gmg7rd/announcing_nixinfra_create_a_private_paas_on/

", + "id": 481473549, + "sender_full_name": "IFTTT", + "timestamp": 1731169114 + }, + { + "content": "

Gotta love that feeling

\n

November 09, 2024 at 07:59AM

\n

https://old.reddit.com/r/NixOS/comments/1gnd6hg/gotta_love_that_feeling/

", + "id": 481499205, + "sender_full_name": "IFTTT", + "timestamp": 1731190404 + }, + { + "content": "

I tried NixOS for 1 week, here are my thoughts (as someone who only recently started using Linux)

\n

November 09, 2024 at 10:40AM

\n

https://old.reddit.com/r/NixOS/comments/1gngs6h/i_tried_nixos_for_1_week_here_are_my_thoughts_as/

", + "id": 481523981, + "sender_full_name": "IFTTT", + "timestamp": 1731212032 + }, + { + "content": "

[video] NixCon 2024: devenv is switching to Tvix

\n

November 09, 2024 at 12:02AM

\n

https://old.reddit.com/r/NixOS/comments/1gn5arj/video_nixcon_2024_devenv_is_switching_to_tvix/

", + "id": 481543411, + "sender_full_name": "IFTTT", + "timestamp": 1731229993 + }, + { + "content": "

What's the reason behind nix language?

\n

November 10, 2024 at 04:03AM

\n

https://old.reddit.com/r/NixOS/comments/1gnz6up/whats_the_reason_behind_nix_language/

", + "id": 481634509, + "sender_full_name": "IFTTT", + "timestamp": 1731302019 + }, + { + "content": "

AMD doesn’t provide microcode updates for your CPU. Here’s how to fill the gap.

\n

November 11, 2024 at 05:57AM

\n

https://old.reddit.com/r/NixOS/comments/1gosrtr/amd_doesnt_provide_microcode_updates_for_your_cpu/

", + "id": 481771831, + "sender_full_name": "IFTTT", + "timestamp": 1731345530 + }, + { + "content": "

Nix in the Wild: Bellroy

\n

November 05, 2024 at 09:57AM

\n

https://old.reddit.com/r/NixOS/comments/1gkctmn/nix_in_the_wild_bellroy/

", + "id": 481800920, + "sender_full_name": "IFTTT", + "timestamp": 1731355765 + }, + { + "content": "

Results for the Nix Steering Committee Election 2024

\n

November 05, 2024 at 02:47AM

\n

https://old.reddit.com/r/NixOS/comments/1gk3x48/results_for_the_nix_steering_committee_election/

", + "id": 481833974, + "sender_full_name": "IFTTT", + "timestamp": 1731370398 + }, + { + "content": "

opnix: Native secret management for NixOS using 1Password.

\n

November 11, 2024 at 10:55AM

\n

https://old.reddit.com/r/NixOS/comments/1gozxkg/opnix_native_secret_management_for_nixos_using/

", + "id": 481921329, + "sender_full_name": "IFTTT", + "timestamp": 1731410012 + }, + { + "content": "

London Nix User Group

\n

November 12, 2024 at 01:15AM

\n

https://old.reddit.com/r/NixOS/comments/1gpgru0/london_nix_user_group/

", + "id": 482008707, + "sender_full_name": "IFTTT", + "timestamp": 1731435204 + }, + { + "content": "

My Experience with NixOS as a \"new\" Linux user.

\n

November 10, 2024 at 04:14PM

\n

https://old.reddit.com/r/NixOS/comments/1gof4tq/my_experience_with_nixos_as_a_new_linux_user/

", + "id": 482062487, + "sender_full_name": "IFTTT", + "timestamp": 1731456808 + } +] \ No newline at end of file diff --git a/zulip_json/415266-social-media/stream.20events.json b/zulip_json/415266-social-media/stream.20events.json new file mode 100644 index 00000000000..78dcc148bcd --- /dev/null +++ b/zulip_json/415266-social-media/stream.20events.json @@ -0,0 +1,14 @@ +[ + { + "content": "

Web-public stream created by Srid. Description:

\n
\n

No description.

\n
", + "id": 404959422, + "sender_full_name": "Notification Bot", + "timestamp": 1701296225 + }, + { + "content": "

Srid changed the description for this stream.

\n
    \n
  • Old description:
  • \n
\n
\n

No description.

\n
\n
    \n
  • New description:
  • \n
\n
\n

Automated posting from various social media

\n
", + "id": 404990456, + "sender_full_name": "Notification Bot", + "timestamp": 1701310357 + } +] \ No newline at end of file diff --git a/zulip_json/415454-nix-browser/Building.20Tauri.20apps.json b/zulip_json/415454-nix-browser/Building.20Tauri.20apps.json new file mode 100644 index 00000000000..9f1f1979746 --- /dev/null +++ b/zulip_json/415454-nix-browser/Building.20Tauri.20apps.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Came across this,

\n

Zapier said:

\n
\n

Build tauri app for NixOS

\n

Date: 2023-12-01T12:47:29+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/188b2dk/build_tauri_app_for_nixos/

\n
\n

Hey!

\n

I have access to the source code of an App built with Tauri that I want to package for NixOS.

\n

As per Tauri's docs it supports bundling as a .deb or .AppImage.

\n

I was wondering if there's a way to compile it into a NixOS compatible binary directly, so that it can be added to nixpkgs. Or if I have to go through the hassle as packaging it as one of the two, then extracting it and cherry pick the necessary dependencies to get it to run on my NixOS machine.

\n

Thank you in advance! :)

\n

submitted by /u/OakArtz

\n

[link] [comments]
\n

\n
\n
", + "id": 405368532, + "sender_full_name": "Srid", + "timestamp": 1701438921 + } +] \ No newline at end of file diff --git a/zulip_json/415454-nix-browser/Unable.20to.20gather.20nix.20info.20issue.json b/zulip_json/415454-nix-browser/Unable.20to.20gather.20nix.20info.20issue.json new file mode 100644 index 00000000000..40a9c6264d9 --- /dev/null +++ b/zulip_json/415454-nix-browser/Unable.20to.20gather.20nix.20info.20issue.json @@ -0,0 +1,14 @@ +[ + { + "content": "

Getting the following error after the same command got interrupted due to network issue.
\ncc: @Srid

\n
❯ nix --accept-flake-config run github:juspay/nix-browser#nix-health\nError: Unable to gather nix info\n\nCaused by:\n    0: Nix command error: Failed to decode command stdout (json error): invalid type: integer `1`, expected a string at line 1 column 11309\n    1: Failed to decode command stdout (json error): invalid type: integer `1`, expected a string at line 1 column 11309\n    2: invalid type: integer `1`, expected a string at line 1 column 11309\n
", + "id": 423547625, + "sender_full_name": "Jishnu Prakash", + "timestamp": 1709019253 + }, + { + "content": "

You got it working after a nix nix-upgrade right? You Nix version must have been old, in which case it would be good to know what it was, because it looks like we probably should do the version check first before running anything else.

", + "id": 423631692, + "sender_full_name": "Srid", + "timestamp": 1709047571 + } +] \ No newline at end of file diff --git a/zulip_json/415454-nix-browser/stream.20events.json b/zulip_json/415454-nix-browser/stream.20events.json new file mode 100644 index 00000000000..d2253606ff7 --- /dev/null +++ b/zulip_json/415454-nix-browser/stream.20events.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Web-public stream created by Srid. Description:

\n
\n

Discussions about https://github.com/juspay/nix-browser

\n
", + "id": 405368388, + "sender_full_name": "Notification Bot", + "timestamp": 1701438860 + } +] \ No newline at end of file diff --git a/zulip_json/415454-omnix/0.2E1.2E0.json b/zulip_json/415454-omnix/0.2E1.2E0.json new file mode 100644 index 00000000000..5c308af55f4 --- /dev/null +++ b/zulip_json/415454-omnix/0.2E1.2E0.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Initial release is approaching, and we have a website:

\n

https://omnix.page/

", + "id": 457414202, + "sender_full_name": "Srid", + "timestamp": 1723134243 + } +] \ No newline at end of file diff --git a/zulip_json/415454-omnix/Building.20Tauri.20apps.json b/zulip_json/415454-omnix/Building.20Tauri.20apps.json new file mode 100644 index 00000000000..9f1f1979746 --- /dev/null +++ b/zulip_json/415454-omnix/Building.20Tauri.20apps.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Came across this,

\n

Zapier said:

\n
\n

Build tauri app for NixOS

\n

Date: 2023-12-01T12:47:29+00:00
\nLink: https://old.reddit.com/r/NixOS/comments/188b2dk/build_tauri_app_for_nixos/

\n
\n

Hey!

\n

I have access to the source code of an App built with Tauri that I want to package for NixOS.

\n

As per Tauri's docs it supports bundling as a .deb or .AppImage.

\n

I was wondering if there's a way to compile it into a NixOS compatible binary directly, so that it can be added to nixpkgs. Or if I have to go through the hassle as packaging it as one of the two, then extracting it and cherry pick the necessary dependencies to get it to run on my NixOS machine.

\n

Thank you in advance! :)

\n

submitted by /u/OakArtz

\n

[link] [comments]
\n

\n
\n
", + "id": 405368532, + "sender_full_name": "Srid", + "timestamp": 1701438921 + } +] \ No newline at end of file diff --git a/zulip_json/415454-omnix/Flake.20schemas.json b/zulip_json/415454-omnix/Flake.20schemas.json new file mode 100644 index 00000000000..441588d1448 --- /dev/null +++ b/zulip_json/415454-omnix/Flake.20schemas.json @@ -0,0 +1,8 @@ +[ + { + "content": "

We are leveraging it:

\n

https://github.com/juspay/omnix/pull/166

", + "id": 453284247, + "sender_full_name": "Srid", + "timestamp": 1721685579 + } +] \ No newline at end of file diff --git a/zulip_json/415454-omnix/Grand.20plan.20for.20omnix.json b/zulip_json/415454-omnix/Grand.20plan.20for.20omnix.json new file mode 100644 index 00000000000..9b32f6ae759 --- /dev/null +++ b/zulip_json/415454-omnix/Grand.20plan.20for.20omnix.json @@ -0,0 +1,182 @@ +[ + { + "content": "

Help me understand the project a bit better?

", + "id": 451024584, + "sender_full_name": "Andreas", + "timestamp": 1720801911 + }, + { + "content": "

are you gonna use dioxus or tauri or both?

", + "id": 451026144, + "sender_full_name": "Andreas", + "timestamp": 1720802487 + }, + { + "content": "

Dioxus is just going to be for the GUI component. There will also be a CLI component.

\n

To begin with, I want to address two use cases for the CLI:

\n
    \n
  • Ability to initialize flakes for any project (based on smart templates; see flakreate proposal with RobertH)
  • \n
  • Ability to 'inspect' any project, so CEOs can switch to it and run it.
  • \n
", + "id": 451027167, + "sender_full_name": "Srid", + "timestamp": 1720802901 + }, + { + "content": "

Somewhat tangential: https://github.com/water-sucks/nixos

", + "id": 451027279, + "sender_full_name": "Srid", + "timestamp": 1720802959 + }, + { + "content": "

ah yes, the CEO feature makes sense. How would you want to implement that? I'll check out the flakreate proposal.

", + "id": 451027296, + "sender_full_name": "Andreas", + "timestamp": 1720802966 + }, + { + "content": "

Where do I find flakreate?

", + "id": 451027332, + "sender_full_name": "Andreas", + "timestamp": 1720802980 + }, + { + "content": "

Andreas said:

\n
\n

Where do I find flakreate?

\n
\n

https://github.com/flake-parts/templates/issues/7

\n

https://github.com/juspay/flakreate

", + "id": 451027436, + "sender_full_name": "Srid", + "timestamp": 1720803008 + }, + { + "content": "

ah so nix flake init with parameters

", + "id": 451027539, + "sender_full_name": "Andreas", + "timestamp": 1720803043 + }, + { + "content": "

It probably won't be parameters, but generators as Robert ideated.

", + "id": 451027600, + "sender_full_name": "Srid", + "timestamp": 1720803070 + }, + { + "content": "

What would that mean for a CLI?

", + "id": 451027674, + "sender_full_name": "Andreas", + "timestamp": 1720803102 + }, + { + "content": "

ah so no templates... hm

", + "id": 451027775, + "sender_full_name": "Andreas", + "timestamp": 1720803138 + }, + { + "content": "

The CLI would maintain a registry, run nix flake init and then run the generator to 'complete' it. Something like that.

", + "id": 451027832, + "sender_full_name": "Srid", + "timestamp": 1720803165 + }, + { + "content": "

okay, I see. But the generator isn't there yet, right?

", + "id": 451027888, + "sender_full_name": "Andreas", + "timestamp": 1720803185 + }, + { + "content": "
om init --stack=haskell\n\nom init --stack=haskell --stack=treefmt --stack-pre-commit-hooks\n
", + "id": 451027921, + "sender_full_name": "Srid", + "timestamp": 1720803205 + }, + { + "content": "

okay so it would generate a flake for a haskell project with treefmt and pre-commit-hooks I suppose?

", + "id": 451028069, + "sender_full_name": "Andreas", + "timestamp": 1720803245 + }, + { + "content": "

You are asking questions too early. But I'll post PRs and stuff here over time.

", + "id": 451028464, + "sender_full_name": "Srid", + "timestamp": 1720803427 + }, + { + "content": "
\n

You are asking questions too early.

\n
\n

And I always thought that was your approach! :rolling_on_the_floor_laughing:

", + "id": 451028788, + "sender_full_name": "Andreas", + "timestamp": 1720803558 + }, + { + "content": "

yeah but once you actually have something to do there, I might be interested in taking a look!

", + "id": 451028838, + "sender_full_name": "Andreas", + "timestamp": 1720803583 + }, + { + "content": "

My approach is certainly not to design everything up front, write it down, etc.

", + "id": 451029592, + "sender_full_name": "Srid", + "timestamp": 1720803774 + }, + { + "content": "

mine neither, so where shall we go first with omnix?

", + "id": 451030818, + "sender_full_name": "Andreas", + "timestamp": 1720804124 + }, + { + "content": "

DM'ed you

", + "id": 451030925, + "sender_full_name": "Srid", + "timestamp": 1720804169 + }, + { + "content": "

Initial priority:

\n

https://github.com/juspay/omnix/issues/140

", + "id": 451042536, + "sender_full_name": "Srid", + "timestamp": 1720807914 + }, + { + "content": "

Perhaps I should start adopting a RFC workflow here.

", + "id": 451042634, + "sender_full_name": "Srid", + "timestamp": 1720807939 + }, + { + "content": "

yeah maybe

", + "id": 451049152, + "sender_full_name": "Andreas", + "timestamp": 1720810110 + }, + { + "content": "

so first step is to implement initialization of a flake from templates?

", + "id": 451049356, + "sender_full_name": "Andreas", + "timestamp": 1720810213 + }, + { + "content": "

In particular, first demo would be initializing this home-manager template:

\n

https://github.com/juspay/nix-dev-home/pull/41

", + "id": 451049682, + "sender_full_name": "Srid", + "timestamp": 1720810345 + }, + { + "content": "

Automatically fixing https://github.com/juspay/nix-dev-home/issues/37 in the process

", + "id": 451049751, + "sender_full_name": "Srid", + "timestamp": 1720810377 + }, + { + "content": "

You mean the existing nix-dev-home or what you want to do in that PR?

", + "id": 451053918, + "sender_full_name": "Andreas", + "timestamp": 1720811495 + }, + { + "content": "

One should be able to om init home-manager on any WSL, Ubuntu or macOS machine and get going.

", + "id": 451060791, + "sender_full_name": "Srid", + "timestamp": 1720813644 + }, + { + "content": "

(Similar to nix run github:juspay/flakreate - which can you run today)

", + "id": 451060900, + "sender_full_name": "Srid", + "timestamp": 1720813693 + } +] \ No newline at end of file diff --git a/zulip_json/415454-omnix/Static.20binary.json b/zulip_json/415454-omnix/Static.20binary.json new file mode 100644 index 00000000000..f29038a37d1 --- /dev/null +++ b/zulip_json/415454-omnix/Static.20binary.json @@ -0,0 +1,26 @@ +[ + { + "content": "

Should also provide om as a static binary, which can run nix-health without depending on Nix per se, and can even manage the user's Nix install (DetSys installer). A bit long-term though.

", + "id": 451050666, + "sender_full_name": "Srid", + "timestamp": 1720810722 + }, + { + "content": "

Yes:

\n

https://github.com/juspay/omnix/issues/149

", + "id": 451665513, + "sender_full_name": "Srid", + "timestamp": 1721095924 + }, + { + "content": "

About this: https://github.com/juspay/omnix/pull/158#issuecomment-2233484730

\n

Doesn’t most of the commands in omnix depend on Nix being present in the user’s system? The only thing the static binary can help is to direct people to install Nix via DetSys installer?

", + "id": 452163491, + "sender_full_name": "Shivaraj B H", + "timestamp": 1721243039 + }, + { + "content": "

Since omnix works at a level \"above\" that of Nix, yes - directing people to install Nix, or even fix their Nix issues is part of it.

\n

Employee John joins company Foo, with a new macbook, and git clone's project Qux whose README mentions curl https://omnix.io/install | sh - followed by om setup or something such thing to setup the environment. This is one vision.

", + "id": 452171496, + "sender_full_name": "Srid", + "timestamp": 1721245174 + } +] \ No newline at end of file diff --git a/zulip_json/415454-omnix/cargo-doc-live.20broken.3F.json b/zulip_json/415454-omnix/cargo-doc-live.20broken.3F.json new file mode 100644 index 00000000000..26d6c3c37ec --- /dev/null +++ b/zulip_json/415454-omnix/cargo-doc-live.20broken.3F.json @@ -0,0 +1,14 @@ +[ + { + "content": "

cargo-doc process exits with:

\n
[cargo-doc      ]    |\n[cargo-doc      ]    = note: bare URLs are not automatically turned into clickable links\n[cargo-doc      ]    = note: `#[warn(rustdoc::bare_urls)]` on by default\n[cargo-doc      ]\n[cargo-doc      ] warning: `omnix-gui` (bin \"omnix-gui\" doc) generated 3 warnings (run `cargo fix --bin \"omnix-gui\"` to apply 1 suggestion)\n[cargo-doc      ]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 55.57s\n[cargo-doc      ]    Generated /Users/shivaraj/oss/omnix/target/doc/nix_health/index.html and 5 other files\n[cargo-doc      ] Browsersync not running at http://localhost:8008\n[cargo-doc      ] [Finished running. Exit status: 0]\n
", + "id": 452155518, + "sender_full_name": "Shivaraj B H", + "timestamp": 1721240777 + }, + { + "content": "

We should check the docs in CI to prevent this in future, let me take a look.

", + "id": 452172213, + "sender_full_name": "Srid", + "timestamp": 1721245353 + } +] \ No newline at end of file diff --git a/zulip_json/415454-omnix/channel.20events.json b/zulip_json/415454-omnix/channel.20events.json new file mode 100644 index 00000000000..a09aa5ed6f9 --- /dev/null +++ b/zulip_json/415454-omnix/channel.20events.json @@ -0,0 +1,14 @@ +[ + { + "content": "

Srid changed the description for this channel.

\n
    \n
  • Old description:
  • \n
\n
\n

Discussions about https://github.com/juspay/nix-browser

\n
\n
    \n
  • New description:
  • \n
\n
\n

Discussions about https://github.com/juspay/omnix

\n
", + "id": 451024395, + "sender_full_name": "Notification Bot", + "timestamp": 1720801813 + }, + { + "content": "

Srid renamed channel nix-browser to omnix.

", + "id": 451024427, + "sender_full_name": "Notification Bot", + "timestamp": 1720801827 + } +] \ No newline at end of file diff --git a/zulip_json/415454-omnix/om.20ci.json b/zulip_json/415454-omnix/om.20ci.json new file mode 100644 index 00000000000..09cf2cb2122 --- /dev/null +++ b/zulip_json/415454-omnix/om.20ci.json @@ -0,0 +1,8 @@ +[ + { + "content": "

... is basically ready.

\n

image.png

\n
", + "id": 456052629, + "sender_full_name": "Srid", + "timestamp": 1722637405 + } +] \ No newline at end of file diff --git a/zulip_json/415454-omnix/om.20health.json b/zulip_json/415454-omnix/om.20health.json new file mode 100644 index 00000000000..a9ab6df2bd7 --- /dev/null +++ b/zulip_json/415454-omnix/om.20health.json @@ -0,0 +1,8 @@ +[ + { + "content": "

image.png

\n
", + "id": 451837468, + "sender_full_name": "Srid", + "timestamp": 1721156518 + } +] \ No newline at end of file diff --git a/zulip_json/415454-omnix/om.20init.json b/zulip_json/415454-omnix/om.20init.json new file mode 100644 index 00000000000..acc950645f1 --- /dev/null +++ b/zulip_json/415454-omnix/om.20init.json @@ -0,0 +1,8 @@ +[ + { + "content": "

On improving nix flake init

\n

https://github.com/juspay/omnix/issues/152

", + "id": 451624190, + "sender_full_name": "Srid", + "timestamp": 1721075153 + } +] \ No newline at end of file diff --git a/zulip_json/415454-omnix/om.20show.json b/zulip_json/415454-omnix/om.20show.json new file mode 100644 index 00000000000..c09c8644fc3 --- /dev/null +++ b/zulip_json/415454-omnix/om.20show.json @@ -0,0 +1,20 @@ +[ + { + "content": "

Initial thoughts:

\n

https://github.com/juspay/omnix/issues/147

", + "id": 451372976, + "sender_full_name": "Srid", + "timestamp": 1720981619 + }, + { + "content": "

https://github.com/juspay/omnix/pull/157

", + "id": 451916610, + "sender_full_name": "Srid", + "timestamp": 1721183240 + }, + { + "content": "

Ideas of inspiration: look at what Flakehub / Flakestry displays for flakes.

\n

cc @Shivaraj B H

", + "id": 452154394, + "sender_full_name": "Srid", + "timestamp": 1721240558 + } +] \ No newline at end of file diff --git a/zulip_json/415454-omnix/stream.20events.json b/zulip_json/415454-omnix/stream.20events.json new file mode 100644 index 00000000000..d2253606ff7 --- /dev/null +++ b/zulip_json/415454-omnix/stream.20events.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Web-public stream created by Srid. Description:

\n
\n

Discussions about https://github.com/juspay/nix-browser

\n
", + "id": 405368388, + "sender_full_name": "Notification Bot", + "timestamp": 1701438860 + } +] \ No newline at end of file diff --git a/zulip_json/416818-jenkins-nix-ci/cannot.20get.20working.20in.20my.20setup.json b/zulip_json/416818-jenkins-nix-ci/cannot.20get.20working.20in.20my.20setup.json new file mode 100644 index 00000000000..337629af6cd --- /dev/null +++ b/zulip_json/416818-jenkins-nix-ci/cannot.20get.20working.20in.20my.20setup.json @@ -0,0 +1,44 @@ +[ + { + "content": "

I'm trying to figure out how to use this within my own NixOS setup, but I'm having difficulties. I am not using nix-parts or any of the other stuff. I have a fairly simple flake and have added the inputs.jenkins-nix-ci.nixosModules.default block to imports. However, I'm getting errors.

", + "id": 421500232, + "sender_full_name": "shaun smiley", + "timestamp": 1707933087 + }, + { + "content": "
       … while calling the 'seq' builtin\n\n         at /nix/store/l6ymqz1y4fiy57xh6f3y23zwp0i9lr4f-source/lib/modules.nix:320:18:\n\n          319|         options = checked options;\n          320|         config = checked (removeAttrs config [ \"_module\" ]);\n             |                  ^\n          321|         _module = checked (config._module);\n\n       … while evaluating a branch condition\n\n         at /nix/store/l6ymqz1y4fiy57xh6f3y23zwp0i9lr4f-source/lib/modules.nix:261:9:\n\n          260|       checkUnmatched =\n          261|         if config._module.check && config._module.freeformType == null && merged.unmatchedDefns != [] then\n             |         ^\n          262|           let\n\n       (stack trace truncated; use '--show-trace' to show the full trace)\n\n       error: infinite recursion encountered\n\n       at /nix/store/l6ymqz1y4fiy57xh6f3y23zwp0i9lr4f-source/lib/modules.nix:506:28:\n\n          505|         builtins.addErrorContext (context name)\n          506|           (args.${name} or config._module.args.${name})\n             |                            ^\n          507|       ) (lib.functionArgs f);\n
", + "id": 421500326, + "sender_full_name": "shaun smiley", + "timestamp": 1707933121 + }, + { + "content": "

Ah, I need to remove the inputs. within the imports block since I already pass that above. That was likely giving me the recursion error.

", + "id": 421502895, + "sender_full_name": "shaun smiley", + "timestamp": 1707933918 + }, + { + "content": "

Was it though?

", + "id": 421528363, + "sender_full_name": "Shivaraj B H", + "timestamp": 1707942965 + }, + { + "content": "

I also had to add sops as that seems to be a hard requirement.
\nBut, I am still getting strange errors.

", + "id": 421530287, + "sender_full_name": "shaun smiley", + "timestamp": 1707943780 + }, + { + "content": "

error: attribute 'flake' missing\n

", + "id": 421530432, + "sender_full_name": "shaun smiley", + "timestamp": 1707943830 + }, + { + "content": "

flake is passed by the nixos-flake module, so as to make the caller flake available to all modules.

\n

https://github.com/srid/nixos-flake/blob/3891b2030114f8661402991eac9be0ed59f786ae/flake-module.nix#L9

\n

If you are not using flake-parts (thus not using nixos-flake), you will have to manually pass these (via specialArgs or _module.args.flake).

", + "id": 421630600, + "sender_full_name": "Srid", + "timestamp": 1707995310 + } +] \ No newline at end of file diff --git a/zulip_json/416818-jenkins-nix-ci/stream.20events.json b/zulip_json/416818-jenkins-nix-ci/stream.20events.json new file mode 100644 index 00000000000..2da9e296688 --- /dev/null +++ b/zulip_json/416818-jenkins-nix-ci/stream.20events.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Web-public stream created by Srid. Description:

\n
\n

Discussions about https://github.com/juspay/jenkins-nix-ci

\n
", + "id": 407461576, + "sender_full_name": "Notification Bot", + "timestamp": 1702383069 + } +] \ No newline at end of file diff --git a/zulip_json/416826-website/.3Cmeta.20property.3D.22og.3Aimage.22.3E.20for.20wiki-links.json b/zulip_json/416826-website/.3Cmeta.20property.3D.22og.3Aimage.22.3E.20for.20wiki-links.json new file mode 100644 index 00000000000..81abb58f79e --- /dev/null +++ b/zulip_json/416826-website/.3Cmeta.20property.3D.22og.3Aimage.22.3E.20for.20wiki-links.json @@ -0,0 +1,14 @@ +[ + { + "content": "

The corresponding Pandoc AST for the wiki-link ![[emanote-logo.svg]] is: [Para [Link (\"\",[],[(\"data-wikilink-type\",\"WikiLinkEmbed\")]) [] (\"emanote-logo.svg\",\"\")]]. We can just pattern match on Link and WikiLinkEmbed to get emanote-logo.svg (let's assume for simplicity that WikiLinkEmbed only refers to static image files), but the problem here is that the relative URL is _emanote-static/emanote-logo.svg which is obtained from siteRouteUrl function. I was considering to create a pandoc filter to fetch the siteRouteUrl-- if there is no way to fetch it by reusing the function linked above --, is that the correct approach? @Srid

", + "id": 409526031, + "sender_full_name": "Shivaraj B H", + "timestamp": 1703224241 + }, + { + "content": "

There are functions to parse and resolve wikilinks, https://github.com/srid/emanote/blob/30d3d084ddf551e131523b2c41c5a5ab49592848/emanote/src/Emanote/Pandoc/Renderer/Url.hs#L31-L34

", + "id": 410176665, + "sender_full_name": "Srid", + "timestamp": 1703694706 + } +] \ No newline at end of file diff --git a/zulip_json/416826-website/.5BEmanote.5D.20Copy.20button.20to.20code.20blocks.json b/zulip_json/416826-website/.5BEmanote.5D.20Copy.20button.20to.20code.20blocks.json new file mode 100644 index 00000000000..d4e1887ca0e --- /dev/null +++ b/zulip_json/416826-website/.5BEmanote.5D.20Copy.20button.20to.20code.20blocks.json @@ -0,0 +1,26 @@ +[ + { + "content": "

@Srid I was under the impression that changing embed-code.tpl file should change the way code block looks but I don't see any change at all.

\n

Updated ember-code.tpl:

\n
<div class="py-0.5 mb-3 text-sm" title="${ema:alt}">\n  <div style="position: relative;">\n    <button>Copy</button>\n    <pre><code class="${ema:code:language}" ><ema:code:content /></code></pre>\n  </div>\n</div>\n
\n

This is how the code block is rendered:
\nScreenshot-2023-12-12-at-6.14.14-PM.png

\n

As you can see in the inspect element on the right there is no button in the HTML snippet.

", + "id": 407467736, + "sender_full_name": "Shivaraj B H", + "timestamp": 1702385173 + }, + { + "content": "

embed-*.tpl are used only for embed wikilinks, cf. ![[..]].

\n

For code blocks, see pandoc.tpl,
\nimage.png

\n
", + "id": 407472166, + "sender_full_name": "Srid", + "timestamp": 1702386683 + }, + { + "content": "

This topic was moved here from #general > [Emanote] Copy button to code blocks by Srid.

", + "id": 407472514, + "sender_full_name": "Notification Bot", + "timestamp": 1702386792 + }, + { + "content": "

It would be nice to consolidate them in one place though, if that's even possible.

", + "id": 407489510, + "sender_full_name": "Srid", + "timestamp": 1702391486 + } +] \ No newline at end of file diff --git a/zulip_json/416826-website/Link.20to.20a.20sub-section.20of.20an.20internal.20page.json b/zulip_json/416826-website/Link.20to.20a.20sub-section.20of.20an.20internal.20page.json new file mode 100644 index 00000000000..6c90f5236f7 --- /dev/null +++ b/zulip_json/416826-website/Link.20to.20a.20sub-section.20of.20an.20internal.20page.json @@ -0,0 +1,14 @@ +[ + { + "content": "

I want to be able to do this: [[nixos-install#edit]], it doesn't seem to work, is there a way of doing this without having to provide the entire URL?

", + "id": 408529095, + "sender_full_name": "Shivaraj B H", + "timestamp": 1702874956 + }, + { + "content": "

Only for regular links right now,

\n

https://emanote.srid.ca/guide/markdown#anchors

\n

https://github.com/srid/emanote/discussions/105

", + "id": 408609977, + "sender_full_name": "Srid", + "timestamp": 1702905726 + } +] \ No newline at end of file diff --git a/zulip_json/416826-website/SEO.json b/zulip_json/416826-website/SEO.json new file mode 100644 index 00000000000..40ce69739b1 --- /dev/null +++ b/zulip_json/416826-website/SEO.json @@ -0,0 +1,8 @@ +[ + { + "content": "

See 2nd result

\n

image.png

\n
", + "id": 453242805, + "sender_full_name": "Srid", + "timestamp": 1721671808 + } +] \ No newline at end of file diff --git a/zulip_json/416826-website/Updates.json b/zulip_json/416826-website/Updates.json new file mode 100644 index 00000000000..dfa10752ba9 --- /dev/null +++ b/zulip_json/416826-website/Updates.json @@ -0,0 +1,38 @@ +[ + { + "content": "

A topic to track updates to the website.

", + "id": 427742603, + "sender_full_name": "Srid", + "timestamp": 1710860425 + }, + { + "content": "

New page,

\n", + "id": 427742611, + "sender_full_name": "Srid", + "timestamp": 1710860427 + }, + { + "content": "

Rust FFI in Haskell:  https://nixos.asia/en/haskell-rust-ffi

", + "id": 431504484, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712316871 + }, + { + "content": "

Great.

\n

(Just noticed how those ChatGPT images are so huge as to load very slowly on my internet here)

", + "id": 431599448, + "sender_full_name": "Srid", + "timestamp": 1712348991 + }, + { + "content": "

Yeah, we need to compress those.

", + "id": 431741170, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712475431 + }, + { + "content": "

Just posted a new tip on home-manager git module (per-folder config):

\n

https://nixos.asia/en/tips/git-profiles

", + "id": 438925326, + "sender_full_name": "Srid", + "timestamp": 1715831232 + } +] \ No newline at end of file diff --git a/zulip_json/416826-website/obsidian.20graph.20in.20emanote.json b/zulip_json/416826-website/obsidian.20graph.20in.20emanote.json new file mode 100644 index 00000000000..c08348e766d --- /dev/null +++ b/zulip_json/416826-website/obsidian.20graph.20in.20emanote.json @@ -0,0 +1,134 @@ +[ + { + "content": "

@Srid I want to have obsidian like interactive graph but reuse the nodes from uplink tree in emanote. How much of an effort, according to you, would that be?

\n

I like having the graph stuck to the screen on the sidebar, for quick navigation, while I scroll through the page -- a UX I prefer.

", + "id": 406357125, + "sender_full_name": "Shivaraj B H", + "timestamp": 1701885303 + }, + { + "content": "

I'd like to improve the layout such as the right side includes sticky ToC. And the left side includes a navigation sidebar built off folgezettel relationships. So, it shows the siblings of current note in context of the inverted tree.

\n

Yes, I want to do this in Emanote. But it is not clear how to visually represent a sidebar tree where nodes may have more than one parent. (In uplink tree this is not an issue because we don't show siblings)

", + "id": 406360127, + "sender_full_name": "Srid", + "timestamp": 1701886393 + }, + { + "content": "

The graph itself is orthogonal feature, we can have that too. But I don't think it would be as useful as a (more flatish) navigation sidebar.

", + "id": 406360425, + "sender_full_name": "Srid", + "timestamp": 1701886507 + }, + { + "content": "
\n

But it is not clear how to visually represent a sidebar tree where nodes may have more than one parent.

\n
\n

Can you give me an example for nodes having more than one parent?

", + "id": 406364286, + "sender_full_name": "Shivaraj B H", + "timestamp": 1701887993 + }, + { + "content": "
\n

The graph itself is orthogonal feature, we can have that too. But I don't think it would be as useful as a (more flatish) navigation sidebar.

\n
\n

If the sidebar works out, I don't mind using that. In the end, accessibility must be easy and navigation should be intuitive.

", + "id": 406364575, + "sender_full_name": "Shivaraj B H", + "timestamp": 1701888107 + }, + { + "content": "

Shivaraj B H said:

\n
\n
\n

But it is not clear how to visually represent a sidebar tree where nodes may have more than one parent.

\n
\n

Can you give me an example for nodes having more than one parent?

\n
\n

Your own post: https://nixos.asia/en/blog/nixify-haskell-project-intro

\n

What would the left sidebar content be, exactly, for this page?

", + "id": 406364959, + "sender_full_name": "Srid", + "timestamp": 1701888270 + }, + { + "content": "

Another example: https://nixos.asia/en/gotchas/macos-upgrade

\n

Say, both 'Gotchas' and 'macOS' have multiple children. How would these children be rendered on the sidebar, and where and how would the current page's title be positioned?

", + "id": 406365163, + "sender_full_name": "Srid", + "timestamp": 1701888372 + }, + { + "content": "
\n

How would these children be rendered on the sidebar, and where and how would the current page's title be positioned?

\n
\n

Why can't we have the title of the current page positioned in the centre and show the siblings of the current page recursively? It would look something of this sorts for nodes with multiple parents:
\nScreenshot-2023-12-07-at-12.47.00-AM.png

\n

In this manner the children of 'Gotchas' and 'macOS' will be visible on the left side-bar when they visit the respective page. This will sure hide certain details, but is it a compromise worth making?

", + "id": 406370759, + "sender_full_name": "Shivaraj B H", + "timestamp": 1701890453 + }, + { + "content": "

Can you draw up (maybe on paper) what the https://nixos.asia/en/gotchas/macos-upgrade page would look like?

", + "id": 406370977, + "sender_full_name": "Srid", + "timestamp": 1701890531 + }, + { + "content": "

Don't think I fully understand the visualization being proposed here.

", + "id": 406371071, + "sender_full_name": "Srid", + "timestamp": 1701890578 + }, + { + "content": "

If my understanding of siblings is right, https://nixos.asia/en/gotchas/macos-upgrade doesn't have any siblings, does it?

", + "id": 406371480, + "sender_full_name": "Shivaraj B H", + "timestamp": 1701890759 + }, + { + "content": "

It does have siblings.

\n

In context of gotchas, it has two siblings:

\n\n

And in the context of macOS it has none, but could have in the future.

", + "id": 406371733, + "sender_full_name": "Srid", + "timestamp": 1701890865 + }, + { + "content": "

(siblings by definition share the same parent)

", + "id": 406371836, + "sender_full_name": "Srid", + "timestamp": 1701890892 + }, + { + "content": "

This is how normally sidebars are rendered. For eg, when you look at the sidebar of https://emanote.srid.ca/tips/adding-images you see its two siblings: \"JavaScript behaviours\" and \"Synchronizing notes using Syncthing\".

\n

Now this sidebar can only represent one parent, unlike our heterarchy which can have multiple parents (and thus multiple sets of siblings).

", + "id": 406371976, + "sender_full_name": "Srid", + "timestamp": 1701890964 + }, + { + "content": "

Related discussion: https://github.com/srid/emanote/discussions/64

", + "id": 406372037, + "sender_full_name": "Srid", + "timestamp": 1701890995 + }, + { + "content": "

Possibly related as well: https://github.com/srid/emanote/discussions/50

", + "id": 406372430, + "sender_full_name": "Srid", + "timestamp": 1701891144 + }, + { + "content": "

Ahh, my bad! I don't know why I kept thinking of children instead of siblings. I will get some sleep and think about this with a fresh mind

", + "id": 406372994, + "sender_full_name": "Shivaraj B H", + "timestamp": 1701891371 + }, + { + "content": "

This topic was moved here from #general > obsidian graph in emanote by Srid.

", + "id": 407472470, + "sender_full_name": "Notification Bot", + "timestamp": 1702386779 + }, + { + "content": "

Tangentially related: https://github.com/srid/emanote/discussions/358

", + "id": 408672295, + "sender_full_name": "Srid", + "timestamp": 1702926588 + }, + { + "content": "

^ Seems relevant to generate a 'learning map'

", + "id": 408672674, + "sender_full_name": "Srid", + "timestamp": 1702926733 + }, + { + "content": "

Implementation exploration here, https://github.com/srid/emanote/pull/483

\n

Will try to make nixos.asia use this branch once it is stable.

", + "id": 409286619, + "sender_full_name": "Srid", + "timestamp": 1703121537 + }, + { + "content": "

Uptree can now be optionally enabled on the same book layout (I'll remove the note layout as it will no longer be necessary):

\n

https://nixos.asia/en/tutorial/nixos-install

\n

image.png

\n
", + "id": 409943650, + "sender_full_name": "Srid", + "timestamp": 1703542596 + } +] \ No newline at end of file diff --git a/zulip_json/416826-website/stream.20events.json b/zulip_json/416826-website/stream.20events.json new file mode 100644 index 00000000000..c6f0bdb2ca7 --- /dev/null +++ b/zulip_json/416826-website/stream.20events.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Web-public stream created by Srid. Description:

\n
\n

Discussion about https://nixos.asia/en and the software used in it.

\n
", + "id": 407472433, + "sender_full_name": "Notification Bot", + "timestamp": 1702386765 + } +] \ No newline at end of file diff --git a/zulip_json/419910-flake-parts/Community.20docs.20site.20in.20Emanote.json b/zulip_json/419910-flake-parts/Community.20docs.20site.20in.20Emanote.json new file mode 100644 index 00000000000..18d1aa7ca2c --- /dev/null +++ b/zulip_json/419910-flake-parts/Community.20docs.20site.20in.20Emanote.json @@ -0,0 +1,14 @@ +[ + { + "content": "

@Robert Hensing

\n

I managed to get Emanote working quite well for multi-repo documentation rendering!

\n

https://github.com/flake-parts/community.flake.parts/pull/5

\n

Try it out (it just has two modules for now):

\n
nix run github:flake-parts/community.flake.parts/emanote#preview\n
\n

What do you think? I'm thrilled to go with this.

\n

Multi-repo support means the docs are totally independent, with no intertwining (unlike with Docusaurus and mdBook). Later down the line, I would be able to implement proper cross-linking support as well (for now, we don't have strong need for it though).

", + "id": 412720246, + "sender_full_name": "Srid", + "timestamp": 1705161363 + }, + { + "content": "

Deployed!

\n

:tada:

\n

https://community.flake.parts/

", + "id": 417370295, + "sender_full_name": "Srid", + "timestamp": 1705985197 + } +] \ No newline at end of file diff --git a/zulip_json/419910-flake-parts/Having.20multiple.20.60pkgs.60.json b/zulip_json/419910-flake-parts/Having.20multiple.20.60pkgs.60.json new file mode 100644 index 00000000000..b81a0656657 --- /dev/null +++ b/zulip_json/419910-flake-parts/Having.20multiple.20.60pkgs.60.json @@ -0,0 +1,14 @@ +[ + { + "content": "

https://github.com/hercules-ci/flake-parts/discussions/217

\n

cc @Shivaraj B H (cf. our pkgs-latest)

", + "id": 427482975, + "sender_full_name": "Srid", + "timestamp": 1710768476 + }, + { + "content": "

@Robert Hensing We do this in several repos at Juspay, FWIW.

", + "id": 427483108, + "sender_full_name": "Srid", + "timestamp": 1710768492 + } +] \ No newline at end of file diff --git a/zulip_json/419910-flake-parts/Make.20me.20a.20beliver.json b/zulip_json/419910-flake-parts/Make.20me.20a.20beliver.json new file mode 100644 index 00000000000..4fb6a0cf7f1 --- /dev/null +++ b/zulip_json/419910-flake-parts/Make.20me.20a.20beliver.json @@ -0,0 +1,80 @@ +[ + { + "content": "

I've used flake parts twice - by requirement of other things using it.
\nI've seen people describe it as a \"flake-cancer that's spreading faster than flake-utils\"

\n

and... I just don't get it.

\n

Why would I want flake parts; what's it going to do for me besides add dependencies to evaluation?

\n

SELL ME YOUR TOOLZ

", + "id": 449441366, + "sender_full_name": "John Bargman", + "timestamp": 1720244294 + }, + { + "content": "
\n

and... I just don't get it.

\n
\n

Frankly, I have the same problem. Maybe we can have this thread and go for an explanation?

", + "id": 449467011, + "sender_full_name": "Andreas", + "timestamp": 1720258519 + }, + { + "content": "

Because @Srid and been working with it for a while now, and is working fairly closely with @Robert Hensing, the author of it. (But he hasn't been logged in here for a while I think)

", + "id": 449467089, + "sender_full_name": "Andreas", + "timestamp": 1720258582 + }, + { + "content": "

Module system

", + "id": 449467233, + "sender_full_name": "Srid", + "timestamp": 1720258654 + }, + { + "content": "

I don't get it either - you can do it as easily without the library

", + "id": 449484539, + "sender_full_name": "RGBCube", + "timestamp": 1720267380 + }, + { + "content": "

The module system already handles stuff for system abstractions, so :man_shrugging:

", + "id": 449484613, + "sender_full_name": "RGBCube", + "timestamp": 1720267437 + }, + { + "content": "

Hi :wave:

\n

To quote https://flake.parts

\n
\n

Flakes are configuration. The module system lets you refactor configuration into modules that can be shared.

\n

It reduces the proliferation of custom Nix glue code, similar to what the module system has done for NixOS configurations.

\n
\n

It makes it easier to add Nix logic that other people have already written to a flake that uses it.

\n

Flake parts by itself doesn't do much, because it's only an interface. Nobody needs it. Everyone could write their flakes by hand, and that's fine, especially when the flakes are simple.

\n

Now suppose you're adding pre-commit hooks to five flakes. If those are all framework-less flakes that only depend on Nixpkgs or whatever, you'll have to figure out for each of them how their Nix code is structured, to find where to put the checks.<system>.pre-commit-run derivation and where to put the shellHook, which variables are in scope in those places, etc.
\nWith flake parts, that's reduced to simpler steps: add its module to inputs and imports, then find the shell, add [config.pre-commit.installationScript](https://flake.parts/options/pre-commit-hooks-nix#opt-perSystem.pre-commit.installationScript) to shellHook and you're done. Always the same.

\n

It doesn't standardize a nix shell interface yet, but that could totally be done, and the \"gluing\" part of the job is just inputs and imports.

\n

@Srid is working on a CLI so that it's just a single command to add a module with some defaults (forget about inputs/imports).
\nIt will also find the right modules based on the files you already have, and have templates for things you want to create in your flake, like a new custom python package for example.

", + "id": 449490307, + "sender_full_name": "Robert Hensing", + "timestamp": 1720270461 + }, + { + "content": "

Andreas said:

\n
\n

Because Srid and been working with it for a while now, and is working fairly closely with Robert Hensing, the author of it. (But he hasn't been logged in here for a while I think)

\n
\n

I'm always available for flake-parts related questions. Srid asks good questions, but I don't have much time to contribute to his projects.
\nI've only really contributed a bit of code to haskell-flake, which I use in hercules-ci-agent.

", + "id": 449491621, + "sender_full_name": "Robert Hensing", + "timestamp": 1720270889 + }, + { + "content": "

Thanks for coming by @Robert Hensing ! It's always good to have the author of a project to talk to :smile:

", + "id": 449495819, + "sender_full_name": "Andreas", + "timestamp": 1720272826 + }, + { + "content": "

That's a good explanation :+1:

\n

Essentially flake-parts moves us a substantial way towards better DX, especially in non-trivial flakes. In the long run, a total solution may emerge. Upstream could get a flake module system and/or something better than Nix can emerge (the idea David was talking about).

\n

Robert Hensing said:

\n
\n

It doesn't standardize a nix shell interface yet,

\n
\n

inputsFrom can be used to somehow mitigate that.

", + "id": 449498671, + "sender_full_name": "Srid", + "timestamp": 1720274453 + }, + { + "content": "

Ah, I get it now. I do have a lot of glue code in my repositories, and I suppose I could swap that with flake-parts

", + "id": 449647706, + "sender_full_name": "RGBCube", + "timestamp": 1720353914 + }, + { + "content": "

yeah the glue code problem is a real issue, I get that. But I might have to look a bit harder at flake-parts to see if I can envision it being the go-to solution for me.

", + "id": 449648963, + "sender_full_name": "Andreas", + "timestamp": 1720354610 + }, + { + "content": "

Because just from my subjective impression on this one here from @Srid

\n
\n

Essentially flake-parts moves us a substantial way towards better DX, especially in non-trivial flakes.

\n
\n

To me looking at the non-trivial flake repos using flake-parts, it still looks like a lot of glue code tbh.

", + "id": 449649085, + "sender_full_name": "Andreas", + "timestamp": 1720354702 + } +] \ No newline at end of file diff --git a/zulip_json/419910-flake-parts/Overriding.20.60lib.60.20in.20flake-parts.json b/zulip_json/419910-flake-parts/Overriding.20.60lib.60.20in.20flake-parts.json new file mode 100644 index 00000000000..0344ae573b2 --- /dev/null +++ b/zulip_json/419910-flake-parts/Overriding.20.60lib.60.20in.20flake-parts.json @@ -0,0 +1,44 @@ +[ + { + "content": "

I got this working so far:

\n
  outputs = inputs:\n    let\n      lib = inputs.nixpkgs.lib.extend (self: super: {\n        # Polyfill https://github.com/NixOS/nixpkgs/blob/ea77cefecb0ab07e61d6bde3e24c7ae6820b96d5/lib/attrsets.nix#L360\n        concatMapAttrs = with self; f: v:\n          foldl' mergeAttrs { }\n            (attrValues\n              (mapAttrs f v)\n            );\n      });\n      specialArgs = { inherit lib; };\n    in\n    inputs.flake-parts.lib.mkFlake { inherit inputs specialArgs; } {\n
\n

However, this leads to error: attribute 'fileset' missing.

\n

For some reason, fileset attribute gets lost.

", + "id": 439118559, + "sender_full_name": "Srid", + "timestamp": 1715901763 + }, + { + "content": "

After the addition of the following to the lib overlay (with a 2nd nixpkgs, nixpkgs-latest, added),

\n
fileset = inputs.nixpkgs-latest.lib.fileset;\n
\n

it works.

", + "id": 439119492, + "sender_full_name": "Srid", + "timestamp": 1715902260 + }, + { + "content": "

More concisely,

\n
  inputs = {\n    nixpkgs.url = \"github:nixos/nixpkgs/nixpkgs-unstable\";\n    nixpkgs-latest.url = \"github:nixos/nixpkgs/nixpkgs-unstable\";\n    ...\n  };\n  outputs = inputs:\n    let\n      specialArgs.lib = inputs.nixpkgs.lib.extend (self: _: {\n        # Polyfill what's missing in our `inputs.nixpkgs`.\n        inherit (inputs.nixpkgs-latest.lib)\n          concatMapAttrs\n          fileset;\n      });\n    in\n    inputs.flake-parts.lib.mkFlake { inherit inputs specialArgs; } {\n      ...\n
", + "id": 439119814, + "sender_full_name": "Srid", + "timestamp": 1715902415 + }, + { + "content": "

Wait, that didn't quite work for treefmt-nix, when using its devShell.

", + "id": 439120209, + "sender_full_name": "Srid", + "timestamp": 1715902650 + }, + { + "content": "

We also need,

\n
        _module.args.pkgs = import inputs.nixpkgs {\n          inherit system;\n          overlays = [\n            (self: super: {\n              lib = lib;\n            })\n          ];\n        };\n
", + "id": 439120363, + "sender_full_name": "Srid", + "timestamp": 1715902758 + }, + { + "content": "

Alright, here's the final thing:

\n
        _module.args.pkgs = import inputs.nixpkgs {\n          inherit system;\n          overlays = [\n            (self: super: {\n              lib = super.lib.extend (self: super: {\n                inherit (inputs.nixpkgs-latest.lib) concatMapAttrs;\n              });\n            })\n          ];\n        };\n
", + "id": 439120636, + "sender_full_name": "Srid", + "timestamp": 1715902936 + }, + { + "content": "

https://github.com/hercules-ci/flake-parts/discussions/234

", + "id": 448881204, + "sender_full_name": "Srid", + "timestamp": 1720020312 + } +] \ No newline at end of file diff --git a/zulip_json/419910-flake-parts/stream.20events.json b/zulip_json/419910-flake-parts/stream.20events.json new file mode 100644 index 00000000000..f6f19e8c937 --- /dev/null +++ b/zulip_json/419910-flake-parts/stream.20events.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Web-public stream created by Srid. Description:

\n
\n

Discussion about https://flake.parts/

\n
", + "id": 412720201, + "sender_full_name": "Notification Bot", + "timestamp": 1705161318 + } +] \ No newline at end of file diff --git a/zulip_json/420166-offtopic/Collaborative.20web.20editing.20of.20Markdown.20files.json b/zulip_json/420166-offtopic/Collaborative.20web.20editing.20of.20Markdown.20files.json new file mode 100644 index 00000000000..ecc3f71a941 --- /dev/null +++ b/zulip_json/420166-offtopic/Collaborative.20web.20editing.20of.20Markdown.20files.json @@ -0,0 +1,32 @@ +[ + { + "content": "

Is there a real-time collaborative editing tool for writing a collection of Markdown files? Ideally towards publishing a mdBook-like site. Multiple people should be able to edit at the same time, like Google docs.

\n

(Storage on Github repo preferred, but not necessary)

\n

cc @Tim DeHerrera

", + "id": 439309025, + "sender_full_name": "Srid", + "timestamp": 1715991773 + }, + { + "content": "

HedgeDoc seems good enough. No multi file support, but ticks other boxes.

", + "id": 439312082, + "sender_full_name": "Srid", + "timestamp": 1715994422 + }, + { + "content": "

I'd say HedgeDoc, yeah. That has been used by others in and around Nix.

", + "id": 439341245, + "sender_full_name": "Andreas", + "timestamp": 1716024345 + }, + { + "content": "

HedgeDoc is close to perfect. Will be perfect once 2.0 is released, because then I can whitelist notes access by GitHub accounts.

", + "id": 439437005, + "sender_full_name": "Srid", + "timestamp": 1716123843 + }, + { + "content": "

yeah that last thing would be a boon to have already. Do they have a schedule for the 2.0 release? They are at 1.9.9 right now, seems pretty close :big_smile:

", + "id": 439756878, + "sender_full_name": "Andreas", + "timestamp": 1716279278 + } +] \ No newline at end of file diff --git a/zulip_json/420166-offtopic/Github.20Pages.json b/zulip_json/420166-offtopic/Github.20Pages.json new file mode 100644 index 00000000000..16ba506de03 --- /dev/null +++ b/zulip_json/420166-offtopic/Github.20Pages.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Small tip. You don't need the gh-pages branch anymore. CI automates the deployment directly.

\n

Demo: https://github.com/srid/emanote-template/pull/81/files

", + "id": 425770762, + "sender_full_name": "Srid", + "timestamp": 1710074914 + } +] \ No newline at end of file diff --git a/zulip_json/420166-offtopic/Interesting.20take.20on.20memory.20safety.json b/zulip_json/420166-offtopic/Interesting.20take.20on.20memory.20safety.json new file mode 100644 index 00000000000..bfd5414d51f --- /dev/null +++ b/zulip_json/420166-offtopic/Interesting.20take.20on.20memory.20safety.json @@ -0,0 +1,8 @@ +[ + { + "content": "

https://xr0.dev/safer

", + "id": 431417003, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1712271991 + } +] \ No newline at end of file diff --git a/zulip_json/420166-offtopic/Publishing.20videos.json b/zulip_json/420166-offtopic/Publishing.20videos.json new file mode 100644 index 00000000000..99a1e35d48b --- /dev/null +++ b/zulip_json/420166-offtopic/Publishing.20videos.json @@ -0,0 +1,14 @@ +[ + { + "content": "

Just tried out dyte.io for yesterday's event, and learned that I just can't upload that video to Twitter. What are some best practices for recording videos during online events?

", + "id": 425087461, + "sender_full_name": "Srid", + "timestamp": 1709732123 + }, + { + "content": "

idk, I'd try my luck with running your video setup through OBS maybe? I don't have much experience with it (yet) though

", + "id": 425097514, + "sender_full_name": "Andreas", + "timestamp": 1709734762 + } +] \ No newline at end of file diff --git a/zulip_json/420166-offtopic/channel.20events.json b/zulip_json/420166-offtopic/channel.20events.json new file mode 100644 index 00000000000..ac6794e845b --- /dev/null +++ b/zulip_json/420166-offtopic/channel.20events.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Srid changed the description for this channel.

\n
    \n
  • Old description:
  • \n
\n
\n

Offtopic discussions

\n
\n
    \n
  • New description:
  • \n
\n
\n

Tech-related discussions that are \"offtopic\" to Nix/NixOS itself.

\n
", + "id": 440237561, + "sender_full_name": "Notification Bot", + "timestamp": 1716433341 + } +] \ No newline at end of file diff --git a/zulip_json/420166-offtopic/just.20recipe.20grouping.json b/zulip_json/420166-offtopic/just.20recipe.20grouping.json new file mode 100644 index 00000000000..5b1bf053ef0 --- /dev/null +++ b/zulip_json/420166-offtopic/just.20recipe.20grouping.json @@ -0,0 +1,50 @@ +[ + { + "content": "

just recipes can now be grouped.

\n\n

Requires 1.27.0 which was released yesterday.

", + "id": 440732100, + "sender_full_name": "Srid", + "timestamp": 1716749233 + }, + { + "content": "

https://nixos.asia/en/buildRustPackage#override

", + "id": 440734639, + "sender_full_name": "Srid", + "timestamp": 1716751973 + }, + { + "content": "

image.png

\n
", + "id": 440734675, + "sender_full_name": "Srid", + "timestamp": 1716752030 + }, + { + "content": "

Just is pretty nice, it's like make but better

", + "id": 450958551, + "sender_full_name": "RGBCube", + "timestamp": 1720787286 + }, + { + "content": "

Are there any big projects using it for nontrivial scripts?

", + "id": 450974927, + "sender_full_name": "RGBCube", + "timestamp": 1720790575 + }, + { + "content": "

https://github.com/juspay/nix-browser/blob/main/justfile

\n

Generally I try to keep justfile trivial, and move any complex scripts into being writeShellApplication package under a devShell's nativeBuildInputs

", + "id": 451001729, + "sender_full_name": "Srid", + "timestamp": 1720796478 + }, + { + "content": "

There's also just-flake - an attempt to abstract out common stuff in justfile

", + "id": 451001813, + "sender_full_name": "Srid", + "timestamp": 1720796499 + }, + { + "content": "

Some of the other SRE at work use just as a sort of high-level cli to unify their workflows. Seemed pretty cool to me

", + "id": 451008530, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1720797804 + } +] \ No newline at end of file diff --git a/zulip_json/420166-offtopic/llama3.20release.json b/zulip_json/420166-offtopic/llama3.20release.json new file mode 100644 index 00000000000..ae247f61239 --- /dev/null +++ b/zulip_json/420166-offtopic/llama3.20release.json @@ -0,0 +1,26 @@ +[ + { + "content": "

Yann LeCun says Llama3-8B beats Llama2-70B in some cases.

\n

Source: https://x.com/ylecun/status/1780999054719127840?s=46

\n

Release:
\nhttps://llama.meta.com/llama3/

", + "id": 434281880, + "sender_full_name": "Shivaraj B H", + "timestamp": 1713501997 + }, + { + "content": "

This topic was moved here from #nixify-llm > llama3 release by Shivaraj B H.

", + "id": 434282031, + "sender_full_name": "Notification Bot", + "timestamp": 1713502066 + }, + { + "content": "

yes, that is nice. More models coming out.

", + "id": 434408128, + "sender_full_name": "Andreas", + "timestamp": 1713548700 + }, + { + "content": "

Microsoft also released (and then unreleased) wizardlm2, which is supposed to be quite powerful

", + "id": 434408225, + "sender_full_name": "Andreas", + "timestamp": 1713548741 + } +] \ No newline at end of file diff --git a/zulip_json/420166-offtopic/memes.json b/zulip_json/420166-offtopic/memes.json new file mode 100644 index 00000000000..ce47874997b --- /dev/null +++ b/zulip_json/420166-offtopic/memes.json @@ -0,0 +1,14 @@ +[ + { + "content": "

C50E21BC-18CD-46D8-8634-BDDB51D1F878.jpg

\n

Source: https://old.reddit.com/r/NixOS/comments/197uhjz/the_entirety_of_my_time_on_youtube_last_week/

", + "id": 413096615, + "sender_full_name": "Shivaraj B H", + "timestamp": 1705391248 + }, + { + "content": "

This topic was moved here from #general > memes by Srid.

", + "id": 413113636, + "sender_full_name": "Notification Bot", + "timestamp": 1705397513 + } +] \ No newline at end of file diff --git a/zulip_json/420166-offtopic/stream.20events.json b/zulip_json/420166-offtopic/stream.20events.json new file mode 100644 index 00000000000..b3875ba1577 --- /dev/null +++ b/zulip_json/420166-offtopic/stream.20events.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Web-public stream created by Srid. Description:

\n
\n

Offtopic discussions

\n
", + "id": 413113566, + "sender_full_name": "Notification Bot", + "timestamp": 1705397489 + } +] \ No newline at end of file diff --git a/zulip_json/424491-horizon-haskell/Introduction.20To.20Horizon.20Haskell.json b/zulip_json/424491-horizon-haskell/Introduction.20To.20Horizon.20Haskell.json new file mode 100644 index 00000000000..0897ba193df --- /dev/null +++ b/zulip_json/424491-horizon-haskell/Introduction.20To.20Horizon.20Haskell.json @@ -0,0 +1,20 @@ +[ + { + "content": "

Hi everyone.

\n

Horizon Haskell (https://horizon-haskell.net/) is a publishing system for Haskell on Nix package sets targeting new GHC versions.

\n

We currently support over 1100 packages in horizon-platform at GHC 9.8. (https://gitlab.horizon-haskell.net/package-sets/horizon-platform )

\n

Nothing is ever marked as broken in a horizon package set. If it is listed, it should build.

\n

Horizon package sets are API compatible with nixpkgs' haskellPackages. You can swap out pkgs,haskellPackages for horizon-platform.legacyPackages.${system}

\n

we aim to target new GHC releases on the day of launch. So we do forward compatibility work far in advance against GHC mainline.

\n

If you'd like to try it out, use the templates at https://gitlab.horizon-haskell.net/templates/horizon-templates

\n

If there's a package you'd like us to support, just drop us a link. We keep open source packages up to date for you.

\n

Thanks, Dan

", + "id": 420618968, + "sender_full_name": "locallycompact", + "timestamp": 1707472851 + }, + { + "content": "

Follow on twitter at https://twitter.com/horizonhaskell

", + "id": 420635248, + "sender_full_name": "locallycompact", + "timestamp": 1707478809 + }, + { + "content": "

Congrats on now supporting haskell-flake fully, along with macOS support!

\n

https://nixos.zulipchat.com/#narrow/stream/413949-haskell-flake/topic/Non-standard.20package.20set

", + "id": 424227564, + "sender_full_name": "Srid", + "timestamp": 1709297230 + } +] \ No newline at end of file diff --git a/zulip_json/424491-horizon-haskell/stream.20events.json b/zulip_json/424491-horizon-haskell/stream.20events.json new file mode 100644 index 00000000000..97f43f20b71 --- /dev/null +++ b/zulip_json/424491-horizon-haskell/stream.20events.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Web-public stream created by Srid. Description:

\n
\n

Stable Package Sets for Haskell on Nix https://horizon-haskell.net/

\n
", + "id": 420395182, + "sender_full_name": "Notification Bot", + "timestamp": 1707374023 + } +] \ No newline at end of file diff --git a/zulip_json/426237-nixify-llm/.E2.9C.94.20Issues.20with.20ollama.20flake.json b/zulip_json/426237-nixify-llm/.E2.9C.94.20Issues.20with.20ollama.20flake.json new file mode 100644 index 00000000000..2571e831fff --- /dev/null +++ b/zulip_json/426237-nixify-llm/.E2.9C.94.20Issues.20with.20ollama.20flake.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Shivaraj B H has marked this topic as resolved.

", + "id": 446287529, + "sender_full_name": "Notification Bot", + "timestamp": 1719071263 + } +] \ No newline at end of file diff --git a/zulip_json/426237-nixify-llm/Aider.20vs.json b/zulip_json/426237-nixify-llm/Aider.20vs.json new file mode 100644 index 00000000000..a72ab355eaf --- /dev/null +++ b/zulip_json/426237-nixify-llm/Aider.20vs.json @@ -0,0 +1,20 @@ +[ + { + "content": "

Where Khoj (for search) and llmvm (for AI-LSP) is not, there's a bootstrapper with an optimized workflow to have a conversation on the entire code base:

\n

https://github.com/paul-gauthier/aider

\n

It seems good for early prototyping, schaffolding before you enter the details in the idea with LSP-like support.

\n

@Andreas this seems to be our missing bit, after all. Should work with any model runtime, such as nitro / llmvm et al.

", + "id": 423165913, + "sender_full_name": "David Arnold", + "timestamp": 1708777544 + }, + { + "content": "

Code base context ...

\n
\n

A simple solution is to send the entire codebase to GPT along with each change request. Now GPT has all the context! But this won’t work for even moderately sized repos, because they won’t fit into the context window.

\n
\n
\n

To address these issues, aider sends GPT a concise map of your whole git repository that includes the most important classes and functions along with their types and call signatures.

\n
\n
\n

This repository map is now built automatically using tree-sitter to extract symbol definitions from source files.

\n
", + "id": 423166837, + "sender_full_name": "David Arnold", + "timestamp": 1708778511 + }, + { + "content": "

Indeed I was working on packaging aider just last night :sweat_smile:

\n

Seems like a good idea to send a \"repo context map\" using tree-sitter

", + "id": 423195564, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708800973 + } +] \ No newline at end of file diff --git a/zulip_json/426237-nixify-llm/Anyone.20aware.20of.20Pinokio.3F.json b/zulip_json/426237-nixify-llm/Anyone.20aware.20of.20Pinokio.3F.json new file mode 100644 index 00000000000..3c87130536e --- /dev/null +++ b/zulip_json/426237-nixify-llm/Anyone.20aware.20of.20Pinokio.3F.json @@ -0,0 +1,32 @@ +[ + { + "content": "

Doing some research I came across this product:

\n

https://pinokio.computer/
\nhttps://github.com/pinokiocomputer/pinokio/releases/tag/1.3.4

\n

Architecture

\n

Pinokio takes inspiration from how traditional computers work.

\n

Just like how a computer can do all kinds of things thanks to its comprehensive architecture, Pinokio as a virtual computer is a comprehensive platform for running and automating anything you can imagine with AI.

\n
    \n
  1. File System: Where and how Pinokio stores files.
  2. \n
  3. Processor: How pinokio runs tasks.
  4. \n
  5. Memory: How pinokio implements a state machine using its built-in native memory.
  6. \n
  7. Script: The programming language that operates pinokio.
  8. \n
  9. UI: The UI (user interface) through which users access apps.
  10. \n
\n

How would I go about packaging this for Nix?

", + "id": 446979822, + "sender_full_name": "Ayrton Mercado", + "timestamp": 1719344745 + }, + { + "content": "

yeah I think I found this before. I don't know why I wasn't super interested in it actually. It actually quite interesting :smile:

", + "id": 446983675, + "sender_full_name": "Andreas", + "timestamp": 1719345977 + }, + { + "content": "

from what I can see, it comes in the form of an electron app, right?

", + "id": 446985160, + "sender_full_name": "Andreas", + "timestamp": 1719346428 + }, + { + "content": "

I think so, but haven't tried installing it, wanted to get your collective opinion

", + "id": 447013264, + "sender_full_name": "Ayrton Mercado", + "timestamp": 1719355563 + }, + { + "content": "

It has that nix feeling to it

", + "id": 447013381, + "sender_full_name": "Ayrton Mercado", + "timestamp": 1719355622 + } +] \ No newline at end of file diff --git a/zulip_json/426237-nixify-llm/Editor.20integration.20.28LSP.3F.29.json b/zulip_json/426237-nixify-llm/Editor.20integration.20.28LSP.3F.29.json new file mode 100644 index 00000000000..2e94f7bd28e --- /dev/null +++ b/zulip_json/426237-nixify-llm/Editor.20integration.20.28LSP.3F.29.json @@ -0,0 +1,278 @@ +[ + { + "content": "

https://github.com/djandries/llmvm/blob/master/frontends%2Fcodeassist%2FREADME.md

", + "id": 423152528, + "sender_full_name": "David Arnold", + "timestamp": 1708765860 + }, + { + "content": "

What will be the way to go?

\n

(Under the umbrella premis of defying proprietary standards and ecosystems)

", + "id": 423152568, + "sender_full_name": "David Arnold", + "timestamp": 1708765909 + }, + { + "content": "

@Shivaraj B H ^^ helix-bound, as well.

", + "id": 423152631, + "sender_full_name": "David Arnold", + "timestamp": 1708765932 + }, + { + "content": "

https://github.com/DJAndries/llmvm/issues/7

", + "id": 423154265, + "sender_full_name": "David Arnold", + "timestamp": 1708767435 + }, + { + "content": "

https://github.com/DJAndries/llmvm/issues/8

", + "id": 423155972, + "sender_full_name": "David Arnold", + "timestamp": 1708768986 + }, + { + "content": "

For the true elite who have long left CLI-based tools behind and embraced the virtues of the GUI, there is (at least for VSCode) for interacting with locally hosted A.I. models:

\n

https://github.com/continuedev/continue
\nhttps://github.com/ex3ndr/llama-coder

\n

I have been playing with these a bit. Not sure what is out there for Neovim, yet. Probably some things will be found.

", + "id": 423156126, + "sender_full_name": "Andreas", + "timestamp": 1708769062 + }, + { + "content": "

llmvm is a good approach, indeed for text based editors, the way how it injects itself into the LSP protocol.

", + "id": 423156258, + "sender_full_name": "David Arnold", + "timestamp": 1708769135 + }, + { + "content": "

(or even for VSCode)

", + "id": 423156384, + "sender_full_name": "David Arnold", + "timestamp": 1708769187 + }, + { + "content": "

It can run models against:

\n
    \n
  • local backend (run by llvm.cpp via lvm rust bindings)
  • \n
  • simply a remote api
  • \n
\n

It's actually nice that every layer of the stack can be provided remotely, even the core component to the frontend.

", + "id": 423156542, + "sender_full_name": "David Arnold", + "timestamp": 1708769280 + }, + { + "content": "

I mean there is stuff out there like

\n

https://github.com/nomnivore/ollama.nvim
\nhttps://github.com/jpmcb/nvim-llama

\n

So people are playing with this obviously, I am just not sure what will stick yet.

", + "id": 423156674, + "sender_full_name": "Andreas", + "timestamp": 1708769340 + }, + { + "content": "

Llmvm Core

\n
\n

manages state related to text generation, such as:
\nModel presets
\nPrompt templates
\nMessage threads
\nProjects/workspaces

\n
\n

That's pretty neat and a sound design.

", + "id": 423156730, + "sender_full_name": "David Arnold", + "timestamp": 1708769376 + }, + { + "content": "

I guess running against locally hosted remote API is what I would go for, most likely either ollama API or OpenAI compatible, which more and more are implementing.

\n

Yes, LLVM core is looking promising.

\n

If you might then integrate something like khoj which can use entire GitHub repos as context apparently, it might get even more interesting

", + "id": 423156993, + "sender_full_name": "Andreas", + "timestamp": 1708769501 + }, + { + "content": "

I wonder what would happen if we self-hosted khoj and fed it nixpkgs as a repo.

", + "id": 423157088, + "sender_full_name": "Andreas", + "timestamp": 1708769533 + }, + { + "content": "

I'm always a bit wary of the foundations of auch productized \"solutions\", tbh.

\n

\"Solutions to what?\"

\n

In LLMVM i was able to exactly identify what I'd be missing in about an hour of research:

\n

I think, this is what we want:

\n", + "id": 423157146, + "sender_full_name": "David Arnold", + "timestamp": 1708769577 + }, + { + "content": "

Issue 8 requests project scope context.

\n

But for the LSP-based codeassist feature, too much context might actually be harmful for the result quality.

", + "id": 423157310, + "sender_full_name": "David Arnold", + "timestamp": 1708769656 + }, + { + "content": "

Of course, if your language is non typed, you're really a bit out of luck. But that's true anyways.

", + "id": 423157365, + "sender_full_name": "David Arnold", + "timestamp": 1708769693 + }, + { + "content": "

Let's see if you get a discussion on your issues.

", + "id": 423157577, + "sender_full_name": "Andreas", + "timestamp": 1708769817 + }, + { + "content": "

Locally hosted remote api:

\n

It appears that from the web of context around specifically this resource https://github.com/rustformers/llm

\n

That llvm.cpp is the current state of the art model runtime (over ONNX, which is a bit more slow moving and has more industry support). Nitro is built on it.

\n

Specifically the GGUF model format appears to be regarded as promising by the domain experts in the same web of context.

\n

The llm create used by llmvm is lagging a bit on support for the latest llvm.cpp developments, which is why separately hosting with nitro and using the offloading backend (e.g. via a OpenAI compatible API) sounds like a good escape hatch.

\n

But it's nice that llmvm could also manage your model runtime seemlessly.

", + "id": 423157902, + "sender_full_name": "David Arnold", + "timestamp": 1708770146 + }, + { + "content": "
\n

But for the LSP-based codeassist feature, too much context might actually be harmful for the result quality.

\n
\n

So khoj has it's own client. And they have a GitHub integration. I am not entirely firm yet on the theoretical basis for the technique behind it, which is Retrieval Augmented Generation for LLMs. But basically it runs a Postgres-turned-VectorDB instance to store context if I see this correctly.

", + "id": 423159171, + "sender_full_name": "Andreas", + "timestamp": 1708771257 + }, + { + "content": "

Seems like it, yes. And thanks! I just wondered why the heck postgres?

\n

Is that more performant? Or probably it does a transformation ahead of time?

", + "id": 423159284, + "sender_full_name": "David Arnold", + "timestamp": 1708771371 + }, + { + "content": "
", + "id": 423159442, + "sender_full_name": "David Arnold", + "timestamp": 1708771548 + }, + { + "content": "

Yeah that illustration is nice. If need to guesstimate this, but I'd say the corpus embeddings need to be stored somewhere.

", + "id": 423159546, + "sender_full_name": "Andreas", + "timestamp": 1708771665 + }, + { + "content": "

What is corpus embedding?

\n
\n

The corpus can also be a custom embedding layer, which is specifically designed for the use case when other pre-trained corpora cannot supply sufficient data.

\n
", + "id": 423159550, + "sender_full_name": "David Arnold", + "timestamp": 1708771669 + }, + { + "content": "

yes, in order to explain exactly what that is, I'd have to read the papers detailing the technique. Again, guesstimating this, it is some linear-algebra based compression of the information in your text corpus (notes, GitHub repo) , which then can be use to enhance the LLM output to refer to information peculiar to your corpus of text.

", + "id": 423159667, + "sender_full_name": "Andreas", + "timestamp": 1708771790 + }, + { + "content": "

Since we're not dealing with images and ledgers in a Code Editor scenario, this type of transformation and corpus embedding is probably less relevant.

\n

But for retreival/search it seems key.

", + "id": 423159715, + "sender_full_name": "David Arnold", + "timestamp": 1708771815 + }, + { + "content": "

I mean Code is text. Text is run through a tokenizer, and embeddings are vector-space-based linear algebra reprsentations of the tokenization of your text (more or less). But that is true for LLMs in general.

", + "id": 423159773, + "sender_full_name": "Andreas", + "timestamp": 1708771907 + }, + { + "content": "

Preliminary Conclusion:

\n
    \n
  • For search: Khoj
  • \n
  • For LSP: llmvm
  • \n
", + "id": 423159774, + "sender_full_name": "David Arnold", + "timestamp": 1708771908 + }, + { + "content": "

well I am not so sure you couldn't somehow fuse these

", + "id": 423159826, + "sender_full_name": "Andreas", + "timestamp": 1708771930 + }, + { + "content": "

but as it stand right now, you are right

", + "id": 423159896, + "sender_full_name": "Andreas", + "timestamp": 1708772008 + }, + { + "content": "

It doesn't make really sense in a near scope: for retreival you already have LSPs and rich semantic code identifiers, such as types, etc.

\n

Of course that disregards some unknown potential that might just reveal itself after it is there.

", + "id": 423159899, + "sender_full_name": "David Arnold", + "timestamp": 1708772013 + }, + { + "content": "

But Khoj can run with the same model backend as llmvm, for example, so at that level, they can share a stack (or a credit card). :-)

", + "id": 423159993, + "sender_full_name": "David Arnold", + "timestamp": 1708772099 + }, + { + "content": "

I mean what I have in mind here is: use these corpus embeddings of a GitHub repo or a whole set of GitHub repos (think: nixpkgs + all commuity repos of sufficient quality; or alternatively, all the repos in the cargo database with a certain number of stars for rust) with an existing code-optimized LLM. Is something you'd have to try and see what it does.

", + "id": 423160022, + "sender_full_name": "Andreas", + "timestamp": 1708772134 + }, + { + "content": "

How do you get the corpus embeddings injected into the prompt? Because maybe that's not too far off as a data source to inject from khoj for lvmvm.

", + "id": 423160120, + "sender_full_name": "David Arnold", + "timestamp": 1708772224 + }, + { + "content": "

But I have no idea if this even makes any sense. But since nixpkgs is a monorepo it might (ironically) be an easy thing to just try and feed it to khoj. And then run khoj with codellama or deepseek-coder and see what comes out.

", + "id": 423160124, + "sender_full_name": "Andreas", + "timestamp": 1708772228 + }, + { + "content": "
\n

How do you get the corpus embeddings injected into the prompt?

\n
\n

I mean I assume that is what khoj does when you query it?

\n

And the for getting the repos into khoj they have this:

\n

https://docs.khoj.dev/online-data-sources/github_integration/

", + "id": 423160158, + "sender_full_name": "Andreas", + "timestamp": 1708772282 + }, + { + "content": "

Noe it seems like you might have to trick or configure it explicitly it to accept the file containing the actual code as the plaintext stuff you want to create context embeddings for. It seems to be somewhat against the design idea of khoj to do that. However that doesn't necessarily mean it wouldn't work. But it might take some time it seems. At least they say it does for large repos.

", + "id": 423160719, + "sender_full_name": "Andreas", + "timestamp": 1708772706 + }, + { + "content": "

Khoj just could give the preprocessimg to the toolchain, not the other way round.

", + "id": 423160858, + "sender_full_name": "David Arnold", + "timestamp": 1708772805 + }, + { + "content": "

that's all things you'd have to experimentally try out which works and which doesn't. I mean I might try and set something up at some point.

", + "id": 423161060, + "sender_full_name": "Andreas", + "timestamp": 1708772873 + }, + { + "content": "

Btw, Eka Types is what I see as our highly rated comtext embedding sources for the Eka ecosystem. Since typed and schemaed they should be of extremely high quality, already.

", + "id": 423161065, + "sender_full_name": "David Arnold", + "timestamp": 1708772874 + }, + { + "content": "

I mean the funny things about these LLMs is that they do stuff that looks intelligent, but nobody really knows what is going on in there in detail. It might just be a fancy non-linear lossy compression technique like zip files that you can query in natural language (or weird optimized totally unnatural and unexpected ways). So if types add information and you fine-tune a model of a typed variety of an otherwise untyped language it might add something. But until you do you don't know. In the end it's all just text that is being vectorized. (Or context for that matter, which works a bit differently, but don't ask me for the details yet. I will probably read some at some point :grinning_face_with_smiling_eyes: )

", + "id": 423161851, + "sender_full_name": "Andreas", + "timestamp": 1708773600 + }, + { + "content": "

https://github.com/khoj-ai/khoj/blob/master/src%2Fkhoj%2Fprocessor%2Fcontent%2Fmarkdown%2Fmarkdown_to_entries.py#L79-L96

\n

This is how an entry is \"compiled\" from markdown. Nothing fancy, and definitly of very limited value compared to how native LSP can generate entries.

\n

So in sum: khoj isn't really useful for the editor case, as far as I can see.

", + "id": 423162089, + "sender_full_name": "David Arnold", + "timestamp": 1708773821 + }, + { + "content": "
\n

So in sum: khoj isn't really useful for the editor case, as far as I can see.

\n
\n

That is possible, yes. I will try it nonetheless and see what it does. Maybe it is also just a nice open source thing to allow users ask questions verbally about potential documentation and improve their learning experience.

\n
\n

definitly of very limited value compared to how native LSP can generate entries.

\n
\n

I am not sure this is the right standard of comparison. Because the idea is to enhance the query of some LLM.

", + "id": 423163061, + "sender_full_name": "Andreas", + "timestamp": 1708774705 + }, + { + "content": "
\n

Nothing fancy

\n
\n

I guess from a software development perspective LLMs are nothing fancy either. It's just a file with pre-trained weights and a program using the file, doing some input-output. This is why people doing symbolic A.I. for decades were so upset when they found that stupid deep-learning models (like transformer-based LLMs) were magnitudes better at many tasks.

", + "id": 423163290, + "sender_full_name": "Andreas", + "timestamp": 1708774998 + }, + { + "content": "

Yes, and my argument actually was that while one enhances the LLM output about types and actual code samples, throwing in an occasional markdown snippet into the context might not necessarily produce better results, because types are already as concise as it can get.

\n

But not actually sure, either: maybe the LLM can benefit from accompanying prose, as well.

", + "id": 423164186, + "sender_full_name": "David Arnold", + "timestamp": 1708775746 + }, + { + "content": "

In all of this: do input token length on the system prompt (\"context\") count costs in typical pricing models?

", + "id": 423164484, + "sender_full_name": "David Arnold", + "timestamp": 1708776050 + }, + { + "content": "

afaik that depends on the company. Here is OpenAI, they calculate both input and output prices:

\n

https://openai.com/pricing

", + "id": 423166464, + "sender_full_name": "Andreas", + "timestamp": 1708778137 + } +] \ No newline at end of file diff --git a/zulip_json/426237-nixify-llm/Eluther.20AI.json b/zulip_json/426237-nixify-llm/Eluther.20AI.json new file mode 100644 index 00000000000..8da20fc53bc --- /dev/null +++ b/zulip_json/426237-nixify-llm/Eluther.20AI.json @@ -0,0 +1,14 @@ +[ + { + "content": "

I used to follow their work 2 years ago (back when there weren’t many open-source LLM alternatives), don’t know if they are still relevant

\n

https://github.com/EleutherAI

", + "id": 422476180, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708453309 + }, + { + "content": "
\n

In early 2023, EleutherAI incorporated as a non-profit research institute run by Stella Biderman, Curtis Huebner, and Shivanshu Purohit. This announcement came with the statement that EleutherAI's shift of focus away from training larger language models was part of a deliberate push towards doing work in interpretability, alignment, and scientific research.

\n
\n

So the short answer is \"no\".

", + "id": 422476395, + "sender_full_name": "Andreas", + "timestamp": 1708453390 + } +] \ No newline at end of file diff --git a/zulip_json/426237-nixify-llm/Issues.20with.20ollama.20flake.json b/zulip_json/426237-nixify-llm/Issues.20with.20ollama.20flake.json new file mode 100644 index 00000000000..c563e023da9 --- /dev/null +++ b/zulip_json/426237-nixify-llm/Issues.20with.20ollama.20flake.json @@ -0,0 +1,92 @@ +[ + { + "content": "

@Shivaraj B H @Andreas Thanks for the work you've put into this. I am new to Nix and trying the ollama flake that uses cuda. From here

\n

(I am new to both Linux and Nix, please let me know if I am running afoul of etiquette by posting the question here)

\n

After following the instructions:
\nnix flake init -t github:shivaraj-bh/ollama-flake

\n

and

\n

nix run

\n

I get:

\n

warning: Git tree '/home/ayrton/.config/nixos' is dirty
\ntrace: warning: cudaPackages.autoAddOpenGLRunpathHook is deprecated, use pkgs.autoAddDriverRunpathHook instead
\nerror: builder for '/nix/store/v478jqmc2cwj3jgd6iajkqf4n5apdagv-ctranslate2-4.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.drv' failed with exit code 1;
\n last 2 log lines:
\n > Reading index https://pypi.org/simple/ctranslate2/
\n > The file ctranslate2-4.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl has not be found in the index https://pypi.org/simple/ctranslate2/
\n For full logs, run 'nix log /nix/store/v478jqmc2cwj3jgd6iajkqf4n5apdagv-ctranslate2-4.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.drv'.
\nerror: 1 dependencies of derivation '/nix/store/9kipiyyaszpb43v83jimim0mrw4k2prk-python3.10-ctranslate2-4.3.0.drv' failed to build
\nerror: 1 dependencies of derivation '/nix/store/40il2v03ljm00cyqs7qzlhbjck4hd4sh-python3-3.10.14-env.drv' failed to build
\nerror: 1 dependencies of derivation '/nix/store/9kdigfnxwvb617z7q6am51cw4ii0gkc9-open-webui.drv' failed to build
\nerror: 1 dependencies of derivation '/nix/store/9aagb1idpyycxcjrmwrd1cvn89p5h2ca-open-webui-wrapper.drv' failed to build
\nerror: 1 dependencies of derivation '/nix/store/q84rx52x11vx6m228djw4vrjlbvczdya-process-compose-default.json.drv' failed to build
\nerror: 1 dependencies of derivation '/nix/store/vznn94a1j7vs8b14w8bmnhrs4wsfk0jx-default.drv' failed to build

\n

the nix log further states:
\n nix log /nix/store/v478jqmc2cwj3jgd6iajkqf4n5apdagv-ctranslate2-4.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.drv
\nwarning: The interpretation of store paths arguments ending in .drv recently changed. If this command is now failing try again with '/nix/store/v478jqmc2cwj3jgd6iajkqf4n5apdagv-ctranslate2-4.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.drv^*'
\nReading index https://pypi.org/simple/ctranslate2/
\nThe file ctranslate2-4.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl has not be found in the index https://pypi.org/simple/ctranslate2/

", + "id": 446084604, + "sender_full_name": "Ayrton Mercado", + "timestamp": 1718976816 + }, + { + "content": "

A message was moved here from #nixify-llm > Mattermost plugin with local OpenAI compatible backend by Andreas.

", + "id": 446084764, + "sender_full_name": "Notification Bot", + "timestamp": 1718976868 + }, + { + "content": "

I moved your message to a new topic @Ayrton Mercado

", + "id": 446084819, + "sender_full_name": "Andreas", + "timestamp": 1718976891 + }, + { + "content": "

Thanks!

", + "id": 446084886, + "sender_full_name": "Ayrton Mercado", + "timestamp": 1718976922 + }, + { + "content": "

I think I can reproduce the error on my end. I can't fix it though. But it looks like fetching something from PyPI didn't go the way it should have.

", + "id": 446086541, + "sender_full_name": "Andreas", + "timestamp": 1718977493 + }, + { + "content": "

I believe https://github.com/shivaraj-bh/ollama-flake has been upstreamed? cc @Shivaraj B H

\n

@Ayrton Mercado Try

\n

https://github.com/juspay/services-flake/tree/main/example/llm

\n

https://x.com/nixos_asia/status/1803065244568244578

", + "id": 446087295, + "sender_full_name": "Srid", + "timestamp": 1718977769 + }, + { + "content": "

maybe the old one might be archived then? Plus an addition to the readme?

", + "id": 446087548, + "sender_full_name": "Andreas", + "timestamp": 1718977842 + }, + { + "content": "

Srid said:

\n
\n

I believe https://github.com/shivaraj-bh/ollama-flake has been upstreamed? cc Shivaraj B H

\n

Ayrton Mercado Try

\n

https://github.com/juspay/services-flake/tree/main/example/llm

\n

https://x.com/nixos_asia/status/1803065244568244578

\n
\n

Thanks Srid, trying now

", + "id": 446088035, + "sender_full_name": "Ayrton Mercado", + "timestamp": 1718977998 + }, + { + "content": "

Just made a note about the 9GB download: https://github.com/juspay/services-flake/commit/0dc5d11cf56f4377c542c56653587225796a3416

", + "id": 446088853, + "sender_full_name": "Srid", + "timestamp": 1718978252 + }, + { + "content": "

There's #services-flake channel where you can post questions about this example as well.

", + "id": 446088890, + "sender_full_name": "Srid", + "timestamp": 1718978263 + }, + { + "content": "

Worked flawlessly, thank you for your kindness. Now I need to figure out how to switch ollama to use the GPU.

\n

O/t...
\nSrid, do you have a suggestion as to how I can help in general? Like I said earlier I am new to nix but feel that I need to contribute.

", + "id": 446093132, + "sender_full_name": "Ayrton Mercado", + "timestamp": 1718979654 + }, + { + "content": "

Ayrton Mercado said:

\n
\n

Now I need to figure out how to switch ollama to use the GPU.

\n
\n

This should help? https://community.flake.parts/services-flake/ollama#acceleration

", + "id": 446093417, + "sender_full_name": "Srid", + "timestamp": 1718979745 + }, + { + "content": "

Ayrton Mercado said:

\n
\n

Srid, do you have a suggestion as to how I can help in general? Like I said earlier I am new to nix but feel that I need to contribute.

\n
\n

You are welcome to contribute to any of our repos. @Shivaraj B H maintains services-flake.

\n

Documentation and stuff would also be useful to have -- the docs in services-flake as well as https://github.com/nixos-asia/website

", + "id": 446093651, + "sender_full_name": "Srid", + "timestamp": 1718979839 + }, + { + "content": "

Will take a look. Thanks again.

", + "id": 446094859, + "sender_full_name": "Ayrton Mercado", + "timestamp": 1718980227 + }, + { + "content": "

Andreas said:

\n
\n

maybe the old one might be archived then? Plus an addition to the readme?

\n
\n

I have archived ollama-flake:

\n

https://github.com/shivaraj-bh/ollama-flake

", + "id": 446266542, + "sender_full_name": "Shivaraj B H", + "timestamp": 1719057826 + } +] \ No newline at end of file diff --git a/zulip_json/426237-nixify-llm/LoRA.20model.20refinememt.json b/zulip_json/426237-nixify-llm/LoRA.20model.20refinememt.json new file mode 100644 index 00000000000..c84c2318466 --- /dev/null +++ b/zulip_json/426237-nixify-llm/LoRA.20model.20refinememt.json @@ -0,0 +1,14 @@ +[ + { + "content": "

How to?

\n

With Eka Type definitions and schemata at hand, we might just do a little extra work and fine tune a model, instead of relying purely on the system prompt.

\n

... if it's easy enough.

", + "id": 423166130, + "sender_full_name": "David Arnold", + "timestamp": 1708777771 + }, + { + "content": "

Yes, we might want to do something like that. I haven't yet practiced on this end.

", + "id": 423166542, + "sender_full_name": "Andreas", + "timestamp": 1708778193 + } +] \ No newline at end of file diff --git a/zulip_json/426237-nixify-llm/Mattermost.20plugin.20with.20local.20OpenAI.20compatible.20backend.json b/zulip_json/426237-nixify-llm/Mattermost.20plugin.20with.20local.20OpenAI.20compatible.20backend.json new file mode 100644 index 00000000000..a804f6ed634 --- /dev/null +++ b/zulip_json/426237-nixify-llm/Mattermost.20plugin.20with.20local.20OpenAI.20compatible.20backend.json @@ -0,0 +1,14 @@ +[ + { + "content": "

Mattermost has an AI Copilot plugin that can work together with ollama (I guess).

\n

https://mattermost.com/marketplace/mattermost-ai-copilot/

\n

Would that be interesting to you @Shivaraj B H ?

", + "id": 442600562, + "sender_full_name": "Andreas", + "timestamp": 1717526740 + }, + { + "content": "

I will check it out! Thanks

", + "id": 442600901, + "sender_full_name": "Shivaraj B H", + "timestamp": 1717526858 + } +] \ No newline at end of file diff --git a/zulip_json/426237-nixify-llm/Name.20of.20tool.20who.20makes.20all.20LLMV.20OpenAPI.20compatible.json b/zulip_json/426237-nixify-llm/Name.20of.20tool.20who.20makes.20all.20LLMV.20OpenAPI.20compatible.json new file mode 100644 index 00000000000..8b1237ea24a --- /dev/null +++ b/zulip_json/426237-nixify-llm/Name.20of.20tool.20who.20makes.20all.20LLMV.20OpenAPI.20compatible.json @@ -0,0 +1,134 @@ +[ + { + "content": "

There was a tool, I forgot the name, which abstracts a wide variety of models behind an openAPI _API_, so that they can be used in its stead from other tooling.

\n

What was that name?

", + "id": 422468805, + "sender_full_name": "David Arnold", + "timestamp": 1708450659 + }, + { + "content": "

It wasn't https://localai.io/, iirc, but it's one such tool.

", + "id": 422470030, + "sender_full_name": "David Arnold", + "timestamp": 1708451114 + }, + { + "content": "

ollama also has OpenAI support now

", + "id": 422470702, + "sender_full_name": "Andreas", + "timestamp": 1708451384 + }, + { + "content": "

Andreas schrieb:

\n
\n

ollama also has OpenAI support now

\n
\n

Maybe it was ollama. But do I misremeber that it could potentially run _any_ model from hugginface?

", + "id": 422471021, + "sender_full_name": "David Arnold", + "timestamp": 1708451502 + }, + { + "content": "

ollama pulls in a lot of models from Huggingface. You can take a loot at their library here: https://ollama.com/library

", + "id": 422471549, + "sender_full_name": "Andreas", + "timestamp": 1708451695 + }, + { + "content": "

Andreas schrieb:

\n
\n

ollama pulls in a lot of models from Huggingface. You can take a loot at their library here: https://ollama.com/library

\n
\n

Hm, interesting. Why aren't they consumed from upstream? I just wonder and feel like I miss something.

", + "id": 422471804, + "sender_full_name": "David Arnold", + "timestamp": 1708451793 + }, + { + "content": "
\n

consumed from upstream?

\n
\n

Which would be from where?

", + "id": 422474546, + "sender_full_name": "Andreas", + "timestamp": 1708452728 + }, + { + "content": "

I mean: why do they host models from hugginface on their own site, if that makes sense as a question? Or if it doesn't I'm maybe having the wrong premise.

", + "id": 422474729, + "sender_full_name": "David Arnold", + "timestamp": 1708452802 + }, + { + "content": "

Or is it just a matter of having a \"registry\" of compatible models?

", + "id": 422474912, + "sender_full_name": "David Arnold", + "timestamp": 1708452851 + }, + { + "content": "

that is a good question to which I have no exact answer right now :smiley: let me know if you find out.

\n

However, there is something on the OpenAI compatible API I just found by accident: https://github.com/ollama/ollama/blob/main/docs/openai.md

", + "id": 422475747, + "sender_full_name": "Andreas", + "timestamp": 1708453138 + }, + { + "content": "

I dunno, I know perplexities api is openai compatible, which is one of the reasons I decided to pull the trigger on a pro subscription

", + "id": 422476103, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708453272 + }, + { + "content": "

Here's a list: https://kleiber.me/blog/2024/01/07/six-ways-running-llm-locally/

\n

But I cant recognize the thing I had in mind. Lost knowledge. :cry:

", + "id": 422476552, + "sender_full_name": "David Arnold", + "timestamp": 1708453449 + }, + { + "content": "

The problem is that this space moves so fast that it almost becomes irrelevant if you knew something existed three months ago

", + "id": 422476796, + "sender_full_name": "Andreas", + "timestamp": 1708453562 + }, + { + "content": "

Yeah, that is true! I guess from a user perspective (in my case: editor support), it's important to look for the emerging standard api, and choose tools wisely so that they aren't a one-way door. Ideally, one's pick will be the one you can grow within that ecosystem.

", + "id": 422477684, + "sender_full_name": "David Arnold", + "timestamp": 1708453914 + }, + { + "content": "

Yeah! Burn them out!

\n

image.png

\n
", + "id": 422478601, + "sender_full_name": "David Arnold", + "timestamp": 1708454227 + }, + { + "content": "

Where is that one from?

", + "id": 422495820, + "sender_full_name": "Andreas", + "timestamp": 1708460906 + }, + { + "content": "

Oh, I don't remeber, but it's emblematic for misaligned expectaions in those ecosystems.

", + "id": 422842620, + "sender_full_name": "David Arnold", + "timestamp": 1708616079 + }, + { + "content": "

yes the development of the open source generative A.I. landscape is fast and chaotic right now

", + "id": 422977246, + "sender_full_name": "Andreas", + "timestamp": 1708679897 + }, + { + "content": "

https://github.com/janhq/nitro

\n

Wasn't it, but seems promising. Small, based on llama.cpp

", + "id": 423117664, + "sender_full_name": "David Arnold", + "timestamp": 1708736751 + }, + { + "content": "

Even ROCm support seems to be on it's way! :confetti: https://github.com/janhq/nitro/issues/323

\n

I might try it. But it looks more or less like lightweight ollama. However the problem is that in order to run it, I need the 20 GB + something docker image from AMD for ROCm. So the ollama-nitro difference pales in comparison.

", + "id": 423152320, + "sender_full_name": "Andreas", + "timestamp": 1708765681 + }, + { + "content": "

This also seems to be taken serious, from a rust perspective, even if shapeshifting quite some, atm: https://github.com/rustformers/llm

", + "id": 423152404, + "sender_full_name": "David Arnold", + "timestamp": 1708765746 + }, + { + "content": "

Re GGUF, see also this choice of gpt4all:

\n
\n

GPT4All v2.5.0 and newer only supports models in GGUF format (.gguf). Models used with a previous version of GPT4All (.bin extension) will no longer work.

\n
\n

Hints are condensing into knowledge, it appears

", + "id": 423158962, + "sender_full_name": "David Arnold", + "timestamp": 1708771075 + } +] \ No newline at end of file diff --git a/zulip_json/426237-nixify-llm/khoj.json b/zulip_json/426237-nixify-llm/khoj.json new file mode 100644 index 00000000000..4e0edb0bba0 --- /dev/null +++ b/zulip_json/426237-nixify-llm/khoj.json @@ -0,0 +1,14 @@ +[ + { + "content": "

https://khoj.dev/ it's packaged in nixpkgs. what good? In nixpkgs, it is described as working well with beancount.

", + "id": 422471565, + "sender_full_name": "David Arnold", + "timestamp": 1708451702 + }, + { + "content": "

As concluded in the other thread, might be better for beancount than for actual coding tasks :smile:

", + "id": 423163557, + "sender_full_name": "Andreas", + "timestamp": 1708775249 + } +] \ No newline at end of file diff --git a/zulip_json/426237-nixify-llm/llm.20example.20.2B.20neovim.json b/zulip_json/426237-nixify-llm/llm.20example.20.2B.20neovim.json new file mode 100644 index 00000000000..1aeb6d8a02f --- /dev/null +++ b/zulip_json/426237-nixify-llm/llm.20example.20.2B.20neovim.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Just an idea, what if we had a single nix run that spun up our llm example as well as neovim (in zellij?) configured to use it for code suggestions/completions?

\n

First requires https://github.com/juspay/nix-dev-home/issues/16

", + "id": 449114060, + "sender_full_name": "Srid", + "timestamp": 1720106788 + } +] \ No newline at end of file diff --git a/zulip_json/426237-nixify-llm/nixified.2Eai.json b/zulip_json/426237-nixify-llm/nixified.2Eai.json new file mode 100644 index 00000000000..681a3287734 --- /dev/null +++ b/zulip_json/426237-nixify-llm/nixified.2Eai.json @@ -0,0 +1,20 @@ +[ + { + "content": "

https://github.com/nixified-ai/flake

\n

Haven’t tried it yet, but hoping to play around with it this weekend and give me thoughts

", + "id": 422466540, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708449948 + }, + { + "content": "

I think @Andreas has a few thoughts on its shortcomings.

", + "id": 422466715, + "sender_full_name": "Srid", + "timestamp": 1708449992 + }, + { + "content": "

Well the shortcomings are obviously that you can run two things and not more it seems: InvokeAI and textgen. But what if I want to run Automatic1111 Webui or ComyUI for stable diffusion? And I want to get several LoRAs from civit.ai? Not really a straightforward path.

\n

Like right now I am playing with LLMs using ollama. Which is really nice. But I use the ollama docker images for ROCm because setting up ROCm with StableDiffusionWebUI kinda taught me that the components going into ROCm and their interaction with PyTorch and all the rest of the Python ecosystem might be a bit finicky and you better take a working setup when you find one and never touch it again unless you have a day for experimenting...

", + "id": 422467630, + "sender_full_name": "Andreas", + "timestamp": 1708450255 + } +] \ No newline at end of file diff --git a/zulip_json/426237-nixify-llm/ollama.20image.20analysis.3F.json b/zulip_json/426237-nixify-llm/ollama.20image.20analysis.3F.json new file mode 100644 index 00000000000..f957663dfaa --- /dev/null +++ b/zulip_json/426237-nixify-llm/ollama.20image.20analysis.3F.json @@ -0,0 +1,56 @@ +[ + { + "content": "

Interesting question,

\n
\n

can you paste an image to the chat ui for the chatbot to analyze?

\n
\n

https://old.reddit.com/r/NixOS/comments/1dujxu4/run_local_ai_chatbot_using_nix/

", + "id": 449113605, + "sender_full_name": "Srid", + "timestamp": 1720106691 + }, + { + "content": "

Supposedly open webui supports something in that direction...

", + "id": 449116930, + "sender_full_name": "Andreas", + "timestamp": 1720107637 + }, + { + "content": "

you might need to run a specific model for that. Like this one: https://ollama.com/library/llava:13b

", + "id": 449117007, + "sender_full_name": "Andreas", + "timestamp": 1720107667 + }, + { + "content": "

Looks like it may work: https://openwebui.com/m/dwbranson/image-analysis-using-llava-1:latest

", + "id": 449117134, + "sender_full_name": "Srid", + "timestamp": 1720107712 + }, + { + "content": "

Is it just me or is the Add Model button basically broken for others too?

\n

image.png

\n
", + "id": 449117457, + "sender_full_name": "Srid", + "timestamp": 1720107836 + }, + { + "content": "

Okay, it works, but not the greatest quality:

\n

image.png

\n
", + "id": 449118153, + "sender_full_name": "Srid", + "timestamp": 1720108101 + }, + { + "content": "

Compare with Claude:

\n

image.png

\n
", + "id": 449118516, + "sender_full_name": "Srid", + "timestamp": 1720108260 + }, + { + "content": "

at least it works :smile:

", + "id": 449118967, + "sender_full_name": "Andreas", + "timestamp": 1720108450 + }, + { + "content": "

but yeah I'd say that might be a bit neglected so far in the open LLM space

", + "id": 449118986, + "sender_full_name": "Andreas", + "timestamp": 1720108463 + } +] \ No newline at end of file diff --git a/zulip_json/426237-nixify-llm/ollama.json b/zulip_json/426237-nixify-llm/ollama.json new file mode 100644 index 00000000000..48fcd1d3c69 --- /dev/null +++ b/zulip_json/426237-nixify-llm/ollama.json @@ -0,0 +1,1712 @@ +[ + { + "content": "

image.png

\n

https://github.com/ollama/ollama

\n

You can run it from nixpkgs. Run these two commands in separate terminals:

\n
nix run nixpkgs#ollama serve\n
\n
nix run nixpkgs#ollama run llama2-uncensored\n
\n

Works on macOS, at least.

\n

(The query I used to test the model is inspired by the one Musk used to demonstrate Grok)

", + "id": 422467380, + "sender_full_name": "Srid", + "timestamp": 1708450185 + }, + { + "content": "

Well it might work if ROCm works. Which it doesn't if I try. So I would probably have to build a shell for ROCm or something. Otherwise I will be using CPU...

", + "id": 422471452, + "sender_full_name": "Andreas", + "timestamp": 1708451653 + }, + { + "content": "

In case anyone likes to try this on AMD, here is the command to create a nice running docker container on Linux:

\n
docker run -d --privileged --device /dev/kfd -v ollama:/root/.ollama -p 11434:11434 -e OLLAMA_DEBUG=1 -e ROCR_VISIBLE_DEVICES="0" -e HSA_OVERRIDE_GFX_VERSION=10.3.0 --name ollama ollama/ollama:0.1.24-rocm\n
\n

The HSA_OVERRIDE_GFX_VERSION=10.3.0 environment variable is only needed if your GPU is not offically supported by ROCm. Which is most consumer and workstation GPUs actually, except a handful. Depending on the GPU it might or might not work.

\n

And then you can do a

\n
docker exec -it ollama ollama run llama2\n
\n

Or whatever model you want to run

", + "id": 422472224, + "sender_full_name": "Andreas", + "timestamp": 1708451938 + }, + { + "content": "

@Andreas Does the docker container run do anything special compared to pure Nix instance (nix run ..) above?

", + "id": 422472882, + "sender_full_name": "Srid", + "timestamp": 1708452165 + }, + { + "content": "

well it has ROCm installed obviously so that the GPU can use it. However that is just the container for ROCm they provide. Juding from the dockerfile in the ollama GitHub repo, they build them on the basis of some CentOS images provides by AMD.

\n

These in turn have their own repo, which I presume to be this one: https://github.com/ROCm/ROCm-docker

", + "id": 422474015, + "sender_full_name": "Andreas", + "timestamp": 1708452560 + }, + { + "content": "

This here might be the dockerfile for the base image on top of which ollama is compiling their GO binary:

\n

https://github.com/ROCm/ROCm-docker/blob/master/dev/Dockerfile-centos-7-complete

", + "id": 422474741, + "sender_full_name": "Andreas", + "timestamp": 1708452808 + }, + { + "content": "

I created a process-compose-flake-module for ollama, this is for a personal project that I am working on and here’s how easy it is to setup:

\n
{\n  services.ollama = {\n      enable = true;\n      host = \"100.71.49.133\";\n      # TODO: adding more than one model breaks in shellcheck\n      models = [ \"llama2-uncensored\" ];\n   };\n}\n
", + "id": 429110544, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711224021 + }, + { + "content": "

nix run ... cmd?

", + "id": 429110618, + "sender_full_name": "Srid", + "timestamp": 1711224067 + }, + { + "content": "

I will upstream this to services-flake, it is right now in the private repo as a module.

\n

More about the project soon.

", + "id": 429110791, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711224195 + }, + { + "content": "

Here it is: https://github.com/juspay/services-flake/pull/137

", + "id": 429112943, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711225844 + }, + { + "content": "

The nix run command is a bit long though:

\n
 nix run \"github:juspay/services-flake/ollama?dir=test\"#ollama --override-input services-flake github:juspay/services-flake/ollama\n
\n

This starts up ollama server with no models though, let me use a smaller sample model in test.

", + "id": 429113137, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711225956 + }, + { + "content": "

https://ollama.com/library/tinyllama looks like a good candidate

", + "id": 429113264, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711226078 + }, + { + "content": "

Oh wait, I can’t really pull models in flake check because of sandbox mode. I think these models will have to be pre-fetched by another derivation.

", + "id": 429113642, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711226409 + }, + { + "content": "

A separate repo, that uses services-flake module, to provide a single nix run .. to get some of these models up running, including a chat interface even, would be cool.

", + "id": 429113660, + "sender_full_name": "Srid", + "timestamp": 1711226446 + }, + { + "content": "

https://github.com/F1bonacc1/process-compose/issues/64 I can provide a single nix run command this, basically allowing users to interact with the chat process in the process-compose window

", + "id": 429115404, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711227772 + }, + { + "content": "

https://github.com/F1bonacc1/process-compose/issues/64#issuecomment-1974895517

\n

I will try it out with 0.88.0

", + "id": 429115425, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711227796 + }, + { + "content": "

Curious if there's a chat bot web app that can interact with ollama

", + "id": 429115680, + "sender_full_name": "Srid", + "timestamp": 1711228041 + }, + { + "content": "

There is this on top of search result: https://github.com/HelgeSverre/ollama-gui

", + "id": 429115894, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711228192 + }, + { + "content": "

Let's ship it. Gonna be a rad demo of services-flake.

", + "id": 429115972, + "sender_full_name": "Srid", + "timestamp": 1711228243 + }, + { + "content": "

https://github.com/open-webui/open-webui there’s also this (much more popular), but looks like it is bloated with a lot of features.

", + "id": 429116013, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711228296 + }, + { + "content": "

I will give both the UIs a shot though

", + "id": 429116121, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711228381 + }, + { + "content": "

I will try this tomorrow, going to get some sleep now

", + "id": 429116433, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711228566 + }, + { + "content": "

https://github.com/NixOS/nixpkgs/pull/275448

", + "id": 429116456, + "sender_full_name": "Srid", + "timestamp": 1711228597 + }, + { + "content": "

Shivaraj B H said:

\n
\n

https://github.com/F1bonacc1/process-compose/issues/64#issuecomment-1974895517

\n

I will try it out with 0.88.0

\n
\n

Update: I didn’t notice that the STDIN support is not there, so even with the current PTY support, this isn’t possible in the process-compose window. Gotta take the WebUI route, anyways, the webui demo will be much cooler.

", + "id": 429117121, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711229050 + }, + { + "content": "

Screenshot-2024-03-25-at-11.47.58PM.png
\nI have the UI running, it involved a lot of hacks to get it running because of the way open-webui uses the python backend.

\n
", + "id": 429590092, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711433921 + }, + { + "content": "
nix run github:shivaraj-bh/nixify-ollama\n
", + "id": 430517242, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711928750 + }, + { + "content": "

Unsurprisingly it does not use the GPU on my machine. We'd probably have to add all the ROCm related components.

", + "id": 430565055, + "sender_full_name": "Andreas", + "timestamp": 1711962355 + }, + { + "content": "

But other than that, nice work!

", + "id": 430565113, + "sender_full_name": "Andreas", + "timestamp": 1711962369 + }, + { + "content": "

oh I was a bit too quick: webui cannot find any models on my end...

", + "id": 430565685, + "sender_full_name": "Andreas", + "timestamp": 1711962659 + }, + { + "content": "

I faced this problem, I had to manually change the ollama server url and press on the refresh button. Will look for a way to fix this

", + "id": 430578950, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711970488 + }, + { + "content": "

Anyways, open-webui is a bit too much, I am looking for a simper UI, which is easier to setup

", + "id": 430578983, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711970512 + }, + { + "content": "

open-webui actually looks quite nice. I personally use my containerized ollama with other clients though.

", + "id": 430579062, + "sender_full_name": "Andreas", + "timestamp": 1711970544 + }, + { + "content": "

maybe we can work at making this ollama flake compatible with ROCm at some point. Did you test it with CUDA?

", + "id": 430579092, + "sender_full_name": "Andreas", + "timestamp": 1711970567 + }, + { + "content": "

GPU acceleration is next on my list after I get this UI to work out of the box.

", + "id": 430579227, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711970653 + }, + { + "content": "

I mean it should just pick up the GPU if available. It's just that I don't keep the ROCm libraries on my system if I don't need them specifically. So there is not much to be found.

", + "id": 430579298, + "sender_full_name": "Andreas", + "timestamp": 1711970714 + }, + { + "content": "

Andreas said:

\n
\n

open-webui actually looks quite nice. I personally use my containerized ollama with other clients though.

\n
\n

Yes, it does. I only hate how I can’t configure things like disabling web auth. When I am using it in my private network, or for development, I don’t really need it.

", + "id": 430579311, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711970724 + }, + { + "content": "
\n

I only hate how I can’t configure things like disabling web auth

\n
\n

Yes, it appears to have feature you might rather want for a somewhat larger deployment, like load balancing and such

", + "id": 430579735, + "sender_full_name": "Andreas", + "timestamp": 1711970994 + }, + { + "content": "
\n

oh I was a bit too quick: webui cannot find any models on my end…

\n
\n

Screenshot-2024-04-01-at-4.58.42PM.png

\n

The problem appears to be that I am not prefixing the protocol before the IP, as soon as i do that, it starts working. I will fix it

", + "id": 430579873, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711971087 + }, + { + "content": "

I have also included an Up Next section in README: https://github.com/shivaraj-bh/nixify-ollama/blob/main/README.md

\n

To track what I will be doing next

", + "id": 430580414, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711971467 + }, + { + "content": "

Shivaraj B H said:

\n
\n
\n

oh I was a bit too quick: webui cannot find any models on my end…

\n
\n

Screenshot-2024-04-01-at-4.58.42PM.png

\n

The problem appears to be that I am not prefixing the protocol before the IP, as soon as i do that, it starts working. I will fix it

\n
\n

I have fixed it, select model should now work without requiring any hacks

", + "id": 430583672, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711973524 + }, + { + "content": "

Yes, it's working now. Just a bit slow for my taste on CPU.

", + "id": 430622206, + "sender_full_name": "Andreas", + "timestamp": 1711988670 + }, + { + "content": "

but we are getting there

", + "id": 430622248, + "sender_full_name": "Andreas", + "timestamp": 1711988682 + }, + { + "content": "

I might look and see if I can get it to run with ROCm. So far I am only using containers for ROCm. But the stuff should all be in nixpkgs.

", + "id": 430622368, + "sender_full_name": "Andreas", + "timestamp": 1711988715 + }, + { + "content": "

Yes, I will continue working tomorrow. I am going to hit the sack for the day

", + "id": 430624923, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711989469 + }, + { + "content": "

yeah it's somewhat late already where you are :smile:

", + "id": 430625130, + "sender_full_name": "Andreas", + "timestamp": 1711989519 + }, + { + "content": "

I decided to create an issue on your repo for ROCm support @Shivaraj B H

", + "id": 430838740, + "sender_full_name": "Andreas", + "timestamp": 1712078512 + }, + { + "content": "

Yup, I was checking out macOS support today, while I was in parallel setting up my new machine with Nvidia drivers to try out GPU acceleration

", + "id": 430839409, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712078778 + }, + { + "content": "

I don’t have AMD hardware to test out ROCm, but I suppose I can test it on some cheap cloud instances

", + "id": 430839881, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712078956 + }, + { + "content": "

that is nice, maybe we can adapt the Nvidia settings to run AMD stuff. Nice thing about ROCm is that it's just running on top of the AMDGPU kernel drivers.

", + "id": 430839892, + "sender_full_name": "Andreas", + "timestamp": 1712078962 + }, + { + "content": "

Shivaraj B H said:

\n
\n

I don’t have AMD hardware to test out ROCm, but I suppose I can test it on some cheap cloud instances

\n
\n

Or I'd be the one testing it.

", + "id": 430839941, + "sender_full_name": "Andreas", + "timestamp": 1712078984 + }, + { + "content": "

Is there an easy way to export an environment variable depending on the user's GPU architecture?

", + "id": 430841267, + "sender_full_name": "Andreas", + "timestamp": 1712079459 + }, + { + "content": "

Also, since I am on a multi GPU system, I'd need a way to set the GPU that ollama is to be using. In docker that is fairly easy to do. I wonder how to do this here.

", + "id": 430841420, + "sender_full_name": "Andreas", + "timestamp": 1712079505 + }, + { + "content": "

Andreas said:

\n
\n

Is there an easy way to export an environment variable depending on the user's GPU architecture?

\n
\n

What would this environment variable be used for?

", + "id": 430843692, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712080327 + }, + { + "content": "

Andreas said:

\n
\n

Also, since I am on a multi GPU system, I'd need a way to set the GPU that ollama is to be using. In docker that is fairly easy to do. I wonder how to do this here.

\n
\n

How does one do this in docker? Multi-gpu scenario is new to me as well, so gotta play around with it a bit

", + "id": 430843858, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712080399 + }, + { + "content": "

Yes, so on the env variable front most user will have to set HSA_OVERRIDE_GFX_VERSION=10.3.0 if they are on RDNA2 or RDNA arch GPUs. On RDNA3 this will be a different value. And it might not be needed if the GPU is officially supported by ROCm (which only very few are outside the data center).

\n

For selecting the second GPU in my machine, I pass --device /dev/kfd and --device /dev/dri/renderD129 to the container. While --device /dev/dri/renderD128 would select the first GPU.

\n

In addition I set the ROCR_VISIBLE_DEVICES to either 0 or 1, which, I think, is there for isolating the GPUs.

", + "id": 430844580, + "sender_full_name": "Andreas", + "timestamp": 1712080666 + }, + { + "content": "

Does ollama detect the GPU correctly inside a docker container?

", + "id": 430846206, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712081197 + }, + { + "content": "

yes, no issues. I am using ollama's own container images. They are probably built on top of AMD's official images for ROCm.

", + "id": 430848989, + "sender_full_name": "Andreas", + "timestamp": 1712082233 + }, + { + "content": "

I think a big benefit of having this running via Nix would be a reduced footprint compared to these somewhat massive ROCm container images.

", + "id": 430849559, + "sender_full_name": "Andreas", + "timestamp": 1712082450 + }, + { + "content": "
ollama/ollama   0.1.24-rocm  9d567aacf463   7 weeks ago    20.9GB\n
\n

That is the last image I pulled. Smaller might be better :grinning_face_with_smiling_eyes:

", + "id": 430849761, + "sender_full_name": "Andreas", + "timestamp": 1712082520 + }, + { + "content": "

I might have to look at how the container images are built, but I am quite certain it should be possible on native as well.

", + "id": 430849925, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712082579 + }, + { + "content": "

it should be, yes

\n

I have just seen that they added a bit more documentation to their images:

\n

https://hub.docker.com/r/bergutman/ollama-rocm

", + "id": 430850138, + "sender_full_name": "Andreas", + "timestamp": 1712082648 + }, + { + "content": "

ah no, this is not the offical one

", + "id": 430850211, + "sender_full_name": "Andreas", + "timestamp": 1712082674 + }, + { + "content": "

I guess this should be the official dockerfile:

\n

https://github.com/ollama/ollama/blob/main/Dockerfile

", + "id": 430850405, + "sender_full_name": "Andreas", + "timestamp": 1712082748 + }, + { + "content": "

Andreas said:

\n
\n
ollama/ollama   0.1.24-rocm  9d567aacf463   7 weeks ago    20.9GB\n
\n

That is the last image I pulled. Smaller might be better :grinning_face_with_smiling_eyes:

\n
\n

Damn, I just noticed the image size is 20GB

", + "id": 430856135, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712084998 + }, + { + "content": "

yes, and since I already have multiple such images for different apps, you can see how that can easily become a bit cumbersome. Let's just say the image size is one of the many places AMD's ROCm could use some optimization.

\n

But I am happy that is working more or less nicely out of the box now. That is already a big thing. So they might get there eventually.

", + "id": 430856388, + "sender_full_name": "Andreas", + "timestamp": 1712085098 + }, + { + "content": "

It might just be very simple to enable ROCm, I am trying something out with CUDA, if that works out, I will post here and you can tell me if it works for you

", + "id": 430862540, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712087578 + }, + { + "content": "

the only CUDA device I have is my laptop GPU with 2GB of VRAM. So you'd need to set a very small model for that. (Btw. defining models more dynamically might also be a nice add-on for this)

", + "id": 430863301, + "sender_full_name": "Andreas", + "timestamp": 1712087853 + }, + { + "content": "

but once you have a CUDA implementation going, I can see if I can derive a ROCm implementation from that one

", + "id": 430863360, + "sender_full_name": "Andreas", + "timestamp": 1712087878 + }, + { + "content": "

Shivaraj B H said:

\n
\n

It might just be very simple to enable ROCm, I am trying something out with CUDA, if that works out, I will post here and you can tell me if it works for you

\n
\n

my bad, I wasn’t clear here.

\n

This is what I am trying for CUDA:

\n
services.ollama.\"ollama\" = {\n   enable = true;\n   package = pkgs.ollama.override { acceleration = \"cuda\"; };\n   host = \"0.0.0.0\";\n    models = [ \"llama2-uncensored\" ];\n};\n
\n

What I want you to try is:

\n
services.ollama.\"ollama\" = {\n   enable = true;\n   package = pkgs.ollama.override { acceleration = rocm\"; };\n   host = \"0.0.0.0\";\n    models = [ \"llama2-uncensored\" ];\n};\n
", + "id": 430863926, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712088091 + }, + { + "content": "

okay, but for that I'd need to actually provide the ROCm libraries somewhere, right? Otherwise there is nothing to pick up. Also ollama should detect that automatically, if it has been compiled with ROCm support. At least I believe it should.

", + "id": 430864155, + "sender_full_name": "Andreas", + "timestamp": 1712088163 + }, + { + "content": "
\n

but for that I'd need to actually provide the ROCm libraries somewhere, right?

\n
\n

nixpkgs does it for you: https://github.com/NixOS/nixpkgs/blob/8a22284f51fcd7771ee65ba124175bf9b90505ad/pkgs/tools/misc/ollama/default.nix#L51-L62

", + "id": 430864265, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712088219 + }, + { + "content": "
\n

package = pkgs.ollama.override { acceleration = “rocm\"; };

\n
\n

when you use the above override it will build ollama again with rocm libraries in its env, atleast that is what I believe it does.

", + "id": 430864401, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712088274 + }, + { + "content": "

alright, I will clone the repo and try if that works tomorrow

", + "id": 430864594, + "sender_full_name": "Andreas", + "timestamp": 1712088350 + }, + { + "content": "

after the override for cuda, ollama detected the libraries:
\n(from the logs of ollama serve)

\n
time=2024-04-02T20:07:05.102Z level=INFO source=gpu.go:237 msg=\"Discovered GPU libraries: [/nix/store/ikmrvm9hp2j7mka3li49cycx8mzbw080-nvidia-x11-550.67-6.6.23/lib/libnvidia-ml.so.550.67]\"\n
\n

but it fails at a later stage:

\n
nvmlInit_v2 err: 18\ntime=2024-04-02T20:07:05.106Z level=INFO source=gpu.go:249 msg=\"Unable to load CUDA management library /nix/store/ikmrvm9hp2j7mka3li49cycx8mzbw080-nvidia-x11-550.67-6.6.23/lib/libnvidia-ml.so.550.67: nvml vram init failure: 18\"\n
\n

I will investigate this tomorrow

", + "id": 430865110, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712088564 + }, + { + "content": "

I am suspecting now already that for ROCm you might need other components too. Like rocmPackages.rocm-runtime for instance, or rocmPackages.rocm-smi maybe. Not sure.

", + "id": 430865347, + "sender_full_name": "Andreas", + "timestamp": 1712088653 + }, + { + "content": "

Yup, let’s check that out tomorrow. I will head out for today

", + "id": 430865637, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712088780 + }, + { + "content": "

/me hasn't had a chance check this out because he is yet to find a reliable internet connection in Australia

", + "id": 430867659, + "sender_full_name": "Srid", + "timestamp": 1712089624 + }, + { + "content": "

macOS support is still a WIP for the open-webui backend, works well on linux for now. It is because the lock.json only locks for one platform atm. I have to switch to pdm for package management instead of pip, ensuring multi-platform support.

", + "id": 430872215, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712091430 + }, + { + "content": "

Shivaraj B H said:

\n
\n

after the override for cuda, ollama detected the libraries:
\n(from the logs of ollama serve)

\n
time=2024-04-02T20:07:05.102Z level=INFO source=gpu.go:237 msg=\"Discovered GPU libraries: [/nix/store/ikmrvm9hp2j7mka3li49cycx8mzbw080-nvidia-x11-550.67-6.6.23/lib/libnvidia-ml.so.550.67]”\n
\n

but it fails at a later stage:

\n
nvmlInit_v2 err: 18\ntime=2024-04-02T20:07:05.106Z level=INFO source=gpu.go:249 msg=\"Unable to load CUDA management library /nix/store/ikmrvm9hp2j7mka3li49cycx8mzbw080-nvidia-x11-550.67-6.6.23/lib/libnvidia-ml.so.550.67: nvml vram init failure: 18”\n
\n

I will investigate this tomorrow

\n
\n

@Andreas turns out it was just incompatibility between the driver version installed on my system vs the respective library exposed to ollama by the override. I matched them and now it works :tada:

", + "id": 430872515, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712091572 + }, + { + "content": "

The speed difference is huge, like 20x. On my CPU I get about 10-11 tokens/second and with RTX 3070 8GB vram mobile GPU, I get about 200-210 tokens/second

", + "id": 430872782, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712091656 + }, + { + "content": "

Wait, The token per second is for prompt eval, generation eval is much slower for both of them. For CPU it is 3.9 tokens/second and for GPU it is 24.7 tokens/seconds, about 10x better on GPU.

", + "id": 430874851, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712092447 + }, + { + "content": "

yes, I will try later today. Where can you see the generation speed btw.?

", + "id": 430949971, + "sender_full_name": "Andreas", + "timestamp": 1712133856 + }, + { + "content": "

but the huge speed increase is to be expected. That's why I wanted GPU to work so badly. :grinning_face_with_smiling_eyes:

", + "id": 430950120, + "sender_full_name": "Andreas", + "timestamp": 1712133891 + }, + { + "content": "

Andreas said:

\n
\n

yes, I will try later today. Where can you see the generation speed btw.?

\n
\n

You can find it in the logs of ollama serve process after a request is complete. I am thinking of exposing a benchmark script that can be run to compare numbers on different hardware.

", + "id": 430951307, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712134241 + }, + { + "content": "

ah so it's in the logs. I never bothered to look at them so far. But I'd like to compare my two AMD cards with your Nvidia 3070.

\n

Also speed will depend on the model I guess. You are still using llama-7b-uncensored, right?

", + "id": 430951537, + "sender_full_name": "Andreas", + "timestamp": 1712134317 + }, + { + "content": "

Andreas said:

\n
\n

ah so it's in the logs. I never bothered to look at them so far. But I'd like to compare my two AMD cards with your Nvidia 3070.

\n

Also speed will depend on the model I guess. You are still using llama-7b-uncensored, right?

\n
\n

Yup, I am using llama-7b-uncensored. I tried with llama-70b-uncensored on my GPU, it is extremely slow, like 0.3-0.5 tokens/second

", + "id": 430952101, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712134473 + }, + { + "content": "

Didn’t even bother trying on CPU

", + "id": 430952276, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712134527 + }, + { + "content": "

I will start playing around in the night today, after I am done with work

", + "id": 430952577, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712134616 + }, + { + "content": "

Actually you did bother trying on CPU. :big_smile:

\n

Because ollama most likely did fall back to CPU as you ran out of VRAM with your 8 GB.

", + "id": 430952847, + "sender_full_name": "Andreas", + "timestamp": 1712134691 + }, + { + "content": "

but for smaller models, there are quite a few capable models for code-related tasks that fit into 8GB of VRAM. And even a good amount that might fit my 2 GB of VRAM on my somewhat older laptop.

", + "id": 430953097, + "sender_full_name": "Andreas", + "timestamp": 1712134755 + }, + { + "content": "
\n

Because ollama most likely did fall back to CPU as you ran out of VRAM with your 8 GB.

\n
\n

Right, that makes sense.

", + "id": 430958463, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712136226 + }, + { + "content": "

E972A83F-3126-43BE-B30F-BC656E551C9A.jpg

\n

Now, I can access it on my phone as well

", + "id": 430974051, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712141319 + }, + { + "content": "

I am right now trying this snippet of code:

\n
services.ollama."ollama" = {\n   enable = true;\n   package = pkgs.ollama.override { acceleration = “rocm"; };\n   host = "0.0.0.0";\n    models = [ "llama2-uncensored" ];\n};\n
\n

However the result is that Nix wants to compile rocblas-6.0.2 from source... or at least that what my CPU fans sound like. Not ideal. I tried compiling the ROCm stack from source once. I have a Ryzen 3900x, but even with that machine this will take several hours, depending on how much it needs to compile.

\n

That being said, how can I specify runtime dependencies for the service I am declaring? Because I have a feeling I might need some, as I do not have ROCm runtime packages available on my system by default.

", + "id": 431004147, + "sender_full_name": "Andreas", + "timestamp": 1712151102 + }, + { + "content": "

I will let it do it's building and see what happens (most likely it will not work, since... ROCm)

", + "id": 431005266, + "sender_full_name": "Andreas", + "timestamp": 1712151419 + }, + { + "content": "
\n

However the result is that Nix wants to compile rocblas-6.0.2 from source

\n
\n

assuming you are on x86_64-linux, it should be coming from cache: https://hydra.nixos.org/build/254389608

", + "id": 431010566, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712152814 + }, + { + "content": "

that would make sense, however it did not

", + "id": 431010718, + "sender_full_name": "Andreas", + "timestamp": 1712152849 + }, + { + "content": "

right now it is stuck for some reason for the last 10 min so telling me:

\n

[1/1/10 built, 57 copied (9806.3/9806.5 MiB), 1089.1 MiB DL] building rocblas-6.0.2 (buildPhase): 4 warnings generated when compiling for gfx942.

\n

I will wait a bit longer and see if it back up on its feet again

", + "id": 431011020, + "sender_full_name": "Andreas", + "timestamp": 1712152922 + }, + { + "content": "
\n

I will let it do it's building and see what happens (most likely it will not work, since... ROCm)

\n
\n

The only problem I would see is the mismatch of versions between drivers installed on your OS with that of rocmPackages in the nixpkgs commit we are using in nixify-ollama’s flake.nix

", + "id": 431011160, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712152947 + }, + { + "content": "

Andreas said:

\n
\n

right now it is stuck for some reason for the last 10 min so telling me:

\n

[1/1/10 built, 57 copied (9806.3/9806.5 MiB), 1089.1 MiB DL] building rocblas-6.0.2 (buildPhase): 4 warnings generated when compiling for gfx942.

\n

I will wait a bit longer and see if it back up on its feet again

\n
\n

It definitely is building from scratch, not a good sign.

", + "id": 431011275, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712152984 + }, + { + "content": "
\n

mismatch of versions between drivers installed on your OS

\n
\n

The drivers are the Linux kernel drivers for my kernel version. Which is the LTS kernel 6.1.82 right now.

\n
\n

It definitely is building from scratch, not a good sign.

\n
\n

Might this be due to the ollama package being overridden in the nixify flake?

", + "id": 431011413, + "sender_full_name": "Andreas", + "timestamp": 1712153026 + }, + { + "content": "
\n

Might this be due to the ollama package being overridden in the nixify flake?

\n
\n

That should rebuild only the ollama package and not the rocmPackages

", + "id": 431012598, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712153308 + }, + { + "content": "

okay, my base system is on NixOS stable, not unstable. Would that have an impact here?

", + "id": 431012788, + "sender_full_name": "Andreas", + "timestamp": 1712153347 + }, + { + "content": "

Andreas said:

\n
\n

okay, my base system is on NixOS stable, not unstable. Would that have an impact here?

\n
\n

probably, let’s wait for it to build. In any case, you can override rocmPackages as well (to match your system’s stable release), so not a problem

", + "id": 431013250, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712153452 + }, + { + "content": "

since it's not moving anywhere, I decided to cancel it now

", + "id": 431018854, + "sender_full_name": "Andreas", + "timestamp": 1712154938 + }, + { + "content": "

yes, that is a bit of a sad state if Nix wants to rebuild stuff from scratch

", + "id": 431018986, + "sender_full_name": "Andreas", + "timestamp": 1712154966 + }, + { + "content": "

but since your flake itself uses nixpkgs unstable, normally it should pull in the binaries nonetheless, right?

", + "id": 431019241, + "sender_full_name": "Andreas", + "timestamp": 1712155041 + }, + { + "content": "

okay, so now I decided to downgrade your flake to the NixOS-23.11 branch, and now it is only compiling ollama itself.

", + "id": 431065629, + "sender_full_name": "Andreas", + "timestamp": 1712155520 + }, + { + "content": "

okay, so it compiled, but the webui now gets me an internal server error when trying to talk to model.

", + "id": 431142442, + "sender_full_name": "Andreas", + "timestamp": 1712165361 + }, + { + "content": "

When I do a

\n
curl http://localhost:11434/api/generate -d '{\n  "model": "llama2-uncensored",\n  "prompt":"Why is the sky blue?"\n}'\n
\n

I get curl: (52) Empty reply from server

", + "id": 431143108, + "sender_full_name": "Andreas", + "timestamp": 1712165639 + }, + { + "content": "

when I run that on my docker llama2, there is no issue, I get a stream of individual response tokens

", + "id": 431143597, + "sender_full_name": "Andreas", + "timestamp": 1712165827 + }, + { + "content": "

how would I set the environment for the process compose flake services? I'd say passing OLLAMA_DEBUG=1 might help find out what isn't moving there...

", + "id": 431144517, + "sender_full_name": "Andreas", + "timestamp": 1712166160 + }, + { + "content": "

As for stats, I get this on my GPU:

\n
[1712166751] print_timings: prompt eval time =      25.77 ms /     0 tokens (     inf ms per token,     0.00 tokens per second)\n[1712166751] print_timings:        eval time =    2132.53 ms /   118 runs   (   18.07 ms per token,    55.33 tokens per second)\n[1712166751] print_timings:       total time =    2158.30 ms\n
", + "id": 431146483, + "sender_full_name": "Andreas", + "timestamp": 1712166882 + }, + { + "content": "

no idea if this is good or bad. But the response comes pretty fast I'd say

", + "id": 431146560, + "sender_full_name": "Andreas", + "timestamp": 1712166906 + }, + { + "content": "

I’d need to expose an option to add extraEnvs

", + "id": 431147254, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712167169 + }, + { + "content": "

and this is from my secondary GPU

\n
[1712167117] print_timings: prompt eval time =      95.26 ms /    28 tokens (    3.40 ms per token,   293.94 tokens per second)\n[1712167117] print_timings:        eval time =    5266.83 ms /   212 runs   (   24.84 ms per token,    40.25 tokens per second)\n[1712167117] print_timings:       total time =    5362.09 ms\n
", + "id": 431147293, + "sender_full_name": "Andreas", + "timestamp": 1712167187 + }, + { + "content": "

These stats are from within the docker, is it?

", + "id": 431147403, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712167218 + }, + { + "content": "

What GPUs are you running on your machine?

", + "id": 431147514, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712167261 + }, + { + "content": "

Yeah the stats are from within the docker containers

\n

Great idea having some env to set. Let's see how you implement it :smile:

\n

Is there a way to attach to the tty of the running process in process compose? That way I could see what ollama spits out in debug messages

", + "id": 431147534, + "sender_full_name": "Andreas", + "timestamp": 1712167267 + }, + { + "content": "

Shivaraj B H said:

\n
\n

What GPUs are you running on your machine?

\n
\n

1) Radeon Pro W6800
\n2) Radeon Pro W6600

", + "id": 431147574, + "sender_full_name": "Andreas", + "timestamp": 1712167284 + }, + { + "content": "

You could do “nix run — -t=false” to disable tui mode in process-compose

", + "id": 431147636, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712167315 + }, + { + "content": "

So you 3070 was getting 25 tokens per second, yes? I find it odd that the W6600 should be that much faster with 40 tokens per second.

", + "id": 431147894, + "sender_full_name": "Andreas", + "timestamp": 1712167404 + }, + { + "content": "

Andreas said:

\n
\n

Shivaraj B H said:

\n
\n

What GPUs are you running on your machine?

\n
\n

1) Radeon Pro W6800
\n2) Radeon Pro W6600

\n
\n

That’s 32 gb and 8gb vram respectively?

", + "id": 431147905, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712167407 + }, + { + "content": "

Andreas said:

\n
\n

So you 3070 was getting 25 tokens per second, yes? I find it odd that the W6600 should be that much faster with 40 tokens per second.

\n
\n

Does that depend on the prompt maybe? I will try giving the same prompt as you

", + "id": 431148169, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712167497 + }, + { + "content": "

And is your GPU over clocked by any chance?

", + "id": 431148277, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712167543 + }, + { + "content": "

that is possible, I was just trying the prompt via curl that ollama has on github. Just with the different model

\n
curl http://localhost:11434/api/generate -d '{\n  "model": "llama2-uncensored",\n  "prompt":"Why is the sky blue?"\n}'\n
", + "id": 431148293, + "sender_full_name": "Andreas", + "timestamp": 1712167551 + }, + { + "content": "

Shivaraj B H said:

\n
\n

And is your GPU over clocked by any chance?

\n
\n

Nope, rather underclocked if compared to the gaming variant. The TDP for the Radeon Pro W6600 is basically locked at around 100W, it's s one slot card, which is very nice. The same goes for the W6800, which is the equivalent of the RX 6800, but uses less power. It does however have twice the VRAM.

", + "id": 431148490, + "sender_full_name": "Andreas", + "timestamp": 1712167620 + }, + { + "content": "

When it comes to gaming your 3070 should be rather close to my W6800 I'd say.

", + "id": 431148672, + "sender_full_name": "Andreas", + "timestamp": 1712167684 + }, + { + "content": "

Shivaraj B H said:

\n
\n

You could do “nix run — -t=false” to disable tui mode in process-compose

\n
\n

copy pasting this will only get me error: unrecognised flag '-t'

", + "id": 431150752, + "sender_full_name": "Andreas", + "timestamp": 1712168598 + }, + { + "content": "

Andreas said:

\n
\n

Shivaraj B H said:

\n
\n

You could do “nix run — -t=false” to disable tui mode in process-compose

\n
\n

copy pasting this will only get me error: unrecognised flag '-t’

\n
\n

My bad, it is nix run .#default -- -t=false

", + "id": 431155020, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712170401 + }, + { + "content": "

(Yes that was me being stupid / lazy I guess)

\n

okay let's see... there are quite a few errors coming from ollama

", + "id": 431155754, + "sender_full_name": "Andreas", + "timestamp": 1712170697 + }, + { + "content": "

Also, I have implemented the extraEnvs option. You can pull the latest changes on nixify-ollama and use this:

\n
{\n  services.ollama.\"ollama\" = {\n    enable = true;\n    host = \"0.0.0.0\";\n    models = [ \"llama2-uncensored\" ];\n    extraEnvs = {\n      OLLAMA_DEBUG=\"1\";\n    };\n  };\n}\n
", + "id": 431155859, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712170737 + }, + { + "content": "

and at some point among the gigantic mess we see this:

\n
[ollama ] CUDA error: invalid device function\n[ollama ]   current device: 0, in function ggml_cuda_op_flatten at /build/source/llm/llama.cpp/ggml-cuda.cu:10012\n[ollama ]   hipGetLastError()\n[ollama ] GGML_ASSERT: /build/source/llm/llama.cpp/ggml-cuda.cu:256: !"CUDA error"\n[ollama ] loading library /tmp/ollama1196279674/rocm/libext_server.so\n[ollama ] SIGABRT: abort\n[ollama ] PC=0x7f95e13c3ddc m=10 sigcode=18446744073709551610\n[ollama ] signal arrived during cgo execution\n
\n

My assumption is that I need to set a env var to get over this. So I will pull and try again.

", + "id": 431155940, + "sender_full_name": "Andreas", + "timestamp": 1712170768 + }, + { + "content": "

Success!!!

\n
services.ollama.\"ollama\" = {\n  enable = true;\n  package = pkgs.ollama.override { acceleration = \"rocm\"; };\n  host = \"0.0.0.0\";\n  models = [ \"llama2-uncensored\" ];\n  extraEnvs = {\n    HSA_OVERRIDE_GFX_VERSION = \"10.3.0\";\n    OLLAMA_DEBUG = \"1\";\n  };\n
", + "id": 431158649, + "sender_full_name": "Andreas", + "timestamp": 1712171765 + }, + { + "content": "

If I ask it about the Roman empire, I still get 56 tokens per second on the W6800

", + "id": 431158795, + "sender_full_name": "Andreas", + "timestamp": 1712171831 + }, + { + "content": "

sometimes to goes down to 48-49 tokens per second. but the model does not like to give long responses it seems

", + "id": 431159063, + "sender_full_name": "Andreas", + "timestamp": 1712171951 + }, + { + "content": "

but at least it is running now

", + "id": 431159089, + "sender_full_name": "Andreas", + "timestamp": 1712171962 + }, + { + "content": "

Andreas said:

\n
\n

If I ask it about the Roman empire, I still get 56 tokens per second on the W6800

\n
\n

Is that the same in docker with GPU acceleration?

", + "id": 431159227, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712172012 + }, + { + "content": "

Andreas said:

\n
\n

Success!!!

\n

services.ollama.\"ollama\" = {\n  enable = true;\n  package = pkgs.ollama.override { acceleration = \"rocm\"; };\n  host = 0.0.0.0;\n  models = [ \"llama2-uncensored” ];\n  extraEnvs = {\n    HSA_OVERRIDE_GFX_VERSION = “10.3.0”;\n    OLLAMA_DEBUG = “1”;\n  };\n

\n

\n
\n

Great, will star these messages to document them later.

", + "id": 431159285, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712172035 + }, + { + "content": "

Shivaraj B H said:

\n
\n

Andreas said:

\n
\n

If I ask it about the Roman empire, I still get 56 tokens per second on the W6800

\n
\n

Is that the same in docker with GPU acceleration?

\n
\n

I guess so, more or less

", + "id": 431159360, + "sender_full_name": "Andreas", + "timestamp": 1712172067 + }, + { + "content": "

I mean we could try and think how to structure the flake so that you can run with different GPU architectures.

", + "id": 431159472, + "sender_full_name": "Andreas", + "timestamp": 1712172116 + }, + { + "content": "
\n

I mean we could try and think how to structure the flake so that you can run with different GPU architectures.

\n
\n

I will be providing two different nix runnable apps, nix run .#with-cuda and nix run .#with-rocm. This is what I am thinking for now

", + "id": 431159644, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712172177 + }, + { + "content": "

I'd just go for #cuda and #rocm ... and I think I'd also really like to disable the webui.

", + "id": 431159769, + "sender_full_name": "Andreas", + "timestamp": 1712172236 + }, + { + "content": "

webui, I am thinking only for the default app. Can disable it for others

", + "id": 431159960, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712172299 + }, + { + "content": "

let me add cuda and rocm really quick

", + "id": 431159996, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712172313 + }, + { + "content": "

I'd say let me (or the consumer) choose to enable to disable.

", + "id": 431160060, + "sender_full_name": "Andreas", + "timestamp": 1712172338 + }, + { + "content": "

In the future, I am also planning to export a home-manager module that will support systemd config for linux and launchd config for mac. To allow running ollama server in the background

", + "id": 431160250, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712172407 + }, + { + "content": "

I mean there is already a nixos module, isn't there?

", + "id": 431160332, + "sender_full_name": "Andreas", + "timestamp": 1712172433 + }, + { + "content": "

Yes, I can take inspiration from it, but can’t reuse it in macos or other linux distros

", + "id": 431160414, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712172467 + }, + { + "content": "

yes, that is true.

", + "id": 431160503, + "sender_full_name": "Andreas", + "timestamp": 1712172488 + }, + { + "content": "

Added support for cuda and rocm:

\n
{\n  default = {\n    imports = [ common ];\n    services.ollama-stack.open-webui.enable = true;\n  };\n  cuda = {\n    imports = [ common ];\n    services.ollama-stack.extraOllamaConfig = {\n      package = pkgs.ollama.override { acceleration = \"cuda\"; };\n    };\n  };\n  rocm = {\n    imports = [ common ];\n    services.ollama-stack.extraOllamaConfig = {\n       package = pkgs.ollama.override { acceleration = \"rocm\"; };\n     };\n   };\n}\n
\n

Above is the definition for three apps, you can enable or disable open-webui on any of them. You can even pass extraOllamaConfig, I didn’t add the HSA_OVERRIDE_GFX_VERSION yet because I want to understand more about why it is needed and how to determine the version

", + "id": 431169594, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712175754 + }, + { + "content": "

I have a Hetzner dedicated server (x86_64-linux) now; how do I try this out?

", + "id": 431170303, + "sender_full_name": "Srid", + "timestamp": 1712176025 + }, + { + "content": "

Srid said:

\n
\n

I have a Hetzner dedicated server (x86_64-linux) now; how do I try this out?

\n
\n

nix run github:shivaraj-bh/nixify-ollama

", + "id": 431170497, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712176113 + }, + { + "content": "

Shivaraj B H said:

\n
\n

Srid said:

\n
\n

I have a Hetzner dedicated server (x86_64-linux) now; how do I try this out?

\n
\n

nix run github:shivaraj-bh/nixify-ollama

\n
\n

And then to test it:

\n
curl http://<hetzner-machine-ip>:11434/api/generate -d '{\n  \"model\": “llama2-uncensored\",\n  \"prompt\": \"Why is the sky blue?\",\n  \"stream\": false\n}'\n
\n

or

\n
open http://<hetzner-machine-ip>:1111\n
\n

to open open-webui

", + "id": 431171057, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712176347 + }, + { + "content": "

What does the curl command do exactly? Why can't I type that prompt in the webui itself?

", + "id": 431171285, + "sender_full_name": "Srid", + "timestamp": 1712176451 + }, + { + "content": "

(I have firewall setup so this means I'd have to setup port forwarding for 1111 the webui, which is fine, but why should I have to do it for 11434?)

", + "id": 431171329, + "sender_full_name": "Srid", + "timestamp": 1712176482 + }, + { + "content": "

@Shivaraj B H

\n

On the HSA_OVERRIDE_GFX_VERSION variable. I didn't find any documentation on it. However, the whole ROCm stack can be compiled for different LLVM targets, which you can find here:

\n

https://llvm.org/docs/AMDGPUUsage.html (there are quite a few recent ones not documented there, no idea why not)

\n

You will see that gfx1030 corresponds to my Radeon Pro W6800 (which is basically the same as any consumer RX 6800). This is where I got the number from. Now usufally that should not be necessary for my card as it is one of the few which has official support. However as we have seen, it still is necessary to override this. As it will be for any other RDNA2 based card, and probably RDNA1. Basically you fake having a Radeon RX 6800 architecture to ROCm so that it runs anyways. Which works just fine on my W6600 for instance.

\n

If you have a more recent RDNA3 based card, you will need a different override. Most likely SA_OVERRIDE_GFX_VERSION=11.0.0

", + "id": 431171564, + "sender_full_name": "Andreas", + "timestamp": 1712176598 + }, + { + "content": "

Srid said:

\n
\n

What does the curl command do exactly? Why can't I type that prompt in the webui itself?

\n
\n

You can do the same thing from webui as well

", + "id": 431171684, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712176662 + }, + { + "content": "

Srid said:

\n
\n

(I have firewall setup so this means I'd have to setup port forwarding for 1111 the webui, which is fine, but why should I have to do it for 11434?)

\n
\n

only 1111 should suffice

", + "id": 431171732, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712176680 + }, + { + "content": "

image.png

\n

Should I sign up?

", + "id": 431171817, + "sender_full_name": "Srid", + "timestamp": 1712176704 + }, + { + "content": "

Srid said:

\n
\n

What does the curl command do exactly? Why can't I type that prompt in the webui itself?

\n
\n

The curl command is just talking to ollama's API directly. That API is running on port 11434. Which the webui is most likely talking to as well.

", + "id": 431171866, + "sender_full_name": "Andreas", + "timestamp": 1712176726 + }, + { + "content": "

Srid said:

\n
\n

image.png

\n

Should I sign up?

\n
\n

Yes, I was looking for ways to get rid of it. But open-webui has it hardcoded. You can signup with any dummy mail

", + "id": 431171925, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712176752 + }, + { + "content": "

As a \"noob user\" looking to explore this, I'd just want to do the minimal thing necessary to get this up and running. Would be good to document it in README

", + "id": 431171927, + "sender_full_name": "Srid", + "timestamp": 1712176755 + }, + { + "content": "

Okay I created an account. I suppose it stores it in local DB?

", + "id": 431172072, + "sender_full_name": "Srid", + "timestamp": 1712176808 + }, + { + "content": "

image.png

\n

Nice! :tada:

", + "id": 431172147, + "sender_full_name": "Srid", + "timestamp": 1712176846 + }, + { + "content": "

Srid said:

\n
\n

As a \"noob user\" looking to explore this, I'd just want to do the minimal thing necessary to get this up and running. Would be good to document it in README

\n
\n

Yup, I was looking for simpler alternatives

", + "id": 431172238, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712176882 + }, + { + "content": "

Srid said:

\n
\n

Okay I created an account. I suppose it stores it in local DB?

\n
\n

Yes

", + "id": 431172272, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712176898 + }, + { + "content": "

This would be a great example for services-flake.

", + "id": 431172395, + "sender_full_name": "Srid", + "timestamp": 1712176941 + }, + { + "content": "

If you port forward 11434 you can use the Enchanted ios client to get a nice looking mobile and desktop app as well.

", + "id": 431172696, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712177062 + }, + { + "content": "

So @Shivaraj B H you broke ROCm again because the HSA_OVERRIDE_GFX_VERSION variable isn't set... how do you propose to set it so I don't have to walk into ./nix/ollama.nix?

", + "id": 431172822, + "sender_full_name": "Andreas", + "timestamp": 1712177121 + }, + { + "content": "

(Maybe we do that tomorrow :big_smile: I'll check out for today!)

", + "id": 431172871, + "sender_full_name": "Andreas", + "timestamp": 1712177150 + }, + { + "content": "

Andreas said:

\n
\n

So Shivaraj B H you broke ROCm again because the HSA_OVERRIDE_GFX_VERSION variable isn't set... how do you propose to set it so I don't have to walk into ./nix/ollama.nix?

\n
\n

You can add the envs here: https://github.com/shivaraj-bh/nixify-ollama/blob/017dca208fbec393f8c5c6b574c1c1234df176ce/flake.nix#L70-L72

", + "id": 431173039, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712177207 + }, + { + "content": "

The repo is now renamed to ollama-flake: https://github.com/shivaraj-bh/ollama-flake/issues/2

", + "id": 431179725, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712179802 + }, + { + "content": "

@Andreas I get about 77 tokens/second on the “why is the sky blue?” prompt, with GPU:

\n
[ollama ] {\"function\":\"print_timings\",\"level\":\"INFO\",\"line\":257,\"msg\":\"prompt eval time     =      62.70 ms /    28 tokens (    2.24 ms per token,   446.56 t\nokens per second)\",\"n_prompt_tokens_processed\":28,\"n_tokens_second\":446.5638506562894,\"slot_id\":0,\"t_prompt_processing\":62.701,\"t_token\":2.2393214285714285,\"\ntask_id\":0,\"tid\":\"139803154691776\",\"timestamp\":1712181596}\n[ollama ] {\"function\":\"print_timings\",\"level\":\"INFO\",\"line\":271,\"msg\":\"generation eval time =    1717.36 ms /   133 runs   (   12.91 ms per token,    77.44 t\nokens per second)\",\"n_decoded\":133,\"n_tokens_second\":77.44463000100154,\"slot_id\":0,\"t_token\":12.91245112781955,\"t_token_generation\":1717.356,\"task_id\":0,\"tid\n\":\"139803154691776\",\"timestamp\":1712181596}\n
", + "id": 431184304, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712181716 + }, + { + "content": "

I have a feeling you should have some commented out env vars right in the main flake.nix ... useability.

\n

Yes I can get the 55 token / second I reported on the W6800. What you got now is more what I expected. Nvidia should be faster at this. Also because CUDA will be more otimized than ROCm. We might try ROCm 6.0 at some point and see if this improves performance on AMD, because right now this is ROCm 5.7 I am running.

", + "id": 431281306, + "sender_full_name": "Andreas", + "timestamp": 1712227220 + }, + { + "content": "

Also funny effect I had: ollama wouldn't shut down properly some .ollama-unwrap process got stuck, didn't release the bound port 11434 and even on reboot systemd had quite some work to do to get the process killed. Not sure what happened there...

", + "id": 431281533, + "sender_full_name": "Andreas", + "timestamp": 1712227322 + }, + { + "content": "

Next thing I'd do for usability is add a catered list of models that are commented out by default (because let's be honest llama2-7b is not the more talkative buddy) and document that a bit. So users can choose what they want.

", + "id": 431283150, + "sender_full_name": "Andreas", + "timestamp": 1712227956 + }, + { + "content": "
\n

I have a feeling you should have some commented out env vars right in the main flake.nix ... useability.

\n
\n

Right, the primary one’s I would see people using is CUDA_VISIBLE_DEVICES HIP_VISIBLE_DEVICES and of course HSA_OVERRIDE_GFX_VERSION

", + "id": 431290236, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712230500 + }, + { + "content": "
\n

What you got now is more what I expected

\n
\n

I investigated as to why the performance was poor earlier. Turns out, my GPU was not running in performance mode earlier.

", + "id": 431290414, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712230560 + }, + { + "content": "

Andreas said:

\n
\n

Next thing I'd do for usability is add a catered list of models that are commented out by default (because let's be honest llama2-7b is not the more talkative buddy) and document that a bit. So users can choose what they want.

\n
\n

Along with that I should also document how to override cudaPackages or rocmPackages to match the one’s installed on the system.

\n

What I tend to do is nix run github:shivaraj-bh/ollama-flake#cuda —override-input nixpkgs flake:nixpkgs. In my configuration, I have the registry flake:nixpkgs pinned to the same nixpkgs I use to install nvidia drivers for, so it should work out of the box. I will add this is as a possible solution.

", + "id": 431291168, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712230780 + }, + { + "content": "

If they are on a non-nixos machine, then they will have to manually get the version of the drivers installed and use the compatible cudaPackages or rocmPackages

", + "id": 431291590, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712230883 + }, + { + "content": "

Yes, all that sounds quite good. There is also ROCR_VISIBLE_DEVICES for GPU isolation.

", + "id": 431292842, + "sender_full_name": "Andreas", + "timestamp": 1712231214 + }, + { + "content": "

I believe it is HIP_VISIBLE_DEVICES, I don’t see ROCR_VISIBLE_DEVICES in ollama docs: https://github.com/ollama/ollama/blob/9768e2dc7574c36608bb04ac39a3b79e639a837f/docs/gpu.md?plain=1#L88-L93

", + "id": 431293766, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712231501 + }, + { + "content": "

yeah maybe that one doesn't do much in our context.

\n

AMD's docs are here for once: https://rocm.docs.amd.com/en/latest/conceptual/gpu-isolation.html

\n

(At least they have some in this case)

", + "id": 431294201, + "sender_full_name": "Andreas", + "timestamp": 1712231633 + }, + { + "content": "

Gotcha, will add that too!

", + "id": 431294734, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712231765 + }, + { + "content": "

funny thing is, that according to CUDA_VISIBLE_DEVICES has the same effect as HIP_VISIBLE_DEVICES for compatibility reasons

", + "id": 431294996, + "sender_full_name": "Andreas", + "timestamp": 1712231841 + }, + { + "content": "

once you make another commit, I will test this again and see which flag does what in practice. You never know.

", + "id": 431299791, + "sender_full_name": "Andreas", + "timestamp": 1712233199 + }, + { + "content": "

done: https://github.com/shivaraj-bh/ollama-flake/commit/7b6375cc4849c6b3a91be5543043d3c820d312f6

", + "id": 431312176, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712236818 + }, + { + "content": "

just trying this out on my Nvidia Laptop with 2GB of VRAM. It starts building ollama 0.1.29 from source. Any idea why this might be happening? I am also on NixOS stable there...

", + "id": 431375197, + "sender_full_name": "Andreas", + "timestamp": 1712253954 + }, + { + "content": "

so after building a bit, it actually works. I can run deepseek-coder:1.3-instruct on my crappy Nvidia MX 150.

\n

And it gets me 27 tokens / sec. Not too bad for this older laptop GPU.

", + "id": 431377071, + "sender_full_name": "Andreas", + "timestamp": 1712254699 + }, + { + "content": "

I think it'd be nice to provide a list of models directly in flake.nix

", + "id": 431378448, + "sender_full_name": "Andreas", + "timestamp": 1712255246 + }, + { + "content": "

but I'll play with this setup a bit tomorrow for coding. Sadly it won't be very good at Nix.

", + "id": 431378491, + "sender_full_name": "Andreas", + "timestamp": 1712255269 + }, + { + "content": "

Andreas said:

\n
\n

just trying this out on my Nvidia Laptop with 2GB of VRAM. It starts building ollama 0.1.29 from source. Any idea why this might be happening? I am also on NixOS stable there...

\n
\n

If you are overriding with acceleration = “cuda”, it will build ollama from scratch. Although, I have noticed that it doesn’t do that if I use garnix cache.

", + "id": 431378587, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712255296 + }, + { + "content": "

Andreas said:

\n
\n

I think it'd be nice to provide a list of models directly in flake.nix

\n
\n

I was thinking of linking to ollama.com/library

", + "id": 431378729, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712255364 + }, + { + "content": "

Andreas said:

\n
\n

but I'll play with this setup a bit tomorrow for coding. Sadly it won't be very good at Nix.

\n
\n

Someone’s gotta train it with good content. Unfortunately there isn’t much. Hopefully with Nixos.asia tutorials, we can bridge that gap

", + "id": 431378879, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712255426 + }, + { + "content": "

I mean my idea was to try and finetune something at some point. I am still stuck at the point of \"What's the right data that I need for that?\" ... because if I understand it correctly, most base models haven't see a whole lot of Nix code.

", + "id": 431378990, + "sender_full_name": "Andreas", + "timestamp": 1712255476 + }, + { + "content": "

Yup

", + "id": 431379781, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712255814 + }, + { + "content": "

Getting back to the issue at hand: is there a good way passing an externally defined config file to the flake that would specify the models I would want to use? Otherwise I'd say it'll be nice to expose that list of models directly in flake.nix somehow.

", + "id": 431385201, + "sender_full_name": "Andreas", + "timestamp": 1712257962 + }, + { + "content": "

(I will be trying out the continue.dev extension in VSCode a bit more with this local A.I. and deepseek-coder:1.3b-instruct. So far it performs quite okay.)

", + "id": 431385315, + "sender_full_name": "Andreas", + "timestamp": 1712258028 + }, + { + "content": "

Andreas said:

\n
\n

Getting back to the issue at hand: is there a good way passing an externally defined config file to the flake that would specify the models I would want to use? Otherwise I'd say it'll be nice to expose that list of models directly in flake.nix somehow.

\n
\n

Nothing that comes to my mind right of the top, will give some thought to it over the weekend

", + "id": 431504821, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712317017 + }, + { + "content": "

it just came up because with me not maintaining a fork of your repo, everytime I do git pull it obviously annoys me because of changes I made myself to the files. So how about reading the config of local network config and models from a TOML or YAML file that the user would have to create on his end and that is in .gitignore? You might provide a template in the repo for the user to adopt to their use case.

", + "id": 431505550, + "sender_full_name": "Andreas", + "timestamp": 1712317283 + }, + { + "content": "

Andreas said:

\n
\n

it just came up because with me not maintaining a fork of your repo, everytime I do git pull it obviously annoys me because of changes I made myself to the files. So how about reading the config of local network config and models from a TOML or YAML file that the user would have to create on his end and that is in .gitignore? You might provide a template in the repo for the user to adopt to their use case.

\n
\n

Yup, that makes sense

", + "id": 431506276, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712317528 + }, + { + "content": "

macOS support added: https://github.com/shivaraj-bh/ollama-flake/pull/3

\n

Next steps:

\n
    \n
  • Expose a processComposeModule for @Andreas to use ollama-flake without having to clone and pull my repo all the time (I will also include example directory for how to use the module)
  • \n
  • Add CI
  • \n
", + "id": 431943668, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712575712 + }, + { + "content": "

Awesome!

", + "id": 431947478, + "sender_full_name": "Andreas", + "timestamp": 1712576528 + }, + { + "content": "

And I will bet on others being thankful for that possibility as well

", + "id": 431947580, + "sender_full_name": "Andreas", + "timestamp": 1712576550 + }, + { + "content": "

Is this expected? (on macOS, after downloading the model for about 30 mins)

\n

image.png

\n
", + "id": 432131460, + "sender_full_name": "Srid", + "timestamp": 1712642556 + }, + { + "content": "

I have to debug this on macOS, usually a restart of that process and then the open-browser process solves it

", + "id": 432131640, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712642621 + }, + { + "content": "

Alright, just a temporary issue. Re-running it worked

", + "id": 432131649, + "sender_full_name": "Srid", + "timestamp": 1712642626 + }, + { + "content": "

I think it has to do with the initial_delay_seconds of the readiness_probe because uvicorn takes a while to start

", + "id": 432131865, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712642686 + }, + { + "content": "

And also about the model pull taking long time, I am thinking of creating something like dockerPullImage for ollama models and serving it as a cache. I have ovserved that ollama pull starts off with a good bandwidth and it just goes to kbps in the end.

", + "id": 432132749, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712642985 + }, + { + "content": "

In this way, I can also run flake checks, without requiring internet connection in sandbox mode

", + "id": 432133104, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712643094 + }, + { + "content": "

@Andreas ollama-flake now exports a processComposeModule, see the examples: https://github.com/shivaraj-bh/ollama-flake/tree/main/example

", + "id": 432303591, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712685048 + }, + { + "content": "

You can use them in any of your flake now

", + "id": 432303760, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712685102 + }, + { + "content": "

I will be updating the README with relevant details too

", + "id": 432304047, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712685159 + }, + { + "content": "

I want to make some design changes, like decoupling the open-webui service from ollama itself, allowing to configure them separately. I will deprioritise this for now, as I see a feature like dockerTools.pullImage for ollama models being more useful, I will research a bit on that next.

", + "id": 432305220, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712685425 + }, + { + "content": "
\n

like decoupling the open-webui service from ollama itself

\n
\n

This will also allow configuring multiple frontends in the future, enable and disable them as you like.

", + "id": 432305508, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712685495 + }, + { + "content": "

awesome, looking very nice! I will give it a try tomorrow maybe or a but later...

", + "id": 432309436, + "sender_full_name": "Andreas", + "timestamp": 1712686426 + }, + { + "content": "

Got my PR merged to open-webui: https://github.com/open-webui/open-webui/pull/1472

\n

This has helped in packaging the frontend and backend in one single derivation.

\n

Earlier I had to do a lot of hacky stuff to workaround this:
\nScreenshot-2024-04-10-at-1.48.04PM.png

\n
", + "id": 432443833, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712737183 + }, + { + "content": "

Now it looks clean:
\nScreenshot-2024-04-10-at-1.48.46PM.png

\n
", + "id": 432443878, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712737197 + }, + { + "content": "

I will resume work on ollama-flake tonight, will solve some juspay/nix-health issues now.

", + "id": 432445072, + "sender_full_name": "Shivaraj B H", + "timestamp": 1712737474 + }, + { + "content": "

Beautiful! I have a feeling this will be the best ollama flake ever, period... once people know about it, that is. Maybe after it has good usability, you could post it somewhere to create publicity?

", + "id": 432457926, + "sender_full_name": "Andreas", + "timestamp": 1712740929 + }, + { + "content": "

So, I am back after a quick break. Before I left, I tried to create a derivation that would pull the model and cache it in /nix/store, just like dockerTools.pullImage does, but with docker images. Unfortunately, there is a blocker for this: https://github.com/ollama/ollama/issues/3369.

\n

I will get back to this, once that issue is resolved (I tried to implement it for a bit, but it isn’t that straightforward). Looking forward to that.

\n

For now, I will decouple the frontend service (open-webui) from the ollama backend service. Maybe also add another frontend service to it (to show how easily swap-able it can be), make a 0.1.0 release and announce it.

", + "id": 434372013, + "sender_full_name": "Shivaraj B H", + "timestamp": 1713536128 + }, + { + "content": "

it should be swap-able to some extent. Ollama has a long list of possible frontend service irrc. I am not sure that storing models in the nix store is a great strategy, as these can be fairly big, and you might want to add some from the ollama cli after the fact. Also you certainly would not want your 30 GB model to be garbage collected while still using it from time to time, so you'd have to prevent that somehow. In docker the image might be stored in the nix store without issues as it is immutable once built. But docker volumes and their content would not be, I suppose.

\n

idk if I am right though, let me know what you think.

", + "id": 434408090, + "sender_full_name": "Andreas", + "timestamp": 1713548677 + }, + { + "content": "

also: how does this work right now? I kinda don't see the command and just checking nix flake show and nix flake info and looking into flake.nix didn't really tell me how to run the rocm service right now... I am in a LXC container right now, running some Debian 12 which doesn't want to give me podman on ZFS sadly, and I was trying to get this to work.

", + "id": 434413562, + "sender_full_name": "Andreas", + "timestamp": 1713551036 + }, + { + "content": "

Andreas said:

\n
\n

it should be swap-able to some extent. Ollama has a long list of possible frontend service irrc. I am not sure that storing models in the nix store is a great strategy, as these can be fairly big, and you might want to add some from the ollama cli after the fact. Also you certainly would not want your 30 GB model to be garbage collected while still using it from time to time, so you'd have to prevent that somehow. In docker the image might be stored in the nix store without issues as it is immutable once built. But docker volumes and their content would not be, I suppose.

\n

idk if I am right though, let me know what you think.

\n
\n

You might be right, I haven’t fully evaluated this idea yet. Anyways, can’t do much until the issue I linked above from ollama is open.

", + "id": 434517380, + "sender_full_name": "Shivaraj B H", + "timestamp": 1713631917 + }, + { + "content": "

Andreas said:

\n
\n

also: how does this work right now? I kinda don't see the command and just checking nix flake show and nix flake info and looking into flake.nix didn't really tell me how to run the rocm service right now... I am in a LXC container right now, running some Debian 12 which doesn't want to give me podman on ZFS sadly, and I was trying to get this to work.

\n
\n

I have updated the README now, you can use the flake template. For you, it will look like:

\n
mkdir my-ollama-flake && cd ./my-ollama-flake\nnix flake init -t github:shivaraj-bh/ollama-flake#rocm\nnix run\n
", + "id": 434517477, + "sender_full_name": "Shivaraj B H", + "timestamp": 1713631974 + }, + { + "content": "

Or if you already have an existing flake where you would like to integrate this into, you can look at the examples and grab the necessary pieces

", + "id": 434517517, + "sender_full_name": "Shivaraj B H", + "timestamp": 1713632013 + }, + { + "content": "

I decided to not depend on services-flake in ollama-flake (yet to update README). I was unnecessarily keeping only the ollama service in the former and rest everything in the latter. let’s keep it simple! I have decided to bundle everything related to ollama in this single repository (from the server, to frontends, also the CLI clients and so on).

\n

Aside, I do have some ambitious plans for ollama-flake in the future, one of which being:

\n

Provide a just generate-doc <service> command in services-flake. This command will run a process-compose app that will start the ollama server (configured by ollama-flake), run a CLI client (gotta find something like smartcat for ollama), provide the context of docs of other services and the tests for <service> and out comes the doc for <service>.

\n

Let’s see how this idea fares

", + "id": 434519127, + "sender_full_name": "Shivaraj B H", + "timestamp": 1713633491 + }, + { + "content": "

So if I get this correctly you want to write tests and docs in an automated fashion?

\n

What would be the input of <service>? Some git repo with an existing codebase?

", + "id": 434519808, + "sender_full_name": "Andreas", + "timestamp": 1713634045 + }, + { + "content": "

Yes, at the moment focused only on docs. <service> here could be one of many that we support in services-flake. For example, Postgres or MySQL or Redis and so on. We do have docs for Postgres, but not for MySQL and many other services.

", + "id": 434519901, + "sender_full_name": "Shivaraj B H", + "timestamp": 1713634168 + }, + { + "content": "

Alright... one thing I noticed that confused me is this: your flake is now not really a flake for providing ollama, but a set of flake templates for providing ollama. If this is to be permanent, maybe the repo should be renamed again?

", + "id": 434580329, + "sender_full_name": "Andreas", + "timestamp": 1713697163 + }, + { + "content": "

There are other repos that follow the same approach of providing flake-templates/flake-module, like services-flake, rust-flake, just-flake. I just went with the same naming convention. What do you think will be more appropriate?

", + "id": 434659681, + "sender_full_name": "Shivaraj B H", + "timestamp": 1713766355 + }, + { + "content": "

FYI

\n

https://discourse.nixos.org/t/ollama-cant-find-libstdc-so-6/44305

", + "id": 435822853, + "sender_full_name": "Srid", + "timestamp": 1714280175 + }, + { + "content": "

I doubt he is using the Ollama package from nixpkgs, otherwise this shouldn’t occur.

", + "id": 435828580, + "sender_full_name": "Shivaraj B H", + "timestamp": 1714281637 + }, + { + "content": "

Aside: TIL that NixOS has a service for ollama:

\n

https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/misc/ollama.nix

", + "id": 435828858, + "sender_full_name": "Srid", + "timestamp": 1714281716 + }, + { + "content": "

Yes, it just starts the server. Pulling the model is a manual process

", + "id": 435832944, + "sender_full_name": "Shivaraj B H", + "timestamp": 1714282771 + }, + { + "content": "

Ollama v0.1.33 with Llama 3, Phi 3, and Qwen 110B

\n

https://news.ycombinator.com/item?id=40191723

", + "id": 435982828, + "sender_full_name": "Srid", + "timestamp": 1714378681 + }, + { + "content": "

yeah I need to test ollama 0.1.33 actually

", + "id": 436736378, + "sender_full_name": "Andreas", + "timestamp": 1714668738 + }, + { + "content": "

Looks like private-gpt uses ollama

", + "id": 438938901, + "sender_full_name": "Srid", + "timestamp": 1715837502 + }, + { + "content": "

It'd be interesting to be able to nix run it, and feed it local documents for querying.

\n

The nixpkgs PR has a module that is NixOS only, obviously.

", + "id": 438939023, + "sender_full_name": "Srid", + "timestamp": 1715837536 + }, + { + "content": "

This is cool, I was looking to add one more UI before I announce. This is a good candidate

", + "id": 438941925, + "sender_full_name": "Shivaraj B H", + "timestamp": 1715838779 + }, + { + "content": "

There is a package request for open-webui in nixpkgs, someone just referenced to what I have packaged in ollama-flake: https://github.com/NixOS/nixpkgs/issues/309567#issuecomment-2105940033

\n

If a PR gets merged in nixpkgs for the above issue, we can switch over to that.

", + "id": 439898095, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716323112 + }, + { + "content": "

Nice to see features getting added to nixpkgs inspired by ollama-flake: https://github.com/NixOS/nixpkgs/pull/313606

", + "id": 440046672, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716368468 + }, + { + "content": "

Screenshot-2024-05-25-at-10.15.52PM.png

\n

private-gpt in ollama-flake! I will share the nix command for you to try out in a bit, I am yet to push the commits.

", + "id": 440649515, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716655653 + }, + { + "content": "

In the screenshot you are seeing llama3:8b querying on https://nixos.asia/en/blog/replacing-docker-compose

", + "id": 440649603, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716655748 + }, + { + "content": "

There you go:

\n
nix run \"github:shivaraj-bh/ollama-flake/private-gpt?dir=example/private-gpt” --refresh\n
", + "id": 440651465, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716657704 + }, + { + "content": "

works on Linux and macOS

", + "id": 440651649, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716657846 + }, + { + "content": "

Trying it out ...

\n

Should be --refresh not -refresh.

", + "id": 440651667, + "sender_full_name": "Srid", + "timestamp": 1716657884 + }, + { + "content": "

Thanks, updated

", + "id": 440651679, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716657899 + }, + { + "content": "

And should be next to nix, not at the end

", + "id": 440651684, + "sender_full_name": "Srid", + "timestamp": 1716657900 + }, + { + "content": "

image.png

\n
", + "id": 440651699, + "sender_full_name": "Srid", + "timestamp": 1716657914 + }, + { + "content": "
\n

And should be next to nix, not at the end

\n
\n

Seems to work even at the end

", + "id": 440651721, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716657946 + }, + { + "content": "

s//\"/g

", + "id": 440651771, + "sender_full_name": "Srid", + "timestamp": 1716657978 + }, + { + "content": "

Is the readiness check fail of concern here?

\n

image.png

\n
", + "id": 440651786, + "sender_full_name": "Srid", + "timestamp": 1716658005 + }, + { + "content": "

Alright, what should I do now? It is running.

", + "id": 440651791, + "sender_full_name": "Srid", + "timestamp": 1716658020 + }, + { + "content": "

readiness thing happens on macOS, I believe you remember it happened with open-webui too

", + "id": 440651820, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716658047 + }, + { + "content": "

Srid said:

\n
\n

Is the readiness check fail of concern here?

\n

image.png

\n
\n

Exit code -1, incidentally.

", + "id": 440651828, + "sender_full_name": "Srid", + "timestamp": 1716658057 + }, + { + "content": "

I need to fix that, for now restarting the process works

", + "id": 440651829, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716658058 + }, + { + "content": "

Okay, I restarted it, now what?

\n

image.png

\n
", + "id": 440651892, + "sender_full_name": "Srid", + "timestamp": 1716658099 + }, + { + "content": "

I expected it to automatically open something in my browser, TBH

", + "id": 440651911, + "sender_full_name": "Srid", + "timestamp": 1716658134 + }, + { + "content": "

the browser is available at 8001 port, I need to add the open-browser process to this

", + "id": 440651918, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716658142 + }, + { + "content": "

Its a TODO

", + "id": 440651926, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716658153 + }, + { + "content": "

Yea, that would be helpful - especially if it is cross-platform (xdg-open vs open?)

", + "id": 440651931, + "sender_full_name": "Srid", + "timestamp": 1716658160 + }, + { + "content": "

So there are these two things to address before we have nix run ... just work?

", + "id": 440651941, + "sender_full_name": "Srid", + "timestamp": 1716658186 + }, + { + "content": "

is this supposed to run on AMD / ROCm as well? I might try later...

", + "id": 440651997, + "sender_full_name": "Andreas", + "timestamp": 1716658205 + }, + { + "content": "
\n

Yea, that would be helpful - especially if it is cross-platform (xdg-open vs open?)

\n
\n

open-webui already has this, I need to generalise it: https://github.com/shivaraj-bh/ollama-flake/blob/b61859956129b63fc6e2c8ad1ab4c8d13cc6cc96/services/open-webui.nix#L87-L97

", + "id": 440652012, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716658218 + }, + { + "content": "
\n

is this supposed to run on AMD / ROCm as well? I might try later…

\n
\n

Yes

", + "id": 440652020, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716658230 + }, + { + "content": "

Srid said:

\n
\n

s///g

\n
\n

zulip does something with the text while copy pasting, which changed the quotation and also the “—“ became “-“

\n

Edit: I can’t reproduce, maybe it was something else.

", + "id": 440652064, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716658295 + }, + { + "content": "

Uploaded it an Ikea invoice,

\n

image.png

\n
", + "id": 440652350, + "sender_full_name": "Srid", + "timestamp": 1716658629 + }, + { + "content": "

There's a broken image link, though.

\n

Pointing to http://localhost:8001/file=/Users/srid/code/the-actualism-way/private_gpt/ui/avatar-bot.ico

\n

(/Users/srid/code/the-actualism-way/ is the $PWD)

", + "id": 440652360, + "sender_full_name": "Srid", + "timestamp": 1716658658 + }, + { + "content": "

When I open that link, the text response is:

\n
{"detail":"File not allowed: /Users/srid/code/the-actualism-way/private_gpt/ui/avatar-bot.ico."}\n
", + "id": 440652425, + "sender_full_name": "Srid", + "timestamp": 1716658688 + }, + { + "content": "

It is missing the ./data/ parent directory.

", + "id": 440652436, + "sender_full_name": "Srid", + "timestamp": 1716658713 + }, + { + "content": "

Noted, 3 things to fix then!

", + "id": 440652447, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716658733 + }, + { + "content": "

But I can't find the .ico file in the ./data directory. So 4th thing?

", + "id": 440652465, + "sender_full_name": "Srid", + "timestamp": 1716658755 + }, + { + "content": "

It is probably in the private-gpt’s source, might have to copy it from there.

\n

Yes, it is: https://github.com/zylon-ai/private-gpt/blob/main/private_gpt/ui/avatar-bot.ico

", + "id": 440652486, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716658793 + }, + { + "content": "
\n

might have to copy it from there.

\n
\n

Or just point it to the /nix/store.. path

", + "id": 440652596, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716658908 + }, + { + "content": "
\n

Noted, 3 things to fix then!

\n
\n

Fixed one of them: https://github.com/shivaraj-bh/ollama-flake/commit/1c19aadfbb975b2f16f05163322b677d13201760

\n

Now the browser should open as soon as private-gpt is healthy

", + "id": 440653598, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716660033 + }, + { + "content": "

Uploading https://www.foo.be/docs-free/social-architecture/book.pdf

\n

Took maybe 30 seconds to process. But the results are underwhelming:

\n

image.png

\n
", + "id": 440653851, + "sender_full_name": "Srid", + "timestamp": 1716660260 + }, + { + "content": "

Also, must it always create $PWD/data? Why not ~/.ollama-flake/data?

", + "id": 440653877, + "sender_full_name": "Srid", + "timestamp": 1716660320 + }, + { + "content": "

I think, that’s a better default, we can reuse the pre-loaded models

", + "id": 440653897, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716660353 + }, + { + "content": "
\n

Took maybe 30 seconds to process. But the results are underwhelming:

\n
\n

I am yet to play around with larger documents. Works fine with smaller one’s. I have tried one with 2000-3000 words.

", + "id": 440653981, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716660449 + }, + { + "content": "

This thing creates a tiktoken_cache directory in $PWD for some reason.

", + "id": 440658012, + "sender_full_name": "Srid", + "timestamp": 1716664776 + }, + { + "content": "

I played a little with some RAG stuff in the open webui, and it was underwhelming as well. There must be some kind of better approach I haven't yet figured out. Maybe we should ask some other people around here who might know more?

", + "id": 440658240, + "sender_full_name": "Andreas", + "timestamp": 1716664940 + }, + { + "content": "

At least larger books didn't really work at all. But maybe having smaller documents is somewhat important.

", + "id": 440658294, + "sender_full_name": "Andreas", + "timestamp": 1716664999 + }, + { + "content": "

upstreaming open-webui to nixpkgs: https://github.com/NixOS/nixpkgs/pull/316248

", + "id": 441802917, + "sender_full_name": "Shivaraj B H", + "timestamp": 1717188457 + }, + { + "content": "

Very nice!

", + "id": 441867579, + "sender_full_name": "Andreas", + "timestamp": 1717225221 + } +] \ No newline at end of file diff --git a/zulip_json/426237-nixify-llm/private-gpt.json b/zulip_json/426237-nixify-llm/private-gpt.json new file mode 100644 index 00000000000..8800d283b8b --- /dev/null +++ b/zulip_json/426237-nixify-llm/private-gpt.json @@ -0,0 +1,32 @@ +[ + { + "content": "

https://github.com/NixOS/nixpkgs/pull/305586

\n

https://github.com/zylon-ai/private-gpt

\n
", + "id": 438938713, + "sender_full_name": "Srid", + "timestamp": 1715837415 + }, + { + "content": "

Oops, fails to build on macOS:

\n

image.png

\n
", + "id": 438939097, + "sender_full_name": "Srid", + "timestamp": 1715837581 + }, + { + "content": "

yeah interesting, open-webui, what @Shivaraj B H was using so far, also has some RAG capabilities, but I haven't really been testing them in depth. I am not clear yet which is the best way to generate the embeddings.

\n

Apparently you can use ollama with specific models to get that done.

", + "id": 438963066, + "sender_full_name": "Andreas", + "timestamp": 1715846659 + }, + { + "content": "

private-gpt build failure on aarch64-darwin should be solved after https://github.com/NixOS/nixpkgs/issues/313403

\n

Until then, I will override in the nixpkgs flakeModule of ollama-flake to make it work on aarch64-darwin

", + "id": 439868467, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716313217 + }, + { + "content": "

private-gpt in ollama-flake:

\n

https://nixos.zulipchat.com/#narrow/stream/426237-nixify-llm/topic/ollama/near/440651465

", + "id": 440651533, + "sender_full_name": "Shivaraj B H", + "timestamp": 1716657754 + } +] \ No newline at end of file diff --git a/zulip_json/426237-nixify-llm/sc.20-.20or.20how.20to.20AI.20editor.json b/zulip_json/426237-nixify-llm/sc.20-.20or.20how.20to.20AI.20editor.json new file mode 100644 index 00000000000..0d1d49bbfa0 --- /dev/null +++ b/zulip_json/426237-nixify-llm/sc.20-.20or.20how.20to.20AI.20editor.json @@ -0,0 +1,152 @@ +[ + { + "content": "

https://github.com/efugier/smartcat

\n

I hope this brings the power into my new helix setup.

\n
\n

The key to make this work seamlessly is a good default prompt that tells the model to behave like a CLI tool an not write any unwanted text like markdown formatting or explanations.

\n
", + "id": 422467775, + "sender_full_name": "David Arnold", + "timestamp": 1708450311 + }, + { + "content": "

@Srid just for my understanding.

\n

The config has:

\n
[openai]  # each supported api has their own config section with api and url\napi_key = \"<your_api_key>\"\ndefault_model = \"gpt-4\"\nurl = \"https://api.openai.com/v1/chat/completions\"\n\n[mistral]\napi_key_command = \"pass mistral/api_key\"  # you can use a command to grab the key\ndefault_model = \"mistral-medium\"\nurl = \"https://api.mistral.ai/v1/chat/completions\"\n
\n

Does this mean I could run ollama locally and use them as backend?

", + "id": 422468627, + "sender_full_name": "David Arnold", + "timestamp": 1708450596 + }, + { + "content": "

ollama provides an API, but I don't know if it is sufficient to replace openai/mistral API etc.

\n

https://github.com/ollama/ollama/blob/main/docs/api.md

", + "id": 422469119, + "sender_full_name": "Srid", + "timestamp": 1708450755 + }, + { + "content": "

A new helix topic in #nix or #offtopic maybe?

", + "id": 422469556, + "sender_full_name": "Srid", + "timestamp": 1708450915 + }, + { + "content": "

https://nixos.zulipchat.com/#narrow/stream/420166-offtopic/topic/helix/near/422470027

", + "id": 422470074, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708451137 + }, + { + "content": "

@David Arnold I DMed you this as well, but since you opened this up I might as well drop this here:
\nhttps://github.com/morph-labs/rift

", + "id": 422470198, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708451176 + }, + { + "content": "

Tim DeHerrera schrieb:

\n
\n

David Arnold I DMed you this as well, but since you opened this up I might as well drop this here:
\nhttps://github.com/morph-labs/rift

\n
\n

This short of seems the other extreme, making the editor lsp interface the upstream: https://github.com/morph-labs/rift/tree/main/rift-engine

\n

Maybe a good approach is to start out with something like smartcat for now and then transition to the \"Rift Code Engine\" as it matures and is being adopted.

", + "id": 422470828, + "sender_full_name": "David Arnold", + "timestamp": 1708451418 + }, + { + "content": "
\n

Once you got that working from helix you just have to select some text you want chatgpt to interact with, press the pipe | key and write something like sc -r -c \"write tests for that function\" and the output of the model will be appended right after your selection in the current buffer. The openai api is a bit slow but apart from that I'm super satisfied with it!

\n
", + "id": 422472292, + "sender_full_name": "David Arnold", + "timestamp": 1708451962 + }, + { + "content": "

For now, it hasn't been a major inconvenience to just ask an LLM in browser to generate some code. I haven't even tried a more involved code assistant like co-pilot yet though, so maybe I just don't know what I'm missing :sweat_smile:

", + "id": 422472533, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708452044 + }, + { + "content": "

I like to use co-pilot for assistance, but it’s annoying when it completes things on its own, that’s a bit distracting for me. I want something like this twitter post I shared earlier: https://x.com/victortaelin/status/1753593250340856179?s=46

\n

i.e auto-complete code when I ask the model to, avoids my round-trip to browser and also if it can learn from my code base as I am working on it, that will be awesome

", + "id": 422473575, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708452408 + }, + { + "content": "

I think Rift Code Engin on one hand (a proper LSP \"extension\" for AI support) and linux-y cat style are probably on the two ends of the spectrum.

\n

I have seen some tutorials where you just write a code comment and then the AI does what you ask it for in the context of the current buffer.

\n

That's sort of the immediacy that I think is worth a lot when living your day in a code editor.

\n

But short of using VSCode and having access to the entire plugin system, it increasingly looks like smartcat is a good choice (combined with any OpanAPI compatible backend of ones liking via ollama et al).

\n

I just wonder if I'm building the right mental model towards the \"how to use AI in the editor\" question?

", + "id": 422473593, + "sender_full_name": "David Arnold", + "timestamp": 1708452418 + }, + { + "content": "

Shivaraj B H schrieb:

\n
\n

I like to use co-pilot for assistance, but it’s annoying when it completes things on its own, that’s a bit distracting for me.

\n
\n

Thanks for this data point!! :handshake: Exactly what we oldies need to know that haven't gotten their hands dirty yet :smile:

", + "id": 422473811, + "sender_full_name": "David Arnold", + "timestamp": 1708452484 + }, + { + "content": "

I think LSP integration would be an improvment mostly because LSP tend to be aware of the entirety of the code base, it was my understanding that current code assistant are only aware of open files

", + "id": 422473841, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708452490 + }, + { + "content": "

Maybe it should be a proper LSP api though, instead of a standalone server

", + "id": 422473943, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708452531 + }, + { + "content": "
\n

because LSP tend to be aware of the entirety of the code base, it was my understanding that current code assistant are only aware of open files

\n
\n

Yeah that's a good point. smartcat litterally only of the selection, so it probably isn't all too powerful.

", + "id": 422473987, + "sender_full_name": "David Arnold", + "timestamp": 1708452549 + }, + { + "content": "

I wonder what @Shivaraj B H would say of smartcat, would that fit your desired use case better or worse (because it lacks more context on the code-base/buffer)? I'll just listen to your experience and leap frog onto it :smile:

", + "id": 422474248, + "sender_full_name": "David Arnold", + "timestamp": 1708452626 + }, + { + "content": "

Wait!

\n
\n

-c, --context <CONTEXT>
\n glob pattern to given the matched files' content as context

\n
\n

That seems promising (and maybe just famously \"good enough\")?

", + "id": 422474564, + "sender_full_name": "David Arnold", + "timestamp": 1708452736 + }, + { + "content": "

I will give smartcat a try and let you know my experience

", + "id": 422474630, + "sender_full_name": "Shivaraj B H", + "timestamp": 1708452768 + }, + { + "content": "

I want too, but struggling still with my key bindings in helix :smile:

", + "id": 422475020, + "sender_full_name": "David Arnold", + "timestamp": 1708452888 + }, + { + "content": "

Here's another helix specific one: https://github.com/leona/helix-gpt it seems that it could also be combined with any openapi compatible backend.

", + "id": 422475701, + "sender_full_name": "David Arnold", + "timestamp": 1708453119 + }, + { + "content": "

Oh nice, I haven't seen that one before, might try to wire it up

", + "id": 422475992, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1708453223 + }, + { + "content": "

I was caught with other things, but I got around to trying out sc yesterday. Here’s what I think:

\n
    \n
  • It works nice, provided you are okay with sticking to openAI and mistral.
  • \n
  • I tried understanding the code base to see how easy will it be to add support for ollama’s REST APIs, but although doable, the project looks a bit hacky imo.
  • \n
  • I would like a package that is very simple, like “echo” but smart. There will be an extra argument of course, if you want to make an interaction a conversation, but that’s it. I realise that it takes much more for an LLM models results to be accurate, for which you will have to tune a bunch of model params, play around with prompts, etc. But I think this process can be automated with another process that basically learns from your conversations as you go, tuning the parameters and prompts to your style. And if something is gonna learn from my actions, it definitely not be owned by large corporations, but me, hosted at my home. So I am coming up with something interesting, will post about it soon.
  • \n
", + "id": 429110210, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711223746 + }, + { + "content": "

I have already started on the last point that I mentioned, here’s some progress: https://nixos.zulipchat.com/#narrow/stream/426237-nixify-llm/topic/ollama/near/429110544

", + "id": 429110818, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711224240 + }, + { + "content": "

Also, I have written a derivation to build smartcat, dumping it here:

\n
{ lib, fetchFromGitHub, rustPlatform }:\n\nrustPlatform.buildRustPackage rec {\n  pname = \"smartcat\";\n  version = \"0.6.1\";\n\n  src = fetchFromGitHub {\n    owner = \"efugier\";\n    repo = pname;\n    rev = version;\n    hash = \"sha256-na/Yt5B3nJ0OIeJKVHeoZc+V1OUyimp7PqY7SGARc5s=\";\n  };\n\n  cargoPatches = [\n    ../patches/smartcat/add-Cargo.lock.patch\n  ];\n\n  cargoHash = \"sha256-ifUHWPBidLXX5f2JfIw9TdyV+pVcRVWT1LmHyLHTVds=\";\n\n  meta = with lib; {\n    description = ''\n      Putting a brain behind `cat`.\n      Integrating language models in the Unix commands ecosystem through text streams.\n    '';\n    homepage = \"https://github.com/efugier/smartcat\";\n    license = licenses.asl20;\n    maintainers = [ ];\n  };\n}\n
", + "id": 429113990, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711226706 + }, + { + "content": "

add-Cargo.lock.patch
\nYou will also need this patch file

", + "id": 429114093, + "sender_full_name": "Shivaraj B H", + "timestamp": 1711226771 + } +] \ No newline at end of file diff --git a/zulip_json/426237-nixify-llm/stream.20events.json b/zulip_json/426237-nixify-llm/stream.20events.json new file mode 100644 index 00000000000..2c40aa966e8 --- /dev/null +++ b/zulip_json/426237-nixify-llm/stream.20events.json @@ -0,0 +1,14 @@ +[ + { + "content": "

Public stream created by Shivaraj B H. Description:

\n
\n

Here we talk about LLM breakthroughs in the open-source community and also try to nixify them

\n
", + "id": 422465533, + "sender_full_name": "Notification Bot", + "timestamp": 1708449667 + }, + { + "content": "

Srid changed the access permissions for this stream from Public to Web-public.

", + "id": 422466250, + "sender_full_name": "Notification Bot", + "timestamp": 1708449862 + } +] \ No newline at end of file diff --git a/zulip_json/442953-cull-os/.E2.9C.94.20channel.20events.json b/zulip_json/442953-cull-os/.E2.9C.94.20channel.20events.json new file mode 100644 index 00000000000..275a1fd6b08 --- /dev/null +++ b/zulip_json/442953-cull-os/.E2.9C.94.20channel.20events.json @@ -0,0 +1,8 @@ +[ + { + "content": "

RGBCube has marked this topic as resolved.

", + "id": 446172683, + "sender_full_name": "Notification Bot", + "timestamp": 1719003545 + } +] \ No newline at end of file diff --git a/zulip_json/442953-cull-os/Bind.20expressions.json b/zulip_json/442953-cull-os/Bind.20expressions.json new file mode 100644 index 00000000000..b78f3c6424d --- /dev/null +++ b/zulip_json/442953-cull-os/Bind.20expressions.json @@ -0,0 +1,38 @@ +[ + { + "content": "

I wanted to make fix and makeScope a built in operator in my language and this is the way I'm going to do it:

", + "id": 453401045, + "sender_full_name": "RGBCube", + "timestamp": 1721737277 + }, + { + "content": "
myident @ {\n  foo = 132;\n  bar = myident.foo;\n}\n
", + "id": 453401134, + "sender_full_name": "RGBCube", + "timestamp": 1721737300 + }, + { + "content": "

This behaves the way you expect it to, just like fix. But you can also override the bind:

\n
{\n  needsBaz = self @ { bar = self.baz; };\n} ==> {\n  bazzed = setMeta { bind = (getMeta needsBaz).bind // { baz = 123; } needsBaz;\n}\n
", + "id": 453401609, + "sender_full_name": "RGBCube", + "timestamp": 1721737415 + }, + { + "content": "

So you can leverage this to implement anything, basically. Also the bind in foo @ { pattern, here }: here will act specially and bind to the argument instead of the lambda itself. So it is basically identical to the Nix version here.

", + "id": 453401849, + "sender_full_name": "RGBCube", + "timestamp": 1721737475 + }, + { + "content": "

Further, when you do inputs @ { ... } ==> ..., the bind inputs will bind to the \"use\"d attribute set, and it will get overriden by the language itself when the \"use\"d attribute set gets overriden. So it will all work magically.

", + "id": 453402340, + "sender_full_name": "RGBCube", + "timestamp": 1721737627 + }, + { + "content": "

Going to rethink the \"bind can be overriden\" stuff

", + "id": 479074831, + "sender_full_name": "RGBCube", + "timestamp": 1729972044 + } +] \ No newline at end of file diff --git a/zulip_json/442953-cull-os/Content.20addressed.20dynamic.20libraries.json b/zulip_json/442953-cull-os/Content.20addressed.20dynamic.20libraries.json new file mode 100644 index 00000000000..2ea25c90a7b --- /dev/null +++ b/zulip_json/442953-cull-os/Content.20addressed.20dynamic.20libraries.json @@ -0,0 +1,86 @@ +[ + { + "content": "
\n

Extending ELF to link dynamic libraries via a content addressed URI

\n
\n

Could you elaborate? Sounds interesting.

", + "id": 446163533, + "sender_full_name": "RGBCube", + "timestamp": 1719000626 + }, + { + "content": "

If I'm understanding correctly, if that was possible it wouldn't matter where the dynamic libraries are, as long as the dynamic linker can find them? So you wouldn't have to rebuild the whole world if you decided to use /nux/store instead of /nix/store as the path isn't referenced anywhere in the ELF

", + "id": 446164026, + "sender_full_name": "RGBCube", + "timestamp": 1719000749 + }, + { + "content": "

It shouldn't be that much work to make it run, all that needs to work is the systems dynamic linker resolving the URI to a path on the FS. I wonder how it would affect other tools, though. Do binaries even rely on the \"paths\"(in this case, the uri that's served as a path) they dynamically loaded existing?

", + "id": 446164360, + "sender_full_name": "RGBCube", + "timestamp": 1719000878 + }, + { + "content": "

It's one of my crazier ideas, but hypothetically the binaries would have no reliance on the filepath at all, and could simply load from the URI if it exists (could still fall back on a path, potentially).

\n

I've thought about this a bit, may need some explicit support from the file-system as well. I've wanted to look further into it for a bit though, get a more solid plan

", + "id": 446175376, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1719004774 + }, + { + "content": "

Why would you need filesystem support? The dynamic linker could check for a prefix or a format match on the path field. Like if a library \"path\" starts with uri: it could treat that as a uri and find the equivalent path

", + "id": 446179448, + "sender_full_name": "RGBCube", + "timestamp": 1719006451 + }, + { + "content": "

Maybe not for binaries, but probably for interpreted languages. I'm actually not 100% sure on that either though. There might be a clever way to avoid it

", + "id": 446181903, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1719007403 + }, + { + "content": "

I know someone gave a talk on a similar idea at nixcon maybe 2 years ago or so. Going over how one could extend ELF to suit Nix

", + "id": 446182200, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1719007581 + }, + { + "content": "

The point of the fs being aware is mostly so that files can be stored via their content URI and not have any true file path whatever, and every file exposed is just a virtual path to a hard uri, roughly speaking

", + "id": 446202875, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1719018771 + }, + { + "content": "

Ah I understand

", + "id": 446275046, + "sender_full_name": "RGBCube", + "timestamp": 1719064708 + }, + { + "content": "

Would this be possible to implement as a kernel module? without modifying every filesystem in existence

", + "id": 446275058, + "sender_full_name": "RGBCube", + "timestamp": 1719064731 + }, + { + "content": "

Perhaps something like /proc/$PID but for /file/$HASH (/file is up for debate, doesn't sound that good)

", + "id": 446275231, + "sender_full_name": "RGBCube", + "timestamp": 1719064858 + }, + { + "content": "

But then that's the Nix store we're talking about. Another level of indirection doesn't sound appealing

", + "id": 446276193, + "sender_full_name": "RGBCube", + "timestamp": 1719065633 + }, + { + "content": "

Tim DeHerrera said:

\n
\n

I know someone gave a talk on a similar idea at nixcon maybe 2 years ago or so. Going over how one could extend ELF to suit Nix

\n
\n

Do you have a link to this?

", + "id": 446277956, + "sender_full_name": "RGBCube", + "timestamp": 1719066734 + }, + { + "content": "

I tried to find it but failed. I should be able to track it down later when I have more time though. I'll post when I do

", + "id": 446306294, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1719081163 + } +] \ No newline at end of file diff --git a/zulip_json/442953-cull-os/Convering.20Islands.20to.20Derivations.20Efficiently.json b/zulip_json/442953-cull-os/Convering.20Islands.20to.20Derivations.20Efficiently.json new file mode 100644 index 00000000000..64445c59bde --- /dev/null +++ b/zulip_json/442953-cull-os/Convering.20Islands.20to.20Derivations.20Efficiently.json @@ -0,0 +1,26 @@ +[ + { + "content": "

Converting Islands To Derivations

\n

Fetching entire source trees using islands will be very inefficient. Say when we're doing:

\n
packages.cargoBuild {\n  source = <github:cull-os/cab>,\n}\n
\n

The build derivation will depend on the source derivation. But we don't have a derivation, we only have an island.

\n

Then what will we do? We will have to fetch it all and reupload it to our realizer, as a derivation (via toDerivation).

\n

This could be fixed with fixed output derivations, but specifying hashes manually is cumbersome.

\n

Instead of that, the implementation of toDerivation island will output a super tiny program (ideally written in Zig with -Osmall) that fetches the island and places the contents in a fixed output derivation.

\n

There is one minor issue. There is no way to do cab build --update without instructing the realizer to re-run the fetcher program with the found hash instead of expected one. This will be terrible for huge downloads.

\n

The fix is to have \"self-fixing\" derivations where the derivation will set its own fixed hash itself. Then we can have our \"updating\" program set its fixed hash and exit.

\n

This will be done with a fifo in the programs working directory where it will write the final hash right before exiting.

", + "id": 478760391, + "sender_full_name": "RGBCube", + "timestamp": 1729788874 + }, + { + "content": "

Converting Islands To Derivations

\n

Fetching entire source trees using islands will be very inefficient. Say when we're doing:

\n
packages.cargoBuild {\n  source = <github:cull-os/cab>,\n}\n
\n

The build derivation will depend on the source derivation. But we don't have a derivation, we only have an island.

\n

Then what will we do? We will have to fetch it all and reupload it to our realizer, as a derivation (via toDerivation island).

\n

This could be fixed with fixed output derivations, but specifying hashes manually is cumbersome.

\n

Instead of that, the implementation of toDerivation island will output a derivation using a super tiny WASM file (which is shared for all builtin islands, and requires requiredRealizerFeatures = [ \"wasm\" ]) that fetches the island and places the contents in a fixed output derivation.

\n

There is one minor issue. There is no way to do cab build --update (and fetch new islands without the flag) without instructing the realizer to re-run the fetcher program with the found hash after failing initially by running with a random one. This will be terrible for huge downloads.

\n

The fix is to have \"self-fixing\" derivations where the derivation will set its own fixed hash itself. Then we can have our \"updating\" program set its fixed hash and exit.

\n

This will be done with a fifo in the programs working directory where it will write the final hash in a number of formats (like our git fetcher can write the git revision at the start, before fetching and writing the Cab hash), and when each format is written the realizer has the right to terminate the derivation as it might already have it stored somewhere.

", + "id": 478917499, + "sender_full_name": "RGBCube", + "timestamp": 1729862338 + }, + { + "content": "

(updated to say WASM, for truly system independent building)

", + "id": 478917734, + "sender_full_name": "RGBCube", + "timestamp": 1729862408 + }, + { + "content": "

Which makes me think, does having system be something special make sense at all? Why not make it a feature in the protocol too?

", + "id": 478917902, + "sender_full_name": "RGBCube", + "timestamp": 1729862468 + } +] \ No newline at end of file diff --git a/zulip_json/442953-cull-os/Current.20status.json b/zulip_json/442953-cull-os/Current.20status.json new file mode 100644 index 00000000000..b881a262e11 --- /dev/null +++ b/zulip_json/442953-cull-os/Current.20status.json @@ -0,0 +1,254 @@ +[ + { + "content": "

Currently, I've only completed the tokenizer. But the general way I want to continue forward is like so:

\n
    \n
  • Create AST
  • \n
  • Create the lazy interpreters
  • \n
  • At this point, the program will be able to create files similar to Nix or Guix's .drv that specify environment variables, the builder & arguments to that builder and other derivations that this derivation depends on
  • \n
\n

That will be all that's done by the cab CLI tool. You will be able to import code from islands (e.g <github:cull-os/cab>) and create derivations (as well as convert islands into derivations). But you won't be able to import or inspect contents of derivations as Cab doesn't know how to build them, which is IMO a feature.

", + "id": 446141360, + "sender_full_name": "RGBCube", + "timestamp": 1718993275 + }, + { + "content": "

Essentially, cull-os/cab provides its own language (not Nix) and cross-repo abstraction (not flakes) - but using the underlying .drv language, right?

", + "id": 446141844, + "sender_full_name": "Srid", + "timestamp": 1718993459 + }, + { + "content": "

And then cab will invoke the configured derivation builder and copy the result to the current filesystem (if the builder is remote). The builder has to adhere to the \"builder protocol\"; something that I want to create and write a specification for. Unlike Nix or Guix, it will be documented and will allow for custom builders that accomplish custom needs. The specification will only require the builder to return a result matching the specified derivation, making it super flexible.

", + "id": 446141986, + "sender_full_name": "RGBCube", + "timestamp": 1718993513 + }, + { + "content": "

FTR, I am able to use the tokenizer (had to use Nix shell from a different Rust project since shell.nix doesn't provide cargo and friends):

\n

image.png

\n
", + "id": 446142002, + "sender_full_name": "Srid", + "timestamp": 1718993518 + }, + { + "content": "

RGBCube said:

\n
\n
    \n
  • similar to Nix or Guix's .drv
  • \n
\n
\n

Ah, wait, you said similar to. So nothing's shared with Nix/nixpkgs?

", + "id": 446142163, + "sender_full_name": "Srid", + "timestamp": 1718993576 + }, + { + "content": "

Srid said:

\n
\n

Essentially, cull-os/cab provides its own language (not Nix) and cross-repo abstraction (not flakes) - but using the underlying .drv language, right?

\n
\n

Yes, it's essentially just a simple tool to compose derivation files (though, I do not think I will use Nix's .drv syntax or even the .drv extension)

", + "id": 446142186, + "sender_full_name": "RGBCube", + "timestamp": 1718993582 + }, + { + "content": "

Srid said:

\n
\n

RGBCube said:

\n
\n
    \n
  • similar to Nix or Guix's .drv
  • \n
\n
\n

Ah, wait, you said similar to. So nothing's shared with Nix/nixpkgs?

\n
\n

Yes, I'm not planning to be compatible. What Cab essentially is is a frontend to the Builder Protocol, it creates derivation files required by the protocol and communicates with the backend (the builder server) to produce results

", + "id": 446142299, + "sender_full_name": "RGBCube", + "timestamp": 1718993640 + }, + { + "content": "

One could even use Nix for the (currently non existent) protocol to build things, as what Nix does it also create derivation files. Like another frontend

", + "id": 446142475, + "sender_full_name": "RGBCube", + "timestamp": 1718993704 + }, + { + "content": "

I'm specifically wondering if it would be possible to use (ie., import <github:NixOS/nixpkgs>) the existing packages from nixpkgs in a Cull package file.

", + "id": 446142569, + "sender_full_name": "Srid", + "timestamp": 1718993748 + }, + { + "content": "

I am wondering if @Tim DeHerrera might not be interested in this. Because he and I talked about about separating evaluation and builder functions of Nix, potentially distributing them somehow.

", + "id": 446142772, + "sender_full_name": "Andreas", + "timestamp": 1718993822 + }, + { + "content": "

That would require Cab to be compatible with Nix syntax, so no. But if Nix ever gets support for the builder protocol, it wouldn't be that hard to use Nix alongside Cab to build things on your system (with the same daemon managing both)

", + "id": 446142797, + "sender_full_name": "RGBCube", + "timestamp": 1718993830 + }, + { + "content": "

Definitely interesting, especially the builder protocol, as that as something I've been itching to improve for years now with Nix.

\n

Have begun to wonder if a full scale rearch wasn't necessary. I've had some other more outlandish ideas like extending ELF to link dynamic libs via a content addressed URI instead of a file path

\n

That way, you could make the file system layer a virtual abstraction, and maybe even present the files as a regular FHS while still retaining the benefits of a Nix build.

\n

In any case, I'll keep a close eye on your project, and maybe even contrib at some point if it helps. Seems like you have a solid plan so far. Bravo :clap:

", + "id": 446151052, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1718996878 + }, + { + "content": "

Almost finished the AST, the macros are done for automatic code generation

", + "id": 447758527, + "sender_full_name": "RGBCube", + "timestamp": 1719578825 + }, + { + "content": "

I'll continue monday, I'm done

", + "id": 447777259, + "sender_full_name": "RGBCube", + "timestamp": 1719582816 + }, + { + "content": "

AST node and token structures are done, as well as the tokenizer and stuff. Only need to create a parser that creates them, which shouldn't be more than 600 loc

", + "id": 448801760, + "sender_full_name": "RGBCube", + "timestamp": 1719999511 + }, + { + "content": "

Also I finally understand how rowan actually works, which will help

", + "id": 448801929, + "sender_full_name": "RGBCube", + "timestamp": 1719999563 + }, + { + "content": "

image.png

\n
", + "id": 449338974, + "sender_full_name": "RGBCube", + "timestamp": 1720193587 + }, + { + "content": "

Parsing and formatting for debug output works! Currently I haven't implemented much of the parser but the formatter is working nicely now

", + "id": 449339041, + "sender_full_name": "RGBCube", + "timestamp": 1720193628 + }, + { + "content": "

I need to clean up a little bit, however. But that's for after the parser

", + "id": 449339152, + "sender_full_name": "RGBCube", + "timestamp": 1720193659 + }, + { + "content": "

Found a much better way to write parsers, using chumsky. It's exactly like the megaparsec haskell library

", + "id": 450233681, + "sender_full_name": "RGBCube", + "timestamp": 1720545468 + }, + { + "content": "

I'm going to ditch the current implementation and rewrite it all. Did I waste the last 10 days? absolutely not

", + "id": 450233827, + "sender_full_name": "RGBCube", + "timestamp": 1720545509 + }, + { + "content": "

Actually no. I can't use chumsky because I need a lossless parser for the formatter. I'll continue doing this, it already parses pretty well

", + "id": 450265072, + "sender_full_name": "RGBCube", + "timestamp": 1720553425 + }, + { + "content": "

Unless there's a way to do lossless parsing with chumsky... I'm so unsure right now

", + "id": 450265479, + "sender_full_name": "RGBCube", + "timestamp": 1720553592 + }, + { + "content": "

image.png

\n

IT WORKS

", + "id": 450676238, + "sender_full_name": "RGBCube", + "timestamp": 1720694753 + }, + { + "content": "

After this, everything should be easy

", + "id": 450676312, + "sender_full_name": "RGBCube", + "timestamp": 1720694767 + }, + { + "content": "

lol, famous last words? :sweat_smile:

", + "id": 450761037, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1720717228 + }, + { + "content": "

image.png

\n
", + "id": 450950272, + "sender_full_name": "RGBCube", + "timestamp": 1720785510 + }, + { + "content": "

image.png

\n
", + "id": 450950545, + "sender_full_name": "RGBCube", + "timestamp": 1720785612 + }, + { + "content": "

image.png
\nmeanwhile, nix without a recovering parser

\n
", + "id": 450950597, + "sender_full_name": "RGBCube", + "timestamp": 1720785631 + }, + { + "content": "

image.png

\n
", + "id": 450951789, + "sender_full_name": "RGBCube", + "timestamp": 1720785880 + }, + { + "content": "

very nice!

", + "id": 451008047, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1720797710 + }, + { + "content": "

Parser is 100% complete!

", + "id": 453400609, + "sender_full_name": "RGBCube", + "timestamp": 1721737176 + }, + { + "content": "

I implemented pratt parsing & appliation today and yesterday after a long while

", + "id": 453400710, + "sender_full_name": "RGBCube", + "timestamp": 1721737201 + }, + { + "content": "

I should update the examples to reflect the design changes I did

", + "id": 453400846, + "sender_full_name": "RGBCube", + "timestamp": 1721737225 + }, + { + "content": "

Cleaned up a lot of parsing code, wrote a fuzzer (which optionally saves valid code to test later for regressions) and checker

", + "id": 453981073, + "sender_full_name": "RGBCube", + "timestamp": 1721921664 + }, + { + "content": "

https://x.com/RGBCubed/status/1816471661803127214

", + "id": 453981121, + "sender_full_name": "RGBCube", + "timestamp": 1721921678 + }, + { + "content": "

Also wrote an sexpr formatter

", + "id": 453981139, + "sender_full_name": "RGBCube", + "timestamp": 1721921686 + }, + { + "content": "

How goes it? Are you still actively developing this? Just curious because I have been building some things that may be useful for your (or any Nix like) system, but act as a more general format for them to leverage, rather than tightly coupling with a particular tool. I'd be interested to see if you'd find it useful here.

", + "id": 471333579, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1726687925 + }, + { + "content": "

I forgot to check this chat, but no I haven't had the chance to develop it further because of school. I have refined the design and direction I want to take the language and builder protocol though

", + "id": 475235977, + "sender_full_name": "RGBCube", + "timestamp": 1728287850 + }, + { + "content": "

What have you created? I'm not really looking to use an older format because I want to use Cap'n Proto for this, and a single Cap'n file can be leveraged by lots of languages so it's a de facto standard

", + "id": 475236434, + "sender_full_name": "RGBCube", + "timestamp": 1728287985 + }, + { + "content": "
\n

use Cap'n Proto for this

\n
\n

Believe it or not, we've I've had some discussions with Tim on that one as well :grinning_face_with_smiling_eyes: did you already build something with that?

", + "id": 476204865, + "sender_full_name": "Andreas", + "timestamp": 1728587225 + }, + { + "content": "

Nope, but it does seem pretty useful for creating APIs that can be used across multiple languages (thanks to the community) while enabling you to trivially extend the protocol

", + "id": 476387266, + "sender_full_name": "RGBCube", + "timestamp": 1728652719 + } +] \ No newline at end of file diff --git a/zulip_json/442953-cull-os/Derivation.20storing.20service.json b/zulip_json/442953-cull-os/Derivation.20storing.20service.json new file mode 100644 index 00000000000..7fa7ace961c --- /dev/null +++ b/zulip_json/442953-cull-os/Derivation.20storing.20service.json @@ -0,0 +1,248 @@ +[ + { + "content": "

I've been thinking about this for a bit, but what if we had a thing to store all versions of a certain derivation and its outputs, while making it possible for people to query them with names and versions? This is not so different from the current nix package management commands with added version storage.

\n

But what I had in mind was letting people patch these derivations. By default, if you want to install a package X, which depends on package Y@3.2, but you have Y version 3.3 on your system, the tool could trivially pull X, rename it to a different drv path (calculated with the new Y version) and patch it. This would be done for any backwards compatible version upgrade, or hash mismatch for when the versions match

", + "id": 475240565, + "sender_full_name": "RGBCube", + "timestamp": 1728289341 + }, + { + "content": "

This would make the tool useful for casual efficient package management

", + "id": 475240731, + "sender_full_name": "RGBCube", + "timestamp": 1728289400 + }, + { + "content": "

This would be a completely different thing from Cab (built on top of it; very optional) and I'm thinking of calling it the \"Cab Package Registry\" (cli tool would be aptly named cpr)

", + "id": 475297297, + "sender_full_name": "RGBCube", + "timestamp": 1728307631 + }, + { + "content": "

I think Tim might have some comments on that one as well. I'll let him know so that he gets back to you.

", + "id": 476205193, + "sender_full_name": "Andreas", + "timestamp": 1728587309 + }, + { + "content": "

I have already spent some months working on just such a format, and I think you may appreciate some of its novelties. So far I already have the publishing code and a convenient URI syntax for addressing them. I can open up the codebase to you if you'd like to take a look. Also happen to maybe introduce the concept in an meeting if you prefer

", + "id": 476216831, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728591326 + }, + { + "content": "

However, I'm not sure if what I am working on is exactly what you are looking for here. What I am working on is a sort of decentralized publishing mechanism for Nix (or Nix like, could easily work with Cab) code that would alleviate the growing burden of fetching an ever growing nixpkgs n times, along with some other nice properties, such as efficient and decentralized querying, and I also have plans for a full version resolution scheme for efficient dependency management

", + "id": 476217190, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728591460 + }, + { + "content": "

We also have a private mattermost instance for discussing the project and some other random stuff as well

", + "id": 476217592, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728591608 + }, + { + "content": "

One thing I am particularly proud of is a novel identifcation format which allows us to track a large number of these \"atoms\" as I call them across repositories without collisions, which will be extremely useful for efficiently caching them and returning results without any evaluation necessary (assuming its been cached).

\n

Perhaps this will give you a hint:
\nhttps://github.com/Byron/gitoxide/pull/1610

", + "id": 476218477, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728591982 + }, + { + "content": "

This is interesting. Not sure what to make of the PR, but the concept I had in mind was fundamentally incompatible with using the cached derivations in Cab expressions, because every derivation must be produced by an expression itself, which the storing service does not provide.

", + "id": 476389346, + "sender_full_name": "RGBCube", + "timestamp": 1728653395 + }, + { + "content": "

Aside: I love the use of Result as Either and Ok, Err as named variants, will definitely use that in the future.

", + "id": 476389674, + "sender_full_name": "RGBCube", + "timestamp": 1728653506 + }, + { + "content": "

How do you \"cache\" the Nix expressions? That's the part I don't fully understand, as my understanding is that Nix always needs Nix code to evaluate derivations. Sure, primitive versions of caching is possible but how do you mitigate fetching nixpkgs _n_ times?

", + "id": 476390061, + "sender_full_name": "RGBCube", + "timestamp": 1728653619 + }, + { + "content": "

Well my approach is a fundamental shift in how we would run a Nix evaluation, based on 10 years of being annoyed at how costly evaluation can be sometimes, and the experience I gained in that time from Nix and software engineering in general.

\n

So far includes two components, a novel Nix module system that actually provides sensible boundaries for Nix code for not much cost (it is actually insanely fast compared to the NixOS module system). This piece makes the Nix code bounded and trvially statically analyzeable. It perpusefully bucks the trend of depending on nixpkgs and being super complex and heavy. The core of it took me two hours to write and I have kept it purposefully small since. Besides performance and predictability, another nice feature is trivial tracing (unlike the monsterous traces produced by the nixos module system). There is still some work to do to integrate it more cleanly with my CLI, and I am almost at that stage.

\n

As for the Rust based cli, there are a few core planned features but right now all I really have (although its pretty solid at this point) is a publish subcommand. This CLI is not meant to be just another Nix wrapper, but instead, a higher level frontend to a Nix like build service (I envision a Guix integration at some point in the future as well). Publishing is somewhat abstracted to allow different storage backends but the inaugural implementation, and probably source of truth for all other backends, is an implementation in pure git.

\n

I use gitoxide to do some non-standard git things in a very efficient and secure manner. Essentially I detect my format (based on a unique file-extension), and create a detached (orphaned) history containing just that \"atom\" as I call it. Similar to a crate, it contains a manifest and some source files (in a self-contained directory). Since some usecases in Nix may be aided by shared static config, the source dir is optional.

\n

These are then versioned (a semver is required in the manifest) and stored in unique gitrefs under a custom prefix. The contents are simply new git trees (references to already existing blobs). There is nowhere in the code that writes new blobs anywhere, so this essentially ensures that there is no way to \"corrupt\" the files during publishing, and also makes the format extremely light on gits store, since tree objects are akin to mere references, they are cheap to create, store and crucially, fetch.

\n

I store some additional, non-standard, meta-data in the commit header, such as the commit from which the atom originates, and commit it using a constant timestamp and author information, making the atom commit fully reproducible. Not implemented yet, but I plan to also allow for optionally signing the atom commit with a tag object. This way one can short circuit manual verification if they trust the key, but even so, manually verifying the contents of an atom is trivial.

\n

A ref pointing to the original source commit is also made in the atom's ref prefix, so that as long as an atom exists, so to will the source it came from. Verifying is as trivial as pulling it and checking the objectid of the source tree and manifest blob, if you are ever in doubt. You might be wondering \"why bother\"? I was trying to think of a system that could be incrementally adopted in a repo as large as nixpkgs, which would also make it more efficient to pull different packages from various points in history (different versions) without having to grab the entire nixpkgs tree n times, which is a persistent, and growing burden, that flakes actually made far worse.

\n

I am close to ready to start working on a full blown version resolver that resolves version constraints for these atom's across repositories, and produces a truly minimal set of dependencies (much unlike our friend the flake), directly from source while also remaining extremely cheap to fetch and totally self-contained in git. The versions themselves are contained in the refspec, so resolving the atoms a repository has does not require fetching any of its contents, which is why I spent a lot of time ensuring I do not break this property when writing the publishing code.

\n

I envision a 3rd critical piece which we have only been brainstorming, and only have a skeleton repo for so far, but it would essentially serve as a much more efficient backend for Nix like evaluators, and serve to decouple evaluation from the caller (our cli binary). This is where my atom id concept (implemented during publishing) comes in to bolster caching. An atom contains a unicode id in the manifest, however, in order to make its identity fully unambiguos and avoid an annoying global namespace (like rust crates suffer from), I also include the concept of a \"root\" which is used as a key input for a blake3 sum over the atom unicode id.

\n

This \"root\" key, in the git implementation I just described, is the oldest, parentless commit in the repositories history (the origin of the repository). I decided on this as I was trying to think of a way to unambiguously identify a git repo, without replying on emphermal information like remote names, etc (since those can change but you still have the same code and history underneath).

\n

If the very root of your history changes, you very clearly no longer have quite the same codebase, so to me it seemed like the perfect identifier. This also makes the atom format decentralized, just as git, since you can just publish them to as many remotes as you like. In any case, this ID will be used extensively to track information in this backend we are still designing. We plan to use capt-proto as the exchange format to make it extremely efficient to offload builds and evaluations to multiple instances.

\n

Everything this backend builds or evals will be tracked, by atomid and then also by derivation information which already exists, creating a trivial mapping to the final artifact (if it exists). This is what will (once fully implemented) allow a user to simply call for a package and instantly start to download it, avoiding evaluation entirely (if it was already built).

\n

I arrived at all this not to try to replace or even compete with Nix, but through my observation after all these years that Nix is actually quite good as a low-level build tool. It is a not a high level piece, and we shouldn't try to make it so (flakes), as it is fundamentally working at a different level of abstraction. Users simply don't care about derivations, as useful as they are. Everybody does already know what a version is though, and it is an abstraction we have sort of lost in Nix, pinning everything exactly. This model tries to essentially reintroduce it in a principled manner, while retaining the benefits of Nix and mitgating many of its pains.

\n

So again, this is a backend agnostic system envisioned to provide a proper, user (and developer) level abstraction which makes working with the low-level concept of derivations a breeze, by abstracting the nuisance, creating clean boundaries, reducing reliance on Nix code outright (I envision a plugin system for the cli to generate inputs), and only use it strictly as the DSL it was designed to be, and not the monsterous and growing beast it has become a la the module system, etc.

\n

None of the pieces I have so far are tied to Nix in any way, and that would be an indication of a boundary violation. It should remain abstract enough to be useful for any Nix like tool (and perhaps future usecases I haven't envisioned). In any case, we are going to be going public soon.

\n

If I could give a high-level principle that has motivated this whole thing it would be something like, \"nothing is cheaper than static\". If you keep as much as possible about the build statically knowable (the manifest, the refs, the atomids in the backend, the evaluation and build history) you don't have to worry about some eval taking an indeterminate amount of time in between you and the thing you want to use, at least not more than once (for the inital build).

\n

Sorry for the novel, but its hard to explain the plan without all the pieces :joy:

", + "id": 476414811, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728661571 + }, + { + "content": "

We plan to also release a whitepaper when we go public, so that I cam formalize all the novel pieces and make it clear our direction

", + "id": 476415748, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728661898 + }, + { + "content": "

That’s a pretty good introduction actually

", + "id": 476417832, + "sender_full_name": "Srid", + "timestamp": 1728662556 + }, + { + "content": "

haha yeah I was just thinking I can maybe reuse this somewhere

", + "id": 476418011, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728662635 + }, + { + "content": "

Milestones would also be good to see. In particular, I want to see at what point I can replace flakes+nixpkgs use in real-world projects (while retaining same functionality).

", + "id": 476420552, + "sender_full_name": "Srid", + "timestamp": 1728663598 + }, + { + "content": "

Yep, that's what comes next now that the format is stable and the code for it is properly tested. Next piece is integrating my novel Nix module system with the atom format produced by the cli, which should be fairly simple, I am really only missing one piece there that I already have a plan for.

\n

At that point it should be usable, although dependencies would have to be wired up manually, which is a pain. When it would be a truly nobrainer replacement for flakes is what comes after, I will start working on the resolver right after that, and once that's done, I can't imagine any reason why you would want a \"flake\" again at that point, even without the backend implemented. The resolver is a bit of a technical challenge, but there are some good libraries in the Rust ecosystem to lesson the burden somewhat.

", + "id": 476421036, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728663811 + }, + { + "content": "

Its also worth noting that I take abstraction and boundaries quite seriously after paying the price for over a decade of not having them respected. So my Nix module system is independantly useful inside of a flake if you really wanted to use it, just to help you organize your code.

", + "id": 476421433, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728663968 + }, + { + "content": "

For the resolver: https://lib.rs/pubgrub
\nFor the standard: Have you looked into how https://radicle.xyz works?

", + "id": 476439503, + "sender_full_name": "RGBCube", + "timestamp": 1728671451 + }, + { + "content": "

I haven't fully understood the concept but it sounds really similar to how Radicle stores data, at least in the root level. Sharing that could simplify things a ton (and might even remove the need to explicitly store those files when interacting with a Radicle repository). Could you show me the codebase / practical examples on how the tool is used?

", + "id": 476439995, + "sender_full_name": "RGBCube", + "timestamp": 1728671645 + }, + { + "content": "

Also sorry for the late reply, I don't get Zulip notifications for some reason

", + "id": 476440057, + "sender_full_name": "RGBCube", + "timestamp": 1728671670 + }, + { + "content": "

Radicle is more of a blockchain thing right? I am aware of it, tested it years ago. I just don't want any exeternal dependencies outside of git. We also talked about how Radicle is a bit redundant just recently, given that git is already decentralized by nature (even if it isn't used that way). I don't know enough about its architecture beyond that to know if there is cross-over though.

\n

I have seen pubgrub as well. I am leaning toward resolvo though, at this point. Haven't started though, so it could change. No worries though, no rush

", + "id": 476451691, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728677287 + }, + { + "content": "

but yeah, I can open the codebase to you. As far as practical examples, that is where I am at now, trying to actually take the format that I have somewhat stabilized now, and put it to actual use

", + "id": 476451782, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728677339 + }, + { + "content": "

but you can use it to publish anything in the format right now, just need to put in some of the nix pieces to make a more \"full demo\". Also what is your GH handle, I'll add you to the repos

", + "id": 476451860, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728677375 + }, + { + "content": "

Perhaps the thing to emphasize is the \"orphaned\" and truncated history. And atom only contains the files pertinent to itself, with nothing else from the repo. Also has no history so there is no \"fetching the entire damn history\" for tools that don't know or care was a shallow clone is.

\n

So with that, you could reference thousands of different package versions across nixpkgs (even if it stays a mono-repo) and never have to fetch the entire tree, only the data pertinent to your actual build (or whatever else you have, deployment, config, etc, etc)

", + "id": 476452611, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728677741 + }, + { + "content": "

you could maybe think of it as a \"view\" or \"slice\" into a larger history

", + "id": 476455666, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728679146 + }, + { + "content": "

I should add, one that is static an immutable (preproducible)

", + "id": 476456120, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728679363 + }, + { + "content": "

actually one thing I do have implemented already is a more general replacement for flake uris. One that is extensible (one can configure any url shortener they like). So you could do something like:
\nmy-repo::my-atom@^1 and the cli will look in your config file for an \"alias\" called my-repo and resolve it to whatever you have set, say example.com/work-repo.git. You can also add a fragment after like flake uri:
\ngh:owner/repo::atom, etc, etc

\n

It took some pains, but its fairly robust and I got some good tests for it

", + "id": 476459972, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728681260 + }, + { + "content": "

found your github, gave you read:
\nhttps://github.com/ekala-project/eka
\nhttps://github.com/ekala-project/atom

\n

eka is the Rust cli, atom the Nix module system I've been talking about. I made some effort to document the latter, I have a wip branch with some higher level docs as well, but still early. eka is not very well documented at all, however I did just go through and ensure the atom crate is extensivvely documented in code at least, just not much higher level doc outside the clap cli help messages (which are hopefully helpful though)

\n

Gonna start integrating the two right now actually, so there should be more cohesion between the two soonish

", + "id": 476461730, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728682168 + }, + { + "content": "

Oh I get it now!

", + "id": 476492787, + "sender_full_name": "RGBCube", + "timestamp": 1728708717 + }, + { + "content": "

By limiting the allowed operations of the module system (no import) you can trivially track changes & re-eval only that subset of the tree to re-record the effects it produces

", + "id": 476492881, + "sender_full_name": "RGBCube", + "timestamp": 1728708810 + }, + { + "content": "

And this thing is trivially applicable to package evaluation as well, as the client can just assume that the atoms stored in each \"branch\"(?) are up to date. Updating them is the job of the author, after all

", + "id": 476492964, + "sender_full_name": "RGBCube", + "timestamp": 1728708893 + }, + { + "content": "

And since if you don't clean your atom history up, you get ever \"derivation\" that has ever existed stored in your git repository as atoms. Aha

", + "id": 476493105, + "sender_full_name": "RGBCube", + "timestamp": 1728709005 + }, + { + "content": "

But how do you traverse those headless atoms to find the version 3 of let's say root.foo? Assuming that the current version is newer and that older version is never referenced anywhere in the graph that touches master

", + "id": 476493236, + "sender_full_name": "RGBCube", + "timestamp": 1728709132 + }, + { + "content": "

probably should have showed you this as well:

\n
❯ g ls-remote\nFrom ssh://git@github.com/ekala-project/eka\n50378b2dace5628160724e9e6e855bc0d062865a        HEAD\nceebaca6d44c4cda555db3fbf687c0604c4818eb        refs/atoms/ひらがな/0.1.0\na87bff5ae43894a158dadf40938c775cb5b62d4b        refs/atoms/ひらがな/_specs/0.1.0\n9f17c8c816bd1de6f8aa9c037d1b529212ab2a02        refs/atoms/ひらがな/_srcs/0.1.0\n
\n

This is how atom refs are stored. Essentially atoms are a way of bringing back versions in a meaningful way. They really should just be immutable (similar to version tags) unless something terrible happens (like a critical CVE) in which case you should maybe just delete the troubled version and release a patch update.

\n

I use the semver crate, so you can also release dev or pre releases as well (anything semver accepts), but the point is, these are resolvable without a fetch (listing references is the only git operation that does not require fetching or cloning, which is the reason I store them this way). So you can list all the available versions of any repository pretty cheaply. The git protocol also includes server side ref filtering, so you can limit your search to just the refs/atoms heading, or even a subset of atoms.

\n

I'm thinking maybe the backend build/eval service should have some sort of federated search protocol as well, perhaps (undecided), so that you can easily search multiple repos with one subcommand (say eka search)

\n

The _specs ref above is a lightweight ref that only contains the manifest and lock. This is for the resolver.

\n

In order to fully traverse the dependency tree, the resolver will have to read the manifests of candidates, so I want to keep those extremely cheap to fetch (in case the source directory gets large)

", + "id": 476527761, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728743020 + }, + { + "content": "

so even though atoms can live under any arbitrary directory in the repo, however many levels deep, they are identified not by their filepath, but by their:

\n
[atom]\nid = \"my-atom\"\n
\n

This way, the tree of atoms is \"flat\" for any given repo, simplifying the search as well. For sanity, the source tree is searched before publishing to ensure no two atoms in the same commit have the same id, if they do, the request will fail unless/until you rename one. This is similar to cargo crates in a workspace. If any two have the same name, cargo will complain and not let you do anything.

", + "id": 476528506, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728743633 + }, + { + "content": "

That makes a ton of sense. But for the refs you might want to do refs/atoms/.../0.1.0/{atom,spec,src} for a better hierarchy

", + "id": 476542648, + "sender_full_name": "RGBCube", + "timestamp": 1728756928 + }, + { + "content": "

If I'm understanding correctly every \"module\" in this system will have to either have a user assigned atom id or an automatically generated one? How does your module system do it?

", + "id": 476542772, + "sender_full_name": "RGBCube", + "timestamp": 1728757033 + }, + { + "content": "

I did have that structure at one point, I've just been experimenting a bit, I might change it back actually, just need something that is fairly trivial to filter for just the atom ref itself during a search. git has its own semantic for filtering refs that is pretty similar to globbing in a shell, though I guess something like refs/atoms/*/*/atom would do it, so yeah you are probably right.

\n

As for the AtomId, it is essentially made of two components:
\nhttps://github.com/ekala-project/eka/blob/master/crates/atom/src/id/mod.rs#L55-L59

\n

The Id is just a thin wrapper around a string, so that I can run a quick validation ensuring some basic rules. It serves as the human readable component of an atom's identity:
\nhttps://github.com/ekala-project/eka/blob/master/crates/atom/src/id/mod.rs#L133

\n

The only thing set in the manifest is one of these Ids. The other compoent, the root field is determined by where the atom is stored (why its generic). The git implementation uses my upstream patch to gitoxide to quickly calculate the very first commit in the history from which the atom is derived and uses that.

\n

That is used as a derived key for a blake3 sum over the Id itself:
\nhttps://github.com/ekala-project/eka/blob/master/crates/atom/src/id/mod.rs#L85

\n

This gives us an unambiguos hash of this specific atom, independant from other atoms in other repositories, even if they have the same unicode name. We can store this hash in lock files, and backends can use it to disambiguate, essentially giving us a huge namespace, avoiding collisions even where two projects might use the same human readable unicode id.

", + "id": 476543333, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728757596 + }, + { + "content": "

more simply, an atom is akin to a rust crate, and a module is akin to a rust module (indicated by the mod.nix)

", + "id": 476543440, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728757716 + }, + { + "content": "

Right now I also post a tag containing this root and ensure that every atom comes from the posted root. It is a sort of \"iitialization\" akin to a git init, and also provides a sanity check that the remote and local repos agree on history. This isn't strictly necessary, I could technically remove it and am considering if I really need it or not.

\n

It provides is a way for a remote user, who has not clone the repo, to calculate an atom's id, so for that reason alone I might just keep it, but also, it serves as a nice sanity check that we are not publishing atoms from inconsistent histories in a single repo. The initialization process technically targets a specific git remote, not the repository as a whole.

\n

So if you wanted unrelated histories in one repo and wanted to publish atoms from both you'd just have to init the respective remotes with the relevant historical root. I was thinking you might use this for \"secret\" atoms that are published to a priviledged remote, as one possible usecase

", + "id": 476543917, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728758177 + } +] \ No newline at end of file diff --git a/zulip_json/442953-cull-os/Discuss.20cull-os.json b/zulip_json/442953-cull-os/Discuss.20cull-os.json new file mode 100644 index 00000000000..a73525ccc12 --- /dev/null +++ b/zulip_json/442953-cull-os/Discuss.20cull-os.json @@ -0,0 +1,32 @@ +[ + { + "content": "

alright, nice

", + "id": 446138337, + "sender_full_name": "Andreas", + "timestamp": 1718992145 + }, + { + "content": "

Alright, this repo https://github.com/cull-os/cab was just open-sourced by @RGBCube

\n

For context, see this conversation on Matrix.

", + "id": 446138553, + "sender_full_name": "Srid", + "timestamp": 1718992221 + }, + { + "content": "

Just glancing at this, the idea looks interesting

", + "id": 446141247, + "sender_full_name": "Andreas", + "timestamp": 1718993219 + }, + { + "content": "

Welcome @DavSanchez - just added you to this channel

\n

(Note: people can subscribe on their own as well)

", + "id": 446182140, + "sender_full_name": "Srid", + "timestamp": 1719007557 + }, + { + "content": "

Hi!

", + "id": 446183734, + "sender_full_name": "DavSanchez", + "timestamp": 1719008085 + } +] \ No newline at end of file diff --git a/zulip_json/442953-cull-os/Fixing.20what.20Nix.20did.20wrong.json b/zulip_json/442953-cull-os/Fixing.20what.20Nix.20did.20wrong.json new file mode 100644 index 00000000000..d273303d066 --- /dev/null +++ b/zulip_json/442953-cull-os/Fixing.20what.20Nix.20did.20wrong.json @@ -0,0 +1,104 @@ +[ + { + "content": "

(copied from the matrix; this is about fixing flakes being a new concept and destroying the \"everything is a derivation\" concept of Nix; also see this post https://jade.fyi/blog/flakes-arent-real)

\n

The way I want to fix this in Cab is overridable expressions.

\n
{ a = 1; } ==> a * a\n
\n

assuming this is assigned to b, just evaluating b will get you 1. But overriding it like b <== { a = 2; } and then evaluating that expression will get you 4. The trick here is that ==> is not a function symbol (unlike :, which has the same behavior in Cab as in Nix)

\n

So you will be able to do things like

\n
inputs @ {\n  packages = import <github:cull-os/packages> <== inputs;\n} ==> {\n  packages.bar = packages.buildCrate ./.;\n}\n
\n

import will import /${<github:cull-os/cab>}/default.cab, which is another expression like our default.cab. Then it will override it, with our inputs. The trick here is that our inputs were already overriden by the Cab CLI, which did <== { buildSystem = ...; targetSystem = ...; } so the build and target systems get passed into CullOS packages. Then we get a neat attribute set packed with packages configured for our target.

", + "id": 446146257, + "sender_full_name": "RGBCube", + "timestamp": 1718995133 + }, + { + "content": "

I also want to implement the \"standard library\" in Pure Rust, eagerly checking for types of things. This will also make it a part of the language instead of some unrelated repository like nixpkgs. And it will be faster, as a result.

", + "id": 446146808, + "sender_full_name": "RGBCube", + "timestamp": 1718995339 + }, + { + "content": "

cc @Jonathan Ringer

", + "id": 451226761, + "sender_full_name": "RGBCube", + "timestamp": 1720905053 + }, + { + "content": "

this would work without \"overrideable expressions\" in Nix too. But it would require you to call everything, which is fine I guess

", + "id": 451226787, + "sender_full_name": "RGBCube", + "timestamp": 1720905102 + }, + { + "content": "

Don't Do The Mistakes Of Nix

\n

Link: <https://md.darmstadt.ccc.de/nix2>

\n

Notable stuff:

\n
    \n
  • Don't use ? for attribute bind defaults and attribute existence checking at the same time. Very unsure about the syntax for both of these things.
  • \n
  • Support tabs in indented strings, but error out when they are mixed with spaces. We can't know the width of a tab, after all.
  • \n
  • Remove .4 float syntax. Make 0x.3 invalid, too.
  • \n
  • Line endings in strings will get normalized to \\n no matter what. People can do string.replace \"\\n\" \"\\r\\n\" if they desire.
  • \n
  • Make multiline string normalization sane & add HUNDREDS of tests.
  • \n
", + "id": 479074990, + "sender_full_name": "RGBCube", + "timestamp": 1729972219 + }, + { + "content": "

it might ne nice, although I'm not sure how feasible, if all functions can have default args, not just functions that take a set

", + "id": 479079831, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1729977385 + }, + { + "content": "

Hmm, would be interesting. So you're saying

\n

<pat> ? \"default here\" will default to \"default here\" if <pat> fails to match, ensuring the whole pattern always does?

", + "id": 479121939, + "sender_full_name": "RGBCube", + "timestamp": 1730024284 + }, + { + "content": "

This is actually pretty generic, I like it.

", + "id": 479121948, + "sender_full_name": "RGBCube", + "timestamp": 1730024293 + }, + { + "content": "

Though, you can't really use this to implement defaulting functions. How would you do first [1, 2, 3] and first 2 [1, 2, 3] with this? (not with type checking of the value, like \\nOrXs :: list | number: if type nOrXs == number ...)

", + "id": 479122086, + "sender_full_name": "RGBCube", + "timestamp": 1730024432 + }, + { + "content": "
\\first = \\n :: number ? null:\n  if n == null then # didn't match, but we can't access the list either... it's totally ignored\n    \\[x, ...]: x # now the user has to do `first [] [1, 2, 3]\n  else\n    getFirstN n;\n
", + "id": 479122216, + "sender_full_name": "RGBCube", + "timestamp": 1730024568 + }, + { + "content": "

Huh, this actually doesn't make sense at all

", + "id": 479122740, + "sender_full_name": "RGBCube", + "timestamp": 1730025125 + }, + { + "content": "

(n :: number) ? \"foo\" what the hell are you even binding \"foo\" to?

", + "id": 479122762, + "sender_full_name": "RGBCube", + "timestamp": 1730025157 + }, + { + "content": "

You can't possibly know, unless you invent extremely weird semantics

", + "id": 479122777, + "sender_full_name": "RGBCube", + "timestamp": 1730025175 + }, + { + "content": "

Even then, what happens when you match this and it fails: [1, ..., 99] ? \"bar\"

", + "id": 479122800, + "sender_full_name": "RGBCube", + "timestamp": 1730025203 + }, + { + "content": "

I'll think about this more today, but this concept I thought of doesn't work

", + "id": 479122819, + "sender_full_name": "RGBCube", + "timestamp": 1730025223 + }, + { + "content": "

Currently Cab lacks these things that are in Nix:

\n
    \n
  • attribute check car ? headlight.lightbulb
  • \n
  • attribute default in lambda parameters { n ? 0 }: n ** n
  • \n
  • attribute default expressions car.headlight.lightbulb or \"nope\"
  • \n
", + "id": 479123093, + "sender_full_name": "RGBCube", + "timestamp": 1730025494 + }, + { + "content": "

To avoid:

\n

Funky semantics of or defaults

\n

9ecca769-ccd8-4983-ab88-99fea13a2ef3.png

\n

Attribute select is not individual, which is wack. I don't want this behavior, I want the semantic equivalent of (a.b).c or 1.

\n

Strings in attribute-check

\n

Since strings are never used for identifiers in Cab, this isn't an issue. But might as well say this won't be a thing:

\n
myset ? \"attra\".attrb.\"attrc\"\n
", + "id": 479123240, + "sender_full_name": "RGBCube", + "timestamp": 1730025664 + } +] \ No newline at end of file diff --git a/zulip_json/442953-cull-os/Flowcharts.json b/zulip_json/442953-cull-os/Flowcharts.json new file mode 100644 index 00000000000..200788f14e1 --- /dev/null +++ b/zulip_json/442953-cull-os/Flowcharts.json @@ -0,0 +1,20 @@ +[ + { + "content": "

89bd8095-de96-4371-a762-f5a7e1494d70.jpg

\n

This photo is amazing & I could explain stuff much easier this way.

", + "id": 478277626, + "sender_full_name": "RGBCube", + "timestamp": 1729601602 + }, + { + "content": "

I want to try and make a huge graph like this that explains what Cab is, stemming from a single What is Cab? root

", + "id": 478277836, + "sender_full_name": "RGBCube", + "timestamp": 1729601650 + }, + { + "content": "

Obsidian Canvas is cool. I wonder if there exists a simple frontend framework to generate dynamic canvases like this on the web.

", + "id": 478278551, + "sender_full_name": "Srid", + "timestamp": 1729601868 + } +] \ No newline at end of file diff --git a/zulip_json/442953-cull-os/Language.20design.20philosophy.json b/zulip_json/442953-cull-os/Language.20design.20philosophy.json new file mode 100644 index 00000000000..19d0d17ff58 --- /dev/null +++ b/zulip_json/442953-cull-os/Language.20design.20philosophy.json @@ -0,0 +1,38 @@ +[ + { + "content": "

Currently in Cab, there are only 3 keywords that aren't defined as infix/postfix operators: if, then and else. (and and, or which are infix, not which is a prefix opetator, just like -)

\n

I believe a this doesn't fit the language because there are no other \"special cased\" keywords. I want to change their behavior, also removing the if keyword in the process of redesigning this approach. The new syntax for \"if else\" will be:

\n
cond then y else n\n
\n
    \n
  • \n

    The then operator works like this: cond then y

    \n
      \n
    • If cond is false, it evaluates to undefined, if it isn't, it simply evaluates to y
    • \n
    \n
  • \n
  • \n

    The else operator works like this: maybeUndefined else n

    \n
      \n
    • If maybeUndefined is undefined, it simply evaluates to n. If not, it evaluates to maybeUndefined
    • \n
    \n
  • \n
\n

then has higher binding power, so you can chain then and else.

\n

Another benefit of this is that you will be able to do setThatDoesNotHaveFoo.foo else \"foo didn't exist\" without special casing (like the or in Nix), as .foo is undefined.

\n

Thoughts?

", + "id": 449468962, + "sender_full_name": "RGBCube", + "timestamp": 1720259820 + }, + { + "content": "

I think I'll keep the normal if else then right now. Have some doubts about precendence and the general ergonomics of it

", + "id": 449710074, + "sender_full_name": "RGBCube", + "timestamp": 1720381783 + }, + { + "content": "

But I'll definitely look into it later when more stuff is done

", + "id": 449710086, + "sender_full_name": "RGBCube", + "timestamp": 1720381798 + }, + { + "content": "

I was thinking about this a bit yesterday. FWIW, I think its a fairly nice idea. It's basically the \"ternary\" operation from other languages at that point, which I am fond of.

", + "id": 449711474, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1720382212 + }, + { + "content": "

It is exactly like ? and :, but each operator is seperate

", + "id": 449713155, + "sender_full_name": "RGBCube", + "timestamp": 1720382702 + }, + { + "content": "

However this might require you to put () everywhere, which I'm not fond of. I'll look at some snippets inside nixpkgs lib and rewrite them to use this, seeing how it works

", + "id": 449713285, + "sender_full_name": "RGBCube", + "timestamp": 1720382737 + } +] \ No newline at end of file diff --git a/zulip_json/442953-cull-os/Match.20syntax.json b/zulip_json/442953-cull-os/Match.20syntax.json new file mode 100644 index 00000000000..c184024045d --- /dev/null +++ b/zulip_json/442953-cull-os/Match.20syntax.json @@ -0,0 +1,56 @@ +[ + { + "content": "

I just decided on this syntax for match-case:

\n
if <expr> is\n  <pat> then <expr>,\n  <pat> then <expr>,\n  else <expr>\n
", + "id": 476588554, + "sender_full_name": "RGBCube", + "timestamp": 1728807781 + }, + { + "content": "

Since patterns will be able to have expressions in them for things like type checking (<pat> :: <expr>, same as just <pat> but with and <expr>.check <pat-bind>) and conditionals <pat> and <expr> you won't need to hard code an if into the match-case

", + "id": 476588730, + "sender_full_name": "RGBCube", + "timestamp": 1728807974 + }, + { + "content": "

interesting, could you maybe give a few concrete examples to demonstrate to help grok?

", + "id": 476610543, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728829809 + }, + { + "content": "

https://dl.acm.org/doi/pdf/10.1145/3689746 inspired from this

", + "id": 476675531, + "sender_full_name": "RGBCube", + "timestamp": 1728880431 + }, + { + "content": "

I was thinking of this earlier but I hadn't thought of using a different keyword after if to do a match. My initial idea was just

\n
match <expr> with\n  <pat> then <expr>,\n  <pat> then <expr>,\n  else <expr>\n
", + "id": 476675667, + "sender_full_name": "RGBCube", + "timestamp": 1728880520 + }, + { + "content": "

This only replaces match-with with if-is

", + "id": 476675703, + "sender_full_name": "RGBCube", + "timestamp": 1728880533 + }, + { + "content": "
concatString = \\s :: string | list string:\n  if s is\n    xs :: list then insert `+` xs,\n    x :: string then x;\n
", + "id": 476675851, + "sender_full_name": "RGBCube", + "timestamp": 1728880658 + }, + { + "content": "
insert = \\f: \\xs :: list:\n  if xs is\n    [] then throw \"cannot insert with zero items\",\n    [x] then x,\n    [x] ++ xs then f x $ insert xs;\n\ntoString = \\x:\n  if x is\n    s :: string then s,\n    n :: number then numberToString n,\n    xs :: list then insert `+` $ map toString xs;\n
", + "id": 476677843, + "sender_full_name": "RGBCube", + "timestamp": 1728882033 + }, + { + "content": "

Update on this: if is won't have else, as that's a duplicate of _ then at the end (like in Rust)

", + "id": 479075091, + "sender_full_name": "RGBCube", + "timestamp": 1729972340 + } +] \ No newline at end of file diff --git a/zulip_json/442953-cull-os/Novel.20LSP.20features.json b/zulip_json/442953-cull-os/Novel.20LSP.20features.json new file mode 100644 index 00000000000..6381b5f8089 --- /dev/null +++ b/zulip_json/442953-cull-os/Novel.20LSP.20features.json @@ -0,0 +1,20 @@ +[ + { + "content": "

You know how it's really cumbersome to provide patch files for derivations in nixpkgs? I thought I could do something with islands where when in the LSP, the action menu (of the island) has the option \"Patch island\" which preemptively clones it (or maybe lazily clones it, anything is possible with FUSE) and sends you to that directory. And when you save your changes in there and open the action menu (while on the files in the island) and select \"Save patches\", it edits your code so that it turns into:

\n
patch <github:cull-os/cab> ./promptedname.patch\n
", + "id": 479328304, + "sender_full_name": "RGBCube", + "timestamp": 1730136923 + }, + { + "content": "

I think this would be really neat for quick patching of software

", + "id": 479328569, + "sender_full_name": "RGBCube", + "timestamp": 1730137007 + }, + { + "content": "

And when you bump a git island and try to edit it, it would query saved edits' remotes to see if it could just pull instead of cloning the whole thing again.

", + "id": 479328773, + "sender_full_name": "RGBCube", + "timestamp": 1730137097 + } +] \ No newline at end of file diff --git a/zulip_json/442953-cull-os/Realizer.20Protocol.json b/zulip_json/442953-cull-os/Realizer.20Protocol.json new file mode 100644 index 00000000000..c7f26d52363 --- /dev/null +++ b/zulip_json/442953-cull-os/Realizer.20Protocol.json @@ -0,0 +1,20 @@ +[ + { + "content": "

Content Addressed Derivations

\n

This won't be an explicit feature in the protocol, but something that will be implementable with the following feature.

\n

Graph Mutation

\n

A realizer will be able to communicate back that the derivation graph. So instead of:

\n
fn realize(&Graph<Derivation>, &[Realizer]) -> Result<(), RealizationError>\n
\n

The interface of telling a realizer to realize a derivation will be similar to;:

\n
fn realize(&mut Graph<Derivation>, &[Realizer]) -> Result<(), RealizationError>\n
\n

Where the realizer will be able to modify the graph to change paths / files / whatever.

\n

This will also allow a theoretical realizer to:

\n
    \n
  • Receive a derivation graph.
  • \n
  • Start realizing from the roots.
  • \n
  • After every derivation realization:
      \n
    • If the realization self references, we replace the self reference with a fixed magic value of the same size. And then we calculate the hash, and rename the store path to it and replace our magic value with the hash.
    • \n
    • If not, we simply rename the store path to the hash of the contents.
    • \n
    \n
  • \n
  • Now we have a completely content addressed realization. For trivially content addressed ones, one can verify it by hashing the contents and comparing it with the path. For non-trivial ones, one will need to calculate the hash of the contents after replacing the self-references with our magic value.
  • \n
  • We now modify the realization graph of the client to reflect our model.
  • \n
\n

Derivation Recalling From Mutated Realizations

\n

Considering that if our realizer mutates our graphs, we cannot know the store path of the final realization without realizing. This is catastrophic for caching, as using store paths to fetch will not work.

\n

Unless we also link the every input-addressed store path to the content-addressed equivalent. This way, we also ensure that we cannot have more than a single canonical content-addressed version of an input addressed derivation.

\n

Though, none of this will be exposed through the realizer protocol. This is simply an implementation detail, the real API will look more like this:

\n
fn fetch(&mut Graph<Derivation>, &[Cacher]) -> Result<(), FetchError>\n
\n

Did you notice how similar this is to the realize function above? Yes, we did too. And so we can just unify these, making \"realizing\" and \"caching\" the exact same concept.

\n

The only difference between a \"cacher\" and a general \"realizer\" will be that the cacher refuses to actually realize derivations, instead opting to only serve already realized ones.

\n

Communication Between Realizers

\n

The way realizers will communicate with each other is that the client will only send the derivations it wants them to realize one by one. No realizer will see the whole build graph at once.

\n

Every derivation that has already been realized (for example, dependencies of a derivation which is ready to be realized) will be accompanied by a realizer where the realizing realizer can fetch it from (the sent realizer being the realizer we're sending it to means that the dependency was built on the same realizer).

\n

This way, we will not mess up our state.

", + "id": 478754390, + "sender_full_name": "RGBCube", + "timestamp": 1729786720 + }, + { + "content": "

Note: The client will never store anything at all. The way we will ensure that the realization result is copied locally (if configured to) is by telling our local realizer to realize the final derivation. This is why we can conflate caching and realizing.

", + "id": 478754945, + "sender_full_name": "RGBCube", + "timestamp": 1729786908 + }, + { + "content": "

System? What's that?

\n

When you think about it, the system field of Nix doesn't make sense, as it's just a feature.

\n

Thus, the realizer protocol will not be special cased for Arch + OS combinations.

\n

The way it will be is as follows: Every realizer will append the Arch and OS to its feature set. For example if I configure my realizer to support WASM execution, it will advertise its features set as [ \"x86_64\", \"linux\", \"wasm\" ].

", + "id": 478919196, + "sender_full_name": "RGBCube", + "timestamp": 1729862817 + } +] \ No newline at end of file diff --git a/zulip_json/442953-cull-os/Recursive.20Realization.json b/zulip_json/442953-cull-os/Recursive.20Realization.json new file mode 100644 index 00000000000..34f40a16523 --- /dev/null +++ b/zulip_json/442953-cull-os/Recursive.20Realization.json @@ -0,0 +1,8 @@ +[ + { + "content": "

TODO: Write this. It's like Recursive Nix but doesn't couple the Nix frontend with the protocol. It will be done with a fifo in the realization's scope.

", + "id": 481445743, + "sender_full_name": "RGBCube", + "timestamp": 1731145357 + } +] \ No newline at end of file diff --git a/zulip_json/442953-cull-os/Things.20to.20not.20do.20in.20the.20realizer.20protocol.json b/zulip_json/442953-cull-os/Things.20to.20not.20do.20in.20the.20realizer.20protocol.json new file mode 100644 index 00000000000..7bea3c22dbc --- /dev/null +++ b/zulip_json/442953-cull-os/Things.20to.20not.20do.20in.20the.20realizer.20protocol.json @@ -0,0 +1,38 @@ +[ + { + "content": "

Well, this will be a list of weird things in the Nix store protocol for now and I'll decide on what to do to avoid them later

", + "id": 480073432, + "sender_full_name": "RGBCube", + "timestamp": 1730475970 + }, + { + "content": "

First off: no copying files into realizers. Only derivations.

\n

You know how when you do

\n
derivation {\n  builder = ./builder;\n}\n
\n

Nix first

\n
    \n
  1. Copies the file to the store
  2. \n
  3. Then it actually creates the the derivation files with that path referenced
  4. \n
\n

And how that file itself isn't actually a derivation? But instead is just a file?

", + "id": 480076973, + "sender_full_name": "RGBCube", + "timestamp": 1730477164 + }, + { + "content": "

We can avoid this by letting people specify paths inside derivations:

\n
derive {\n  paths.builder = executable $ fileContent \"binary contents of it here\";\n\n  command = \"builder\"; # relative to pwd by default\n}\n
\n

These \"paths\" inside derivations will be an attribute of the derivation itself.

\n

Now, when the command is run, the process will see this filesystem layout:

\n
/\n  var/lib/real/xxxxx-that-drv/ # this is our pwd\n    builder\n
\n

But of course this is quite inefficient. Every time we change that derivation, we have to write another file with the exact same contents. How do we avoid this?

\n

By making a derivation with only that file, of course:

\n
\\thatfileder = derive {\n  paths = outputDirectory {\n    builder = executable $ fileContent \"binary contents here\";\n  };\n};\n\nderive {\n  command = pathOf thatfileder + \"/builder\";\n}\n
\n

This will also mandate that our derivation should not require a command, which is a good thing.

\n

This will be what things like ./foo.sh and ./mydir desugar to too. These two are equivalent:

\n
derive {\n  paths.`foo.sh` = ./foo.sh;\n  paths.mydir = ./mydir;\n}\n
\n
derive {\n  paths.foo = (pathOf $ derive {\n    paths = outputDirectory {\n      # that executable flag for the file object is automatically determined\n      `foo.sh` = executable $ fileContents $ read \"foo.sh\";\n    };\n  }) + \"/foo.sh\";\n\n  paths.mydir = (pathOf $ derive {\n    paths = outputDirectory {\n      idk = fileContents $ readFile \"aaa\";\n      # and so on, no nested derivations (or maybe there will be?)\n    };\n  });\n}\n
", + "id": 480080891, + "sender_full_name": "RGBCube", + "timestamp": 1730478664 + }, + { + "content": "

Notice how we don't need the concept of \"outputs\" where we magically get mutable store paths, as we can now specify output directories in the filesystem layout, right inside our derivation? These directories will persist even after the derivation builds. But we have another problem now:

\n

How do we make them content addressed and garbage collect them individually, without affecting the integrity? Luckily there is a smart way out.

\n

We now hash the derivation individually with separate views for every output directory, while replacing self references with a fixed magic hash, and move them to their respective /var/lib/real/xxhashofthisoutput-llvm/ and finally replace the cross and self references with the respective hashes of the output derivations.

", + "id": 480084683, + "sender_full_name": "RGBCube", + "timestamp": 1730480072 + }, + { + "content": "

Though, as discussed earlier, this will require even more communication for clients to find out paths. I'll tackle this when I'm actually implementing it.

", + "id": 480085836, + "sender_full_name": "RGBCube", + "timestamp": 1730480461 + }, + { + "content": "

One thing this WILL break is binaries not using absolute references when cross referencing other outputs, but I'm sure nothing ever does that so it's fine.

\n

Or maybe we can fix this by symlinking the other output directories (of which are not the content addressed one) into every output derivation.

", + "id": 480087377, + "sender_full_name": "RGBCube", + "timestamp": 1730481051 + } +] \ No newline at end of file diff --git a/zulip_json/442953-cull-os/Typed.20Lambda.20Arguments.json b/zulip_json/442953-cull-os/Typed.20Lambda.20Arguments.json new file mode 100644 index 00000000000..0bb2215638b --- /dev/null +++ b/zulip_json/442953-cull-os/Typed.20Lambda.20Arguments.json @@ -0,0 +1,20 @@ +[ + { + "content": "

I was thinking about this yesterday. Even though a lot of the stdlib will be in Rust, which eagerly checks for types, we need a way to do it in userspace too.

\n

So I decided on this:

\n
{\n  filter = x :: lambda any boolean: y :: list (typeOf x).input: <impl here>\n}\n
\n

This would sugar down into something that's equivalent to this but with better error messages:

\n
{\n  filter = x: assert (typeOf x) == lambda any boolean ==> y: assert (typeOf y) == (typeOf x).input ==> <impl here>;\n}\n
\n

How this works is you can specify expressions between the :: and :, and they get compared to the type of the argument every time the lambda is called.

\n

==> is normally for importing namespaces, but it can be used for an equivalent of Nix's builtins.seq without the parens by making functions return empty attribute sets or maybe even some information in that attribute set when they pass and throw if they don't, making it bubble up with a trace.

", + "id": 451146419, + "sender_full_name": "RGBCube", + "timestamp": 1720861133 + }, + { + "content": "

I want to take a shot at implementing this in Nix. It's backwards compatible syntax and shouldn't be that hard to implement, and having a nice demo would be neat

", + "id": 451146837, + "sender_full_name": "RGBCube", + "timestamp": 1720861373 + }, + { + "content": "

This will now be done with pattern matching and will work everywhere. <pat> :: <expr> is a valid pattern match: \\x :: number: x + 1

", + "id": 479074939, + "sender_full_name": "RGBCube", + "timestamp": 1729972201 + } +] \ No newline at end of file diff --git a/zulip_json/442953-cull-os/WASM.20.2B.20WASI.20for.20running.20Cab.20on.20the.20builder.20to.20do.20the.20buil.2E.2E.2E.json b/zulip_json/442953-cull-os/WASM.20.2B.20WASI.20for.20running.20Cab.20on.20the.20builder.20to.20do.20the.20buil.2E.2E.2E.json new file mode 100644 index 00000000000..fdb7ffb6672 --- /dev/null +++ b/zulip_json/442953-cull-os/WASM.20.2B.20WASI.20for.20running.20Cab.20on.20the.20builder.20to.20do.20the.20buil.2E.2E.2E.json @@ -0,0 +1,50 @@ +[ + { + "content": "

This is just a very experimental idea, but I mentioned before that realizers will support WASM execution (for truly cross platform island->derivation conversion) and I thought: Why not do this for Cab itself?

", + "id": 479061234, + "sender_full_name": "RGBCube", + "timestamp": 1729959089 + }, + { + "content": "
\\program = runtime ==> (\n  execute \"${lib.getExe packages.cargo}\" [ \"build\" ];\n  exit 0\n);\n\nderive {\n  features = [ \"wasm\" ],\n\n  command = ./cab-runtime.wasm,\n  arguments = [ (lib.compile program).wasmExecutablePath ],\n}\n
", + "id": 479061677, + "sender_full_name": "RGBCube", + "timestamp": 1729959448 + }, + { + "content": "

This is definitely worth exploring IMO

", + "id": 479061757, + "sender_full_name": "RGBCube", + "timestamp": 1729959496 + }, + { + "content": "

Here we have a minimal WASM runtime for Cab (via Rust WASM cross compilation) that runs Cab bytecode (made to be tiny)

", + "id": 479062098, + "sender_full_name": "RGBCube", + "timestamp": 1729959896 + }, + { + "content": "

@Tim DeHerrera @Andreas what do you guys think?

", + "id": 479062524, + "sender_full_name": "RGBCube", + "timestamp": 1729960282 + }, + { + "content": "

so the \"builder\" is a wasm binary, essentialy?

", + "id": 479062709, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1729960454 + }, + { + "content": "

Yup

", + "id": 479074791, + "sender_full_name": "RGBCube", + "timestamp": 1729972005 + }, + { + "content": "

looks like someone just asked a similar question to the tvix guys, might be good to review their response:
\nhttps://matrix.to/#/!YUnRYAzgytLSZbBhbx:hackint.org/$Sbspe2NOL3nYD2MQnmARWrnQ0SI2tOfT0GuK3s6qQck?via=hackint.org&via=matrix.org&via=envs.net

", + "id": 479080469, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1729978153 + } +] \ No newline at end of file diff --git a/zulip_json/442953-cull-os/What.20does.20.22Cab.22.20mean.2C.20anyway.3F.json b/zulip_json/442953-cull-os/What.20does.20.22Cab.22.20mean.2C.20anyway.3F.json new file mode 100644 index 00000000000..a9db3f8cd5e --- /dev/null +++ b/zulip_json/442953-cull-os/What.20does.20.22Cab.22.20mean.2C.20anyway.3F.json @@ -0,0 +1,14 @@ +[ + { + "content": "

C{ompose,ommand,ontrol}
\nA
\nBuild

", + "id": 477408011, + "sender_full_name": "RGBCube", + "timestamp": 1729160272 + }, + { + "content": "

\"Compose A Build Graph\" -> cabg didn't sound so good, and cabbage was too long so I settled for this

", + "id": 477408277, + "sender_full_name": "RGBCube", + "timestamp": 1729160356 + } +] \ No newline at end of file diff --git a/zulip_json/442953-cull-os/Where.20is.20the.20Language.20in.20the.20Computability.20Hierarchy.3F.json b/zulip_json/442953-cull-os/Where.20is.20the.20Language.20in.20the.20Computability.20Hierarchy.3F.json new file mode 100644 index 00000000000..3fddb2a893b --- /dev/null +++ b/zulip_json/442953-cull-os/Where.20is.20the.20Language.20in.20the.20Computability.20Hierarchy.3F.json @@ -0,0 +1,68 @@ +[ + { + "content": "

One thing I have come to realize as I study Nix's architecture more, and after years of experience and just dealing with the pain points, is that Nix may have actually missed a critical opportunity for itself by being turing-complete.

\n

In order to address some of the inefficiency concerns (changing hashes over added whitespace, reformatting, etc), the most formal solution would be to use a total programming language that can be reliably reduced to normal form (since it's not turing complete). You can then compute the hash over this normal form and use it to verify the \"semantic integrity\" of the code (as Dhall puts it).

\n

This hash could also equally function as a cache key, for more granular and correct expression caching. Also keeps the complexity of expressions capped, which puts a cap on the overall complexity of evaluation (which keeps getting worse and worse in nixpkgs, for example).

\n

Nix has already missed the boat on this, since any changes of this magnitude would break all backward compatibility, but when starting a new project completely from scratch you have the opportunity to design a language with these things in mind up front, before you get locked in.

\n

For that reason, I just wanted to suggest, if you haven't thought of it already, specifying the language as a \"total\" programming language, which would give you a compelling advantage over Nix. Yes there is already Dhall, but that lang has some of its own problems (too rigid of typing, mostly).

", + "id": 450235364, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1720545876 + }, + { + "content": "
    \n
  1. When cab eval is run, it hashes the file. If that hash already exists in the hash table that maps file hashes to structure hashes, it skips to step 3. If not, step 2.
  2. \n
  3. It evaluates the structure of the file (since the language is reproducible and does not do IO, the same expression will always evaluate to the same thing) and places it inside the hash table that maps structure hashes to results.
  4. \n
  5. It then returns the result.
  6. \n
\n

This way, changing whitespace won't do anything as it does not affect the AST. You don't need the language to not be turning complete to achieve this, either.

", + "id": 450239321, + "sender_full_name": "RGBCube", + "timestamp": 1720546944 + }, + { + "content": "

This could be performed for every single thunk evaluation, but initial evaluation would be quite super slow, so we need to find a middle ground.

", + "id": 450239481, + "sender_full_name": "RGBCube", + "timestamp": 1720547003 + }, + { + "content": "

Top-level is also quite bad, which is the way Nix does it. I'm thinking of doing it per island, which is either a git repository, a zip file, etc. Like flake inputs, one might say

", + "id": 450239660, + "sender_full_name": "RGBCube", + "timestamp": 1720547049 + }, + { + "content": "

Makes sense, but the benefit of reducing to normal form and then hashing would be that refactors would still maintain the same hash, basically any two expressions that are semantically equivalent would have the same hash, also I think a turing-complete language is a bit overkill for what should have been a DSL, no?

", + "id": 450239663, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1720547050 + }, + { + "content": "

\"reducing to normal form\" is evaluation, though. And the result of that would still be the same derivation files, so you wouldn't end up building anything

", + "id": 450239946, + "sender_full_name": "RGBCube", + "timestamp": 1720547118 + }, + { + "content": "

I don't think we are going to have any performance issues, as I'm planning to implement the standard library in Rust, instead of Nix. That is what takes the most time in Nix to evaluate modules. Nix itself is just slow and shouldn't be used to create huge things, only use them as glue.

", + "id": 450240263, + "sender_full_name": "RGBCube", + "timestamp": 1720547192 + }, + { + "content": "

reducing to normal form would be the first step in eval sure. That isn't even technically always possible in turing complete languages though, due to arbitrary complexity, the point is that it is always possible and should be computationally fairly inexpensive in a total language.

\n

The point about two expressions building the same derivation anyway is also true, but if you wanted to cache that evaluation, you'd have know way of knowing they are equivalent beforehand unless you first reduced them to normal form.

\n

Anyway, just wanted to share my thoughts with you since you are doing this, as it's something I've been thinking about lately in my effort to understand how one might improve Nix. Ultimately I am looking for something that is backwards compatible, but for someone in your position it is more feasible.

", + "id": 450240837, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1720547353 + }, + { + "content": "

if my ideas are fuzzy or useless, that is also fine, I didn't fully flesh it out

", + "id": 450241037, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1720547406 + }, + { + "content": "

It should also be possible to do ast-hashing in Nix. Not sure why it doesn't do it though.

", + "id": 450264832, + "sender_full_name": "RGBCube", + "timestamp": 1720553360 + }, + { + "content": "

Maybe because in C++, you can't just #[derive(Hash)]?

", + "id": 450264905, + "sender_full_name": "RGBCube", + "timestamp": 1720553382 + } +] \ No newline at end of file diff --git a/zulip_json/442953-cull-os/Why.20no.20IFD.json b/zulip_json/442953-cull-os/Why.20no.20IFD.json new file mode 100644 index 00000000000..d14f1386353 --- /dev/null +++ b/zulip_json/442953-cull-os/Why.20no.20IFD.json @@ -0,0 +1,14 @@ +[ + { + "content": "

Why no IFD is Good, Actually

\n
    \n
  • Faster evaluation
  • \n
  • No need to have a configured builder to evaluate the derivation graph
  • \n
  • Evaluator simplicity
  • \n
  • It will also enable me or someone else to create a LSP that interprets the expression with intermediate steps and gives you suggestions, without taking a year or doing anything impure or requiring a builder
  • \n
", + "id": 476503496, + "sender_full_name": "RGBCube", + "timestamp": 1728719445 + }, + { + "content": "

Indeed, this is also the reason I am (eventually) planning to add a language agnostic plugin boundary to eka. I imagine most things you might want IFD for you can do more easily in the native language of concern, and then just feed them into the evaluation via a json stream or something

", + "id": 476528151, + "sender_full_name": "Tim DeHerrera", + "timestamp": 1728743332 + } +] \ No newline at end of file diff --git a/zulip_json/442953-cull-os/channel.20events.json b/zulip_json/442953-cull-os/channel.20events.json new file mode 100644 index 00000000000..7b92c19f086 --- /dev/null +++ b/zulip_json/442953-cull-os/channel.20events.json @@ -0,0 +1,8 @@ +[ + { + "content": "

Web-public channel created by Srid. Description:

\n
\n

Discussion about https://github.com/cull-os

\n
", + "id": 446138123, + "sender_full_name": "Notification Bot", + "timestamp": 1718992066 + } +] \ No newline at end of file diff --git a/zulip_json/446608-rust-flake/Trunk.20.2B.20Wasm.json b/zulip_json/446608-rust-flake/Trunk.20.2B.20Wasm.json new file mode 100644 index 00000000000..09a724548bb --- /dev/null +++ b/zulip_json/446608-rust-flake/Trunk.20.2B.20Wasm.json @@ -0,0 +1,86 @@ +[ + { + "content": "

oh cool. NCI is frustrating me with wasm and trunk right now. so if you have an example for wasm and trunk, that might get me to switch

", + "id": 451203521, + "sender_full_name": "Quinn", + "timestamp": 1720892483 + }, + { + "content": "

@Quinn rust-flake is designed to be basically a (flake-parts) wrapper over https://crane.dev/ - so if you can get something working with crane, it should map straightforwardly to rust-flake.

", + "id": 451235367, + "sender_full_name": "Srid", + "timestamp": 1720910709 + }, + { + "content": "
\n

oh cool. NCI is frustrating me with wasm and trunk right now. so if you have an example for wasm and trunk, that might get me to switch

\n
\n

Do you have an existing repo with wasm and trunk? I could try to package it using rust-flake

", + "id": 452163350, + "sender_full_name": "Shivaraj B H", + "timestamp": 1721242993 + }, + { + "content": "

this is the current deal https://github.com/quinn-dougherty/gatekept-traffic-PoC/tree/master/src.rs i haven't done a ton of debugging as to why its not working. I will say my emacs lsp is jank in that it works when i direnv to an NCI full rust environment of the project, but it all depends on rustup not being installed. it all comes crashing down if emacs finds a rustup. that's a separate issue tho-- it'd be dope if it even built in CI.

", + "id": 452163872, + "sender_full_name": "Quinn", + "timestamp": 1721243140 + }, + { + "content": "

Alright, I will give it a try tomorrow, its almost bed time here.

", + "id": 452164321, + "sender_full_name": "Shivaraj B H", + "timestamp": 1721243274 + }, + { + "content": "

@Quinn it should be simple with crane: https://crane.dev/examples/trunk-workspace.html?highlight=trunk-work#

\n

I used the same flake in your src.rs dir and it worked fine. There are some unrelated code errors, which you will have to fix, here’s the tail of it:

\n
error[E0599]: no function or associated item named `new` found for struct `Pixels` in the current scope\n  --> site/src/components/pixels.rs:54:34\n   |\n54 |             let pixels = Pixels::new(width, height, gl_context).unwrap();\n   |                                  ^^^ function or associated item not found in `Pixels`\n
", + "id": 452303633, + "sender_full_name": "Shivaraj B H", + "timestamp": 1721296999 + }, + { + "content": "

Here’s the file (src.rs/flake.nix) that worked for me:

\n
{\n  description = \"Build a cargo project\";\n\n  inputs = {\n    nixpkgs.url = \"github:NixOS/nixpkgs/nixpkgs-unstable\";\n\n    # The version of wasm-bindgen-cli needs to match the version in Cargo.lock\n    # Update this to include the version you need\n    nixpkgs-for-wasm-bindgen.url = \"github:NixOS/nixpkgs/4e6868b1aa3766ab1de169922bb3826143941973\";\n\n    crane = {\n      url = \"github:ipetkov/crane\";\n      inputs.nixpkgs.follows = \"nixpkgs\";\n    };\n\n    flake-utils.url = \"github:numtide/flake-utils\";\n\n    rust-overlay = {\n      url = \"github:oxalica/rust-overlay\";\n      inputs.nixpkgs.follows = \"nixpkgs\";\n    };\n  };\n\n  outputs = { self, nixpkgs, crane, flake-utils, rust-overlay, nixpkgs-for-wasm-bindgen, ... }:\n    flake-utils.lib.eachDefaultSystem (system:\n      let\n        pkgs = import nixpkgs {\n          inherit system;\n          overlays = [ (import rust-overlay) ];\n        };\n\n        inherit (pkgs) lib;\n\n        rustToolchainFor = p: p.rust-bin.stable.latest.default.override {\n          # Set the build targets supported by the toolchain,\n          # wasm32-unknown-unknown is required for trunk.\n          targets = [ \"wasm32-unknown-unknown\" ];\n        };\n        craneLib = ((crane.mkLib pkgs).overrideToolchain rustToolchainFor).overrideScope (_final: _prev: {\n          # The version of wasm-bindgen-cli needs to match the version in Cargo.lock. You\n          # can unpin this if your nixpkgs commit contains the appropriate wasm-bindgen-cli version\n          inherit (import nixpkgs-for-wasm-bindgen { inherit system; }) wasm-bindgen-cli;\n        });\n\n        # When filtering sources, we want to allow assets other than .rs files\n        src = lib.cleanSourceWith {\n          src = ./.; # The original, unfiltered source\n          filter = path: type:\n            (lib.hasSuffix \"\\.html\" path) ||\n            (lib.hasSuffix \"\\.scss\" path) ||\n            # Example of a folder for images, icons, etc\n            (lib.hasInfix \"/assets/\" path) ||\n            # Default filter from crane (allow .rs files)\n            (craneLib.filterCargoSources path type)\n          ;\n        };\n\n        commonArgs = {\n          inherit src;\n          strictDeps = true;\n\n          buildInputs = [\n            # Add additional build inputs here\n          ] ++ lib.optionals pkgs.stdenv.isDarwin [\n            # Additional darwin specific inputs can be set here\n            pkgs.libiconv\n          ];\n        };\n\n        # Wasm packages\n\n        wasmArgs = commonArgs // {\n          pname = \"trunk-workspace-wasm\";\n          cargoExtraArgs = \"--package=site\";\n          CARGO_BUILD_TARGET = \"wasm32-unknown-unknown\";\n        };\n\n        cargoArtifactsWasm = craneLib.buildDepsOnly (wasmArgs // {\n          doCheck = false;\n        });\n\n        mySite = craneLib.buildTrunkPackage (wasmArgs // {\n          pname = \"trunk-workspace-site\";\n          cargoArtifacts = cargoArtifactsWasm;\n          trunkIndexPath = \"site/index.html\";\n          # The version of wasm-bindgen-cli here must match the one from Cargo.lock.\n          wasm-bindgen-cli = pkgs.wasm-bindgen-cli.override {\n            version = \"0.2.92\";\n            hash = \"sha256-1VwY8vQy7soKEgbki4LD+v259751kKxSxmo/gqE6yV0=\";\n            cargoHash = \"sha256-aACJ+lYNEU8FFBs158G1/JG8sc6Rq080PeKCMnwdpH0=\";\n          };\n        });\n        serve-app = pkgs.writeShellScriptBin \"serve-app\" ''\n          ${pkgs.python3Minimal}/bin/python3 -m http.server --directory ${mySite} 8000\n        '';\n      in\n      {\n        checks = {\n          inherit mySite;\n        };\n        packages.default = mySite;\n\n        apps.default = flake-utils.lib.mkApp {\n          name = \"server\";\n          drv = serve-app;\n        };\n\n        devShells.default = craneLib.devShell {\n          # Inherit inputs from checks.\n          checks = self.checks.${system};\n\n          # Extra inputs can be added here; cargo and rustc are provided by default.\n          packages = [\n            pkgs.trunk\n          ];\n        };\n      });\n}\n
", + "id": 452303889, + "sender_full_name": "Shivaraj B H", + "timestamp": 1721297081 + }, + { + "content": "

7 messages were moved here from #nix > rust-flake (Nixify Rust projects) by Shivaraj B H.

", + "id": 452304428, + "sender_full_name": "Notification Bot", + "timestamp": 1721297247 + }, + { + "content": "

It should not be hard to support this in rust-flake. The only difference is the usage of buildTrunkPackage in place of buildPackage.
\nThis is a schema I propose:

\n
{\n  rust-project = {\n    crates = {\n      \"site\" = {\n           isTrunkPackage = true;\n           extraBuildArgs = {\n             wasm-bindgen-cli = \n             trunkIndexPath = \"site/index.html\";\n       };\n      \"cli\" = {  };\n      \"holodeck\" = {  };\n    };\n  };\n}\n
\n

This would replace the 100+ line of flake.nix from above

", + "id": 452307899, + "sender_full_name": "Shivaraj B H", + "timestamp": 1721298463 + }, + { + "content": "

Perhaps we should have a freeform type that can build all types of derivations, using:

\n
    \n
  • buildPackage
  • \n
  • buidTrunkPackage
  • \n
  • cargoClippy
  • \n
  • cargoDoc
  • \n
  • cargoFmt
  • \n
  • cargoLlvmCov
  • \n
  • cargoNextest
  • \n
  • etc.
  • \n
\n

(Search for -> drv in https://crane.dev/API.html to find these)

\n

For e.g.,

\n
{\n  rust-project.crates.\"foo\" = {\n    packages.trunk = { extraBuildArgs = { ... } };\n  };\n}\n
", + "id": 452364816, + "sender_full_name": "Srid", + "timestamp": 1721314254 + }, + { + "content": "

Eventually, we can even allow the user to build a custom package.

", + "id": 452364900, + "sender_full_name": "Srid", + "timestamp": 1721314281 + }, + { + "content": "

packages.NAME maps to a known builder if NAME is known (eg: trunk maps to buildTrunkPackage). The user can define their own builders.

", + "id": 452364977, + "sender_full_name": "Srid", + "timestamp": 1721314310 + }, + { + "content": "

In the meanwhile, @Quinn can already use rust-flake to call buildTrunkPackage because we expose crane-lib anyway.

", + "id": 452365297, + "sender_full_name": "Srid", + "timestamp": 1721314381 + }, + { + "content": "

As an aside, it would be good to have a template for Trunk projects, especially as part of https://github.com/juspay/rust-flake/issues/15

", + "id": 452365408, + "sender_full_name": "Srid", + "timestamp": 1721314418 + } +] \ No newline at end of file diff --git a/zulip_json/446608-rust-flake/channel.20events.json b/zulip_json/446608-rust-flake/channel.20events.json new file mode 100644 index 00000000000..ebcf6ee9c58 --- /dev/null +++ b/zulip_json/446608-rust-flake/channel.20events.json @@ -0,0 +1,14 @@ +[ + { + "content": "

Public channel created by Shivaraj B H. Description:

\n
\n

Discussions about https://github.com/juspay/rust-flake

\n
", + "id": 452304280, + "sender_full_name": "Notification Bot", + "timestamp": 1721297192 + }, + { + "content": "

Srid changed the access permissions for this channel from Public to Web-public.

", + "id": 452371699, + "sender_full_name": "Notification Bot", + "timestamp": 1721315733 + } +] \ No newline at end of file diff --git a/zulip_json/stream_index.json b/zulip_json/stream_index.json new file mode 100644 index 00000000000..9ef7ce6bbcd --- /dev/null +++ b/zulip_json/stream_index.json @@ -0,0 +1,1151 @@ +{ + "streams": { + "cull-os": { + "id": 442953, + "latest_id": 481445743, + "topic_data": { + "Bind expressions": { + "latest_date": 1729972044, + "size": 6 + }, + "Content addressed dynamic libraries": { + "latest_date": 1719081163, + "size": 14 + }, + "Convering Islands to Derivations Efficiently": { + "latest_date": 1729862468, + "size": 4 + }, + "Current status": { + "latest_date": 1728652719, + "size": 42 + }, + "Derivation storing service": { + "latest_date": 1728758177, + "size": 41 + }, + "Discuss cull-os": { + "latest_date": 1719008085, + "size": 5 + }, + "Fixing what Nix did wrong": { + "latest_date": 1730025664, + "size": 17 + }, + "Flowcharts": { + "latest_date": 1729601868, + "size": 3 + }, + "Language design philosophy": { + "latest_date": 1720382737, + "size": 6 + }, + "Match syntax": { + "latest_date": 1729972340, + "size": 9 + }, + "Novel LSP features": { + "latest_date": 1730137097, + "size": 3 + }, + "Realizer Protocol": { + "latest_date": 1729862817, + "size": 3 + }, + "Recursive Realization": { + "latest_date": 1731145357, + "size": 1 + }, + "Things to not do in the realizer protocol": { + "latest_date": 1730481051, + "size": 6 + }, + "Typed Lambda Arguments": { + "latest_date": 1729972201, + "size": 3 + }, + "WASM + WASI for running Cab on the builder to do the buil...": { + "latest_date": 1729978153, + "size": 8 + }, + "What does \"Cab\" mean, anyway?": { + "latest_date": 1729160356, + "size": 2 + }, + "Where is the Language in the Computability Hierarchy?": { + "latest_date": 1720553382, + "size": 11 + }, + "Why no IFD": { + "latest_date": 1728743332, + "size": 2 + }, + "channel events": { + "latest_date": 1718992066, + "size": 1 + }, + "✔ channel events": { + "latest_date": 1719003545, + "size": 1 + } + } + }, + "flake-parts": { + "id": 419910, + "latest_id": 449649085, + "topic_data": { + "Community docs site in Emanote": { + "latest_date": 1705985197, + "size": 2 + }, + "Having multiple `pkgs`": { + "latest_date": 1710768492, + "size": 2 + }, + "Make me a beliver": { + "latest_date": 1720354702, + "size": 13 + }, + "Overriding `lib` in flake-parts": { + "latest_date": 1720020312, + "size": 7 + }, + "stream events": { + "latest_date": 1705161318, + "size": 1 + } + } + }, + "general": { + "id": 413951, + "latest_id": 449180867, + "topic_data": { + "0th": { + "latest_date": 1700662582, + "size": 2 + }, + "ANN: NixOS Asia website": { + "latest_date": 1702918472, + "size": 17 + }, + "Current FOSS Scenario in India": { + "latest_date": 1702134062, + "size": 13 + }, + "FOSSMeet'24, Kerala (March 22-24)": { + "latest_date": 1712383751, + "size": 4 + }, + "FP India": { + "latest_date": 1710439516, + "size": 3 + }, + "Full Time Nix podcast looking for text author": { + "latest_date": 1714298958, + "size": 1 + }, + "Introduction": { + "latest_date": 1709061477, + "size": 6 + }, + "Letting Google index this Zulip": { + "latest_date": 1710687099, + "size": 6 + }, + "OSS contribution ideas": { + "latest_date": 1720137095, + "size": 5 + }, + "Social media stream": { + "latest_date": 1703948845, + "size": 2 + }, + "Syntax highlighting": { + "latest_date": 1704297930, + "size": 1 + }, + "Telegram": { + "latest_date": 1719755914, + "size": 5 + }, + "stream events": { + "latest_date": 1701277777, + "size": 5 + } + } + }, + "haskell-flake": { + "id": 413949, + "latest_id": 448864579, + "topic_data": { + "0.5.0 plan": { + "latest_date": 1713448814, + "size": 7 + }, + "Can’t assign custom library packages in settings": { + "latest_date": 1711568678, + "size": 3 + }, + "Compilation fails when embedding files using TH": { + "latest_date": 1713024354, + "size": 3 + }, + "Documentation updates": { + "latest_date": 1710421639, + "size": 1 + }, + "Failed to parse `cabal.project`": { + "latest_date": 1708591608, + "size": 8 + }, + "Missing gettext": { + "latest_date": 1712607116, + "size": 4 + }, + "Non-standard package set": { + "latest_date": 1709297205, + "size": 3 + }, + "OOM during compilation?": { + "latest_date": 1720016929, + "size": 3 + }, + "Removing IFD": { + "latest_date": 1704783877, + "size": 7 + }, + "Using horizon package set with haskell-flake": { + "latest_date": 1707289374, + "size": 6 + }, + "`custom` setting stopped working": { + "latest_date": 1712126519, + "size": 21 + }, + "`globalSettings` is for which package?": { + "latest_date": 1709310331, + "size": 16 + }, + "cabal-install ignoring user's package set": { + "latest_date": 1706757901, + "size": 61 + }, + "haskell-language-server dropped support for ghc 8.10": { + "latest_date": 1708598026, + "size": 3 + }, + "stream events": { + "latest_date": 1700660225, + "size": 1 + }, + "what is `toDefinedProject`?": { + "latest_date": 1710340722, + "size": 6 + }, + "✔ 0.5.0 plan": { + "latest_date": 1719250048, + "size": 2 + }, + "✔ `custom` setting stopped working": { + "latest_date": 1711689217, + "size": 1 + } + } + }, + "horizon-haskell": { + "id": 424491, + "latest_id": 424227564, + "topic_data": { + "Introduction To Horizon Haskell": { + "latest_date": 1709297230, + "size": 3 + }, + "stream events": { + "latest_date": 1707374023, + "size": 1 + } + } + }, + "jenkins-nix-ci": { + "id": 416818, + "latest_id": 421630600, + "topic_data": { + "cannot get working in my setup": { + "latest_date": 1707995310, + "size": 7 + }, + "stream events": { + "latest_date": 1702383069, + "size": 1 + } + } + }, + "nix": { + "id": 413950, + "latest_id": 478716009, + "topic_data": { + "1Password TouchID auth for git, ssh, etc.": { + "latest_date": 1707870108, + "size": 5 + }, + "2 level deep packages in nix flakes": { + "latest_date": 1704373940, + "size": 7 + }, + "ANN: nixci": { + "latest_date": 1713998606, + "size": 11 + }, + "Accessing list items in Nix": { + "latest_date": 1718372703, + "size": 2 + }, + "Add a flake input that doesn’t depend on external git": { + "latest_date": 1709538008, + "size": 4 + }, + "Becoming a package maintainer": { + "latest_date": 1701100090, + "size": 3 + }, + "Cache config in `nix run` of flake": { + "latest_date": 1707845691, + "size": 12 + }, + "Check whether generated code is in sync": { + "latest_date": 1702465912, + "size": 13 + }, + "Conditional internal option": { + "latest_date": 1711550054, + "size": 3 + }, + "Darwin: launchctl logs for a service": { + "latest_date": 1711368460, + "size": 9 + }, + "Dependency graph": { + "latest_date": 1707994235, + "size": 8 + }, + "Dependency patches without massive rebuilds": { + "latest_date": 1708284744, + "size": 1 + }, + "Dynamic NixOS configuration, using flakes": { + "latest_date": 1714703563, + "size": 13 + }, + "Ekala project announcement": { + "latest_date": 1729776234, + "size": 1 + }, + "Emacs with Xwidgets (Darwin)": { + "latest_date": 1710678534, + "size": 2 + }, + "Expressions in flake inputs": { + "latest_date": 1711471918, + "size": 9 + }, + "Failed to evalModules": { + "latest_date": 1717373579, + "size": 4 + }, + "Filesystem As Memory": { + "latest_date": 1704218419, + "size": 1 + }, + "Flake template vars": { + "latest_date": 1709572261, + "size": 4 + }, + "Git manyFiles issue": { + "latest_date": 1708136915, + "size": 1 + }, + "Haskell + Rust FFI": { + "latest_date": 1704808497, + "size": 11 + }, + "How to add Haskell packages from flake into callCabal2nix?": { + "latest_date": 1727726306, + "size": 3 + }, + "How to call commands from old cli in nix_rs": { + "latest_date": 1714672596, + "size": 8 + }, + "How to override Python packages?": { + "latest_date": 1702319626, + "size": 3 + }, + "IFD": { + "latest_date": 1707244803, + "size": 1 + }, + "Jobs": { + "latest_date": 1716345263, + "size": 1 + }, + "LWN Article": { + "latest_date": 1709314763, + "size": 5 + }, + "Man pages with home-manager": { + "latest_date": 1706157391, + "size": 8 + }, + "Mapping through list of attrSets to make a complex string": { + "latest_date": 1718459950, + "size": 18 + }, + "Module system tutorial": { + "latest_date": 1708102206, + "size": 1 + }, + "Nix development environments": { + "latest_date": 1712849236, + "size": 12 + }, + "Nix events in India": { + "latest_date": 1709295968, + "size": 4 + }, + "Nix iceberg": { + "latest_date": 1719071434, + "size": 4 + }, + "Nix performance": { + "latest_date": 1705729568, + "size": 1 + }, + "Nix tutorial series": { + "latest_date": 1704778853, + "size": 6 + }, + "Nix using incorrect GHC": { + "latest_date": 1708591710, + "size": 6 + }, + "Nix's Achilles heel?": { + "latest_date": 1710596517, + "size": 3 + }, + "NixCon NA 2024": { + "latest_date": 1710269080, + "size": 3 + }, + "Nixifying the vlang dev environment": { + "latest_date": 1702063056, + "size": 12 + }, + "Non-Rust dependencies in Rust flake template": { + "latest_date": 1706323713, + "size": 4 + }, + "Overriding flake inputs from CLI": { + "latest_date": 1717608734, + "size": 7 + }, + "Passing arguments to flake": { + "latest_date": 1702431658, + "size": 16 + }, + "Portable binaries": { + "latest_date": 1717292081, + "size": 3 + }, + "Recursively search through flake inputs": { + "latest_date": 1707191198, + "size": 15 + }, + "Running python process using process-compose": { + "latest_date": 1704352206, + "size": 15 + }, + "Rust cross-compilation": { + "latest_date": 1707910194, + "size": 13 + }, + "Separating evaluation and realization": { + "latest_date": 1708450747, + "size": 4 + }, + "The Nix Abstractions": { + "latest_date": 1711543671, + "size": 2 + }, + "The future of `nixci`": { + "latest_date": 1727299419, + "size": 2 + }, + "Update multiple `flake.lock` using Github Actions’ matrix": { + "latest_date": 1722834452, + "size": 1 + }, + "`CHANGELOG` auto update on Github": { + "latest_date": 1716896378, + "size": 1 + }, + "`flake.lock` auto-merge on GitHub": { + "latest_date": 1716897308, + "size": 11 + }, + "auth credentials for manual calls to git in derivations": { + "latest_date": 1716672371, + "size": 3 + }, + "define order of formatters in treefmt-nix": { + "latest_date": 1712832943, + "size": 3 + }, + "flake": { + "latest_date": 1710937170, + "size": 3 + }, + "helix": { + "latest_date": 1708454342, + "size": 7 + }, + "home-manager without admin access": { + "latest_date": 1715307159, + "size": 24 + }, + "jupyter env setup": { + "latest_date": 1709979562, + "size": 4 + }, + "just-flake (justfile sharing)": { + "latest_date": 1713250686, + "size": 3 + }, + "macOS Sequoia": { + "latest_date": 1727299406, + "size": 16 + }, + "nested nix shell": { + "latest_date": 1712127203, + "size": 5 + }, + "nix": { + "latest_date": 1711116271, + "size": 1 + }, + "nix - direnv and starship": { + "latest_date": 1711134080, + "size": 1 + }, + "nix flake --init with template in private repo?": { + "latest_date": 1713635317, + "size": 6 + }, + "nix-index": { + "latest_date": 1707549982, + "size": 11 + }, + "nixfmt": { + "latest_date": 1718374195, + "size": 13 + }, + "nixvim - Manage neovim config in Nix": { + "latest_date": 1719160333, + "size": 6 + }, + "nosys `pkgs` handling": { + "latest_date": 1708801310, + "size": 5 + }, + "per-host home-manager implementation.": { + "latest_date": 1714325225, + "size": 14 + }, + "pre-commit-hooks to format the code": { + "latest_date": 1716502896, + "size": 6 + }, + "rust-flake (Nixify Rust projects)": { + "latest_date": 1721243274, + "size": 6 + }, + "stream events": { + "latest_date": 1700660530, + "size": 1 + }, + "✔ Accessing list items in Nix": { + "latest_date": 1718373150, + "size": 6 + }, + "✔ automatic gc in home-manager": { + "latest_date": 1707217425, + "size": 9 + }, + "✔ nix flake --init with template in private repo?": { + "latest_date": 1713637663, + "size": 3 + } + } + }, + "nix-browser": { + "id": 415454, + "latest_id": 423631692, + "topic_data": { + "Building Tauri apps": { + "latest_date": 1701438921, + "size": 1 + }, + "Unable to gather nix info issue": { + "latest_date": 1709047571, + "size": 2 + }, + "stream events": { + "latest_date": 1701438860, + "size": 1 + } + } + }, + "nixify-llm": { + "id": 426237, + "latest_id": 449118986, + "topic_data": { + "Aider vs": { + "latest_date": 1708800973, + "size": 3 + }, + "Anyone aware of Pinokio?": { + "latest_date": 1719355622, + "size": 5 + }, + "Editor integration (LSP?)": { + "latest_date": 1708778137, + "size": 46 + }, + "Eluther AI": { + "latest_date": 1708453390, + "size": 2 + }, + "Issues with ollama flake": { + "latest_date": 1719057826, + "size": 15 + }, + "LoRA model refinememt": { + "latest_date": 1708778193, + "size": 2 + }, + "Mattermost plugin with local OpenAI compatible backend": { + "latest_date": 1717526858, + "size": 2 + }, + "Name of tool who makes all LLMV OpenAPI compatible": { + "latest_date": 1708771075, + "size": 22 + }, + "khoj": { + "latest_date": 1708775249, + "size": 2 + }, + "llm example + neovim": { + "latest_date": 1720106788, + "size": 1 + }, + "nixified.ai": { + "latest_date": 1708450255, + "size": 3 + }, + "ollama": { + "latest_date": 1717225221, + "size": 285 + }, + "ollama image analysis?": { + "latest_date": 1720108463, + "size": 9 + }, + "private-gpt": { + "latest_date": 1716657754, + "size": 5 + }, + "sc - or how to AI editor": { + "latest_date": 1711226771, + "size": 25 + }, + "stream events": { + "latest_date": 1708449862, + "size": 2 + }, + "✔ Issues with ollama flake": { + "latest_date": 1719071263, + "size": 1 + } + } + }, + "nixos": { + "id": 413948, + "latest_id": 478352340, + "topic_data": { + "Automate NixOS install on bare metal - howto?": { + "latest_date": 1716309877, + "size": 11 + }, + "Bitwarden for SSH authentication and git commit signing": { + "latest_date": 1717355589, + "size": 14 + }, + "Darwin's linux-builder": { + "latest_date": 1708700392, + "size": 6 + }, + "Deploying to DigitalOcean": { + "latest_date": 1701465821, + "size": 7 + }, + "Home CI machine (portable)": { + "latest_date": 1709118594, + "size": 39 + }, + "How to apply gsettings schema on NixOS?": { + "latest_date": 1729624914, + "size": 1 + }, + "How to use an older version of a tool in NixOS?": { + "latest_date": 1720630875, + "size": 4 + }, + "ISO download speed": { + "latest_date": 1716539084, + "size": 2 + }, + "Installing a flake directly": { + "latest_date": 1702388249, + "size": 2 + }, + "Is there a way to test how reproducible my system is?": { + "latest_date": 1716540458, + "size": 4 + }, + "Multi-config repos and sharing of nixpkgs": { + "latest_date": 1716476304, + "size": 4 + }, + "NixBSD, it's NixOS on FreeBSD": { + "latest_date": 1712238834, + "size": 4 + }, + "NixOS nat race condition?": { + "latest_date": 1710632266, + "size": 3 + }, + "NixOS Anywhere": { + "latest_date": 1706066538, + "size": 15 + }, + "NixOS Cloud-init images": { + "latest_date": 1712238729, + "size": 7 + }, + "NixOS for small datacenter": { + "latest_date": 1720253590, + "size": 22 + }, + "NixOS oneclick install tutorial": { + "latest_date": 1718638984, + "size": 36 + }, + "NixOS tutorial series": { + "latest_date": 1711457122, + "size": 27 + }, + "QEMU internal SIGSEGV": { + "latest_date": 1708522471, + "size": 8 + }, + "Self-hosted GitHub runners": { + "latest_date": 1719326644, + "size": 51 + }, + "Self-hosting HedgeDoc with GitHub auth": { + "latest_date": 1716279055, + "size": 2 + }, + "Self-hosting email": { + "latest_date": 1709756125, + "size": 9 + }, + "Setting up personal caches using `attic`": { + "latest_date": 1707846205, + "size": 18 + }, + "Specifying UUID in diskio": { + "latest_date": 1711503303, + "size": 14 + }, + "Unified activation": { + "latest_date": 1719426925, + "size": 2 + }, + "Usr files persist after being removed from the configuration": { + "latest_date": 1709145631, + "size": 6 + }, + "When you forget to garbage collect home manager regularly...": { + "latest_date": 1718639075, + "size": 2 + }, + "Zulip Nix packaging": { + "latest_date": 1700928065, + "size": 3 + }, + "disko-install": { + "latest_date": 1711471651, + "size": 11 + }, + "nixos-unified": { + "latest_date": 1728079736, + "size": 1 + }, + "sdn router using NixOS microvm": { + "latest_date": 1707252379, + "size": 3 + }, + "secrets/password management": { + "latest_date": 1720279709, + "size": 17 + }, + "services.self-deploy": { + "latest_date": 1710869061, + "size": 1 + }, + "stream events": { + "latest_date": 1700660079, + "size": 1 + }, + "✔ Automate NixOS install on bare metal - howto?": { + "latest_date": 1716310120, + "size": 4 + }, + "✔ VM - QEMU": { + "latest_date": 1709736630, + "size": 8 + }, + "✔ Weird behavior in socat": { + "latest_date": 1710673601, + "size": 7 + }, + "✔ systemd host resolve (matrix/twisted)": { + "latest_date": 1709759516, + "size": 15 + } + } + }, + "offtopic": { + "id": 420166, + "latest_id": 451008530, + "topic_data": { + "Collaborative web editing of Markdown files": { + "latest_date": 1716279278, + "size": 5 + }, + "Github Pages": { + "latest_date": 1710074914, + "size": 1 + }, + "Interesting take on memory safety": { + "latest_date": 1712271991, + "size": 1 + }, + "Publishing videos": { + "latest_date": 1709734762, + "size": 2 + }, + "channel events": { + "latest_date": 1716433341, + "size": 1 + }, + "just recipe grouping": { + "latest_date": 1720797804, + "size": 8 + }, + "llama3 release": { + "latest_date": 1713548741, + "size": 4 + }, + "memes": { + "latest_date": 1705397513, + "size": 2 + }, + "stream events": { + "latest_date": 1705397489, + "size": 1 + } + } + }, + "omnix": { + "id": 415454, + "latest_id": 457414202, + "topic_data": { + "0.1.0": { + "latest_date": 1723134243, + "size": 1 + }, + "Building Tauri apps": { + "latest_date": 1701438921, + "size": 1 + }, + "Flake schemas": { + "latest_date": 1721685579, + "size": 1 + }, + "Grand plan for omnix": { + "latest_date": 1720813693, + "size": 30 + }, + "Static binary": { + "latest_date": 1721245174, + "size": 4 + }, + "cargo-doc-live broken?": { + "latest_date": 1721245353, + "size": 2 + }, + "channel events": { + "latest_date": 1720801827, + "size": 2 + }, + "om ci": { + "latest_date": 1722637405, + "size": 1 + }, + "om health": { + "latest_date": 1721156518, + "size": 1 + }, + "om init": { + "latest_date": 1721075153, + "size": 1 + }, + "om show": { + "latest_date": 1721240558, + "size": 3 + }, + "stream events": { + "latest_date": 1701438860, + "size": 1 + } + } + }, + "process-compose-flake": { + "id": 414022, + "latest_id": 441075708, + "topic_data": { + "Alternative to F keys": { + "latest_date": 1708614528, + "size": 9 + }, + "Branding": { + "latest_date": 1708622802, + "size": 3 + }, + "Hard to see when I try to quit": { + "latest_date": 1716913910, + "size": 7 + }, + "Unable to select text in the tui": { + "latest_date": 1701972652, + "size": 4 + }, + "devenv": { + "latest_date": 1710942773, + "size": 1 + }, + "process-compose 1.0 released": { + "latest_date": 1711372135, + "size": 1 + }, + "process-compose log in GitHub runners": { + "latest_date": 1708618608, + "size": 5 + }, + "process-compose on FreeBSD-based systems?": { + "latest_date": 1712173287, + "size": 6 + }, + "stream events": { + "latest_date": 1700692519, + "size": 1 + } + } + }, + "rust-flake": { + "id": 446608, + "latest_id": 452371699, + "topic_data": { + "Trunk + Wasm": { + "latest_date": 1721314418, + "size": 14 + }, + "channel events": { + "latest_date": 1721315733, + "size": 2 + } + } + }, + "services-flake": { + "id": 414011, + "latest_id": 450449598, + "topic_data": { + "0.2.0 release": { + "latest_date": 1714282960, + "size": 4 + }, + "CUDA acceleration in ollama": { + "latest_date": 1719233861, + "size": 9 + }, + "Compared to other tools": { + "latest_date": 1709844909, + "size": 1 + }, + "Darwin support for grafana": { + "latest_date": 1711478471, + "size": 1 + }, + "Docs": { + "latest_date": 1710100043, + "size": 1 + }, + "Does it make sense to add `open-browser` as a service?": { + "latest_date": 1718287826, + "size": 2 + }, + "GSoC": { + "latest_date": 1711478363, + "size": 2 + }, + "Hard to see when I try to quit": { + "latest_date": 1716868909, + "size": 1 + }, + "Java process leak": { + "latest_date": 1718816209, + "size": 3 + }, + "Plan on integrating photoprism based on services-flake": { + "latest_date": 1720617393, + "size": 14 + }, + "Require opinion on `example/llm`": { + "latest_date": 1718375422, + "size": 40 + }, + "Weaviate": { + "latest_date": 1716892334, + "size": 27 + }, + "cargo-doc-live initial PR": { + "latest_date": 1719203776, + "size": 44 + }, + "custom local service": { + "latest_date": 1716617418, + "size": 3 + }, + "dataDir for postgres service has incorrect permissions": { + "latest_date": 1701431905, + "size": 30 + }, + "stream events": { + "latest_date": 1700680731, + "size": 1 + }, + "✔ 0.2.0 release": { + "latest_date": 1714465834, + "size": 5 + }, + "✔ Does it make sense to add `open-browser` as a service?": { + "latest_date": 1718365007, + "size": 1 + }, + "✔ Require opinion on `example/llm`": { + "latest_date": 1719929031, + "size": 30 + }, + "✔ Using psql command instead of postgres in initialScript": { + "latest_date": 1703795532, + "size": 9 + }, + "✔ Weaviate": { + "latest_date": 1718262165, + "size": 2 + }, + "✔ custom local service": { + "latest_date": 1719047897, + "size": 3 + } + } + }, + "social-media": { + "id": 415266, + "latest_id": 482184563, + "topic_data": { + "Discourse Announcements": { + "latest_date": 1731508007, + "size": 228 + }, + "Hacker News": { + "latest_date": 1729939886, + "size": 30 + }, + "Lobste.rs": { + "latest_date": 1731494149, + "size": 164 + }, + "StackOverflow": { + "latest_date": 1702995052, + "size": 8 + }, + "r/nixos": { + "latest_date": 1731456808, + "size": 736 + }, + "stream events": { + "latest_date": 1701310357, + "size": 2 + } + } + }, + "website": { + "id": 416826, + "latest_id": 453242805, + "topic_data": { + " for wiki-links": { + "latest_date": 1703694706, + "size": 2 + }, + "Link to a sub-section of an internal page": { + "latest_date": 1702905726, + "size": 2 + }, + "SEO": { + "latest_date": 1721671808, + "size": 1 + }, + "Updates": { + "latest_date": 1715831232, + "size": 6 + }, + "[Emanote] Copy button to code blocks": { + "latest_date": 1702391486, + "size": 4 + }, + "obsidian graph in emanote": { + "latest_date": 1703542596, + "size": 22 + }, + "stream events": { + "latest_date": 1702386765, + "size": 1 + } + } + } + }, + "time": 1731508457.597153 +} \ No newline at end of file