28
Kellnr has a new UI (programming.dev)
submitted 2 months ago by [email protected] to c/[email protected]

Kellnr, the registry to self host crates, has a new UI. I rewrote it to make it more consistent and responsive. Give it a try, if you want to host crates on your own infrastructure. https://kellnr.io/

7
submitted 4 months ago by [email protected] to c/[email protected]
23
submitted 5 months ago by [email protected] to c/[email protected]

The fist new version of Kellnr in 2025 is released! If you want to self-host rust crates on your own infrastructure, check it out.

1
submitted 7 months ago by [email protected] to c/[email protected]

Hi! I'm new to Swift and macOS development. I'm currently writing an app for me that allows me to backup my files and photos from icloud to NAS.

Getting the photos was easy, but I'm not sure how to get files stored in icloud drive. Do I need an Apple Developer account for the right permissions? If so, why can I download photos without it?

7
submitted 7 months ago by [email protected] to c/[email protected]

I try to add an application that was installed with homebrew (managed by nix darwin) to the "Open at Login" settings under "General -> Login Items & Extensions".

I tried to add a launchd.user.agents entry, but that didn't work. The app is only adeded to the "Allow in the Background" settings and does not start on login.

  launchd.user.agents = {
    sanesidebuttons = {
      serviceConfig = {
        Label = "com.thealpa.sanesidebuttons";
        RunAtLoad = true;
        Program = "/Applications/SaneSideButtons.app";
      };
    };
  };

Any ideas how to add an entry to the "Open at Login" settings with nix darwin? launchd.agents and launchd.daemons seems to be the wrong place as well.

15
submitted 8 months ago by [email protected] to c/[email protected]

Hi rustaceans! What are you working on this week? Did you discover something new, you want to share?

16
submitted 9 months ago by [email protected] to c/[email protected]

Kellnr, the crate registry for Rust got an update. The latest version contains bug fixes and dependency updates. If you are interested in hosting private crates that must not be on crates.io, check it out.

24
submitted 9 months ago by [email protected] to c/[email protected]

Hi rustaceans! What are you working on this week? Did you discover something new, you want to share?

27
submitted 10 months ago by [email protected] to c/[email protected]

Hi rustaceans! What are you working on this week? Did you discover something new, you want to share?

14
submitted 10 months ago by [email protected] to c/[email protected]

Hi!

I've ran into an issue with nix develop shells.

My setup:

  • Nix Darwin (macos)
  • Custom TLS certificates installed via nix darwin

Everything works as expected with the installed certificates, but as soon as I enter into a development shell with nix develop, the certificates are not available and thus, I get TLS errors that break whatever I'm doing in the dev shell. If I use an impure development shell, the issue disappears.

Is there a way to use pure nix develop shells which respect the installed certificates?

19
submitted 11 months ago by [email protected] to c/[email protected]

Hi rustaceans! What are you working on this week? Did you discover something new, you want to share?

7
submitted 11 months ago by [email protected] to c/[email protected]

Hi! I would like to host a transparent proxy for cache.nixos.org on my local kubernetes cluster.

I took the following NGINX config https://nixos.wiki/wiki/FAQ/Private_Cache_Proxy and created all the folders on the mounted storage.

This is the kubernetes deployment:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: nix-cache-volume
spec:
  capacity:
    storage: 500Gi
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/mnt/k8s/nix-cache" # Needs exists before PV is created!
  persistentVolumeReclaimPolicy: Retain
***
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nix-cache-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: manual
  resources:
    requests:
      storage: 500Gi
***
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nix-cache
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nix-cache
  template:
    metadata:
      labels:
        app: nix-cache
        name: nix-cache
    spec:
      volumes:
        - name: nix-cache-storage
          persistentVolumeClaim:
            claimName: nix-cache-pvc
        - name: nix-cache-config
          configMap:
            name: nix-cache-config
      containers:
        - name: nix-cache
          image: nginx:1.27.0 
          ports:
            - containerPort: 80
          volumeMounts:
            - name: nix-cache-storage
              mountPath: /data
            - name: nix-cache-config
              mountPath: /etc/nginx/sites-available/default
          resources:
            limits:
              memory: "512Mi"
              cpu: "300m"
            requests:
              memory: "256Mi"
              cpu: "200m"
***
apiVersion: v1
kind: Service
metadata:
  name: nix-cache
spec:
  selector:
    app: nix-cache
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
***
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: nix-cache-ingress
  annotations:
    traefik.ingress.kubernetes.io/router.tls: "true"
spec:
  rules:
    - host: "nix-cache.raspi.home"
      http:
        paths:
          - pathType: Prefix
            path: "/"
            backend:
              service:
                name: nix-cache
                port:
                  number: 80
  tls:
    - secretName: nix-cache-raspi-home-tls
      hosts:
        - "nix-cache.raspi.home"
***
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
  name: nix-cache.raspi.home
spec:
  commonName: nix-cache.raspi.home
  dnsNames:
    - "nix-cache.raspi.home"
  secretName: nix-cache-raspi-home-tls
  issuerRef:
    name: ca-issuer
    kind: ClusterIssuer
***
apiVersion: v1
kind: ConfigMap
metadata:
  name: nix-cache-config
data:
  nginx.conf: |
    server {
      listen 80;
      server_name nix-cache.raspi.home;

      location ~ ^/nix-cache-info {
        proxy_store        on;
        proxy_store_access user:rw group:rw all:r;
        proxy_temp_path    /data/nginx/nix-cache-info/temp;
        root               /data/nginx/nix-cache-info/store;

        proxy_set_header Host "cache.nixos.org";
        proxy_pass https://cache.nixos.org/;
      }

      location ~^/nar/.+$ {
        proxy_store        on;
        proxy_store_access user:rw group:rw all:r;
        proxy_temp_path    /data/nginx/nar/temp;
        root               /data/nginx/nar/store;

        proxy_set_header Host "cache.nixos.org";
        proxy_pass https://cache.nixos.org/;
      }
    }

To use the cache I added it to the substituters.

  nix.settings.substituters = [
    "https://nix-cache.raspi.home/"
  ];

But when I try to use it, get the error:

# Trigger a download
nix develop nixpkgs#just
# Error message
warning: 'https://nix-cache.raspi.home/' does not appear to be a binary cache

In the logs of the NGINX I see the following error:

2024/08/03 12:09:30 [error] 31#31: *3 open() "/usr/share/nginx/html/nix-cache-info" failed (2: No such file or directory), client: 10.42.2.7, server: localhost, request: "GET /nix-cache-info HTTP/1 │
│ 10.42.2.7 - - [03/Aug/2024:12:09:30 +0000] "GET /nix-cache-info HTTP/1.1" 404 153 "-" "curl/8.8.0 Nix/2.18.5" "10.42.2.1"                                                                             │
│ 10.42.2.7 - - [03/Aug/2024:12:09:30 +0000] "PUT /nix-cache-info HTTP/1.1" 405 157 "-" "curl/8.8.0 Nix/2.18.5" "10.42.2.1"    

Any ideas whats wrong? I'm neither an nix nor an nginx expert, so maybe it is something really simple but I cannot figure it out.

[-] [email protected] 10 points 1 year ago

I ported the frontend for https://kellnr.io from vuex to pinia, which makes the code to hold state in the frontend much cleaner.

[-] [email protected] 9 points 1 year ago

I release a new version of https://kellnr.io with some bug fixes and updated Docker images (Ubuntu 24.04 base).

[-] [email protected] 13 points 1 year ago

Or use https://kellnr.io to host your crates. It automatically builds the corresponding docs and hosts them for you. Disclaimer: I'm the author.

[-] [email protected] 97 points 1 year ago

https://tauri.app/ is very popular and does not need electron. It uses the OS native we view.

[-] [email protected] 9 points 1 year ago

The runtime is even called "common language runtime" (clr), as it is intended to support many different languages, which the jvm never was.

[-] [email protected] 12 points 1 year ago

I released https://kellnr.io 5.2.1 with a few smaller fixes and additions.

[-] [email protected] 10 points 1 year ago

If that really works without any drawbacks, I hope it gets merged into Rust main.

[-] [email protected] 11 points 1 year ago

The Windows linker needs a lib file to link a DLL. See here how it's done https://kellnr.io/blog/cross-plat-native-lib

[-] [email protected] 13 points 1 year ago

Good idea. We could try to reach TWIR on Mastodon.

[-] [email protected] 10 points 1 year ago

If a few big names here could possibly help. If someone from the Rust project itself or someone well known from YouTube posts here and engages in discussions, more people would be interested to join.

[-] [email protected] 7 points 1 year ago

I'll try to post more. Maybe cross posting from here to Mastodon helps. I've the impression that the Rust community is more active there.

[-] [email protected] 33 points 1 year ago

I advocate for that since years. We need to normalize to pay for OSS. The biggest issue I see is not that people are unwilling to pay (donate) for the software they use daily, but the the payment itself is to complicated. There is not "the one" app store for OSS that every OS uses that makes donations easy. Additionally taking care of taxes for donations is too much of a burden, so the app store needs to handle that as well. And voila: You have the Apple App store or Android Play store.

view more: next ›

secana

0 post score
0 comment score
joined 2 years ago