sntx

@sntx@lemm.ee
2 Post – 49 Comments
Joined 1 years ago

Unfortunately time does not care about people

You're playing Devils Advocate, and you probaly know it xD

Anyway, I prefer NixOS for it's declarativity, reproducibility and immutability.

Example: You want nginx with acme setup? Just tell it to, and NixOS will figure out the steps to reach the desired state.

6 more...

What would you tell a direct ancestor of yourself, living in the year 2024?

  • NixOS
    • disko + nixos-anywhere (automatic partitioning & remote installation of new systems)
    • stylix (system-wide theming)
    • agenix (secret management)
    • impermanence (managing persistent data)
    • nixos containers for sandboxing applications & services (using systemd-nspawn)
  • TMPFS as /
  • LUKS
    • BTRFS as /nix (might try bcachefs)
    • SWAP partition (= RAM size, to susbend to disk)
  • Greetd with TUIgreet (DM)
  • SwayFX (WM)
  • Kitty & foot (term)
  • Nushell (shell)
  • Helix (editor)
  • Firefox (browser)
  • slackhq/nebula (c.f. self-hosted tailscale, connecting my systems beyond double NATs)

EDIT1: fix "DE" -> "DM"

8 more...

Nix has an open issue on integrating IPFS support.

There's also an old tutorial.

Forgetting time, space and everything else while I write code.

Not that I've almost set the kitchen on fire before by forgetting the pizza in the oven while writing "this one little function".

2 more...

I use a reproducible, declarative and reliable system btw.

I also use flakes btw.

Fork the parent and orphan the child, isolate it's environment and kill it as well, once everything conpleted.

You sound like the devil trying to trick me out of my souls posession.

Total amount of Energy consumed

Trivium - Vengeance Falls

Nushell

I've recently switched over to NixOS in gradual rollouts to my systems:

Stage 0 (~2h):

  • Installed NixOS with Gnome on my Laptop for testing an getting a feel for it (I prefer testing on bare-metal initially)
  • Tweaked it a bit via the config: removed gnome apps that came with the preset, installed all programs I needed and tested them

Stage 1 (~3d):

  • Installed NixOS minimal on my primary system
  • Set up sway according to the wiki
  • Bodged together something similar to my previous arch setup, mostly my linking old config files with nix to programs installed with nix

Stage 2 (~4d):

  • Moved all configs I could from my linked config files to the nix module declarations
  • Seperated config file into files ordered as like config-tree
  • Achieved a similar working state to my previous arch install
  • Moved channel from 22.11 to unstable (rolling release)

Stage 3 (~7d):

  • Set up home-manager
  • Finally moved all config declarations into nix modules, no non-nix files left in my config
  • Also copied the config to my laptop, a single activation and I switched from gnome to sway without any problems

Stage 4 (~21d):

  • Looked at a bunch of other peoples system configs
  • Recreated everything as a flake, similar to dunklecat's config from sourcehut
  • Applied the config to my primay system and laptop
  • Wrote a bunch more config modules

Stage 4.5:

  • Wrote some tools to make moving around nix easier for me, but mostly to get accustomed to the ecosystem

Stage 5 (~6d):

  • Created and applied further system configs for a hetzner server & VMs

Stage 6 (tbd):

  • Refining my config
  • Adding further modules

Edit 1 (added personal experience): I'm a computer science student and have been using *nix as a daily driver for half a decade, my previous daily driver was arch for about two years. I spend ~1000h/y coding on non-University or Work related projects. I'm at a point where I can typically pick up a the basics of a new language in two to three weeks and write simple programs with it -> library/specific knowledge comes with usage.

1 more...

After that, add Omniscience

4 more...

Dependency Hell, begone

Easy and fearless updates

My system configuration can be found on git.sr.ht/~sntx/flake. I've linked the file tree pinned to the version 0.1.1 of my config, since I'm currrently restructuring the entire config[^1] as the current tree is non-optimal[^2].

The documentation in the README in combination with the files should cover most of what I've described, with the following exception: disko is not present to the repo yet, since I've set it up with a forked version of my config and the merge depends on finishing the restructuring of my system configuration.

  • You can take a look at these (non-declarative) installation steps to get an idea on how TMPFS as root can be setup
  • If you're interested, I can also DM you the disko expression for it

[^1]: The goal is to provide definitions for desktops, user-packages, system-packages, themes and users. Each system can then enable a set of users, which in turn have their own desktop, user-packages and theme. A system can also enable system-packages for itself, independent of users. If a user is enabled that has a desktop set, the system will need to have display-manager set as well, which should launch the users configured desktop.

[^2]: The current config assumes a primary user, and can only configure a single DE and apply the application/service configs only to that user.

3 more...

Note to self: Write a fictional story featuring me at some point.

inifinity + 1 = infinity

Try ℵ₁ wishes!

A massage - back, shoulders and neck

Nice! I love trying out new tools. This one seems straightfoward to use.

  1. Violet Evergarden
  2. Tensei Shitara Slime Datta Ken
  3. Overlord
  4. Code Geass

There are also these two blog posts by elis on setting up tmpfs specifically. Though these posts rather are setup guides, than "talking about the philosophy" of systems design.

Two people meet, one doesn't come

Single command to compile & install packages from many git repos

Does it support the ability to act like the sort command, though switching to a different term "buffer", sorting visually with a defined (i.e. through config file) speed, and then returning the sorted entries to stdout?

Please tell ^^

+ Impermanence

That's a nice album!

Can turn basically any distro into nixos in minutes

That's the setup!

Though I prefer the mix of flac/opus.

There are scripts for yt-dlp out there that allow you to automatically download an entire artists discography (yt), which I recommend if it's legal in your country.

Reproducible

^ This

Nix(OS)'s biggest killer feature for me is that I never had to update, wait for updates or fix updates after setting up the modules properly and getting CI set up for my git repo -> all systems are build before the update is rolled out, if the build fails, the update won't be rolled out. Systems decide for themselves when to update and how they should handle them (i.e. server vs. desktop).

That goes for all my systems: Laptop, PC, Servers and VMs

Behaviour adoption?

I'd fall off my displaced chair and have my left kneecap stuck in the drawers. I guess I'd die if that merge of my knee with the drawer would result in fusion.

I think Jumuta is referring to LibreWolf, a fork of Firefox with some hardening pre-applied. I use it on machines on which I don't want to spend time configuring my browser.

Everything will be LISP in the future

I'm suprised nobody mentioned nebula: A scalable overlay networking tool with a focus on performance, simplicity and security.

I've been running it for about two years on multiple machines and it worked flawlessly so far. Even connecting two hosts, both behind mullvad-vpn tunnels.

The only downside is, that you have to host your own discovery server (callled "lighthouses"). One is fine, but running at least two removes the single point of failure from the network.