<clever>
and you still have the /boot and swap uuid's
<clever>
and will refuse to mount if another hostid has touched the pool
<clever>
zfs needs a per-machine hostid
<clever>
and my method allows you to make a 2nd machine with the same setup, but different uuid's
<clever>
your going to need a new uuid anyways
<clever>
if your configuration.nix is lost, so is your fs :P
<clever>
ToxicFrog: second, with my idea, the only difference configuration.nix contains, is the fs UUID's
<clever>
ToxicFrog: first, you need such hacks to share the configuration.nix between machines :P
<clever>
ToxicFrog: 2 problems with that
<clever>
ToxicFrog: i prefer to instead, keep configuration.nix outside of git, and it just has the bare minimum required to boot, and points to the real config, in git
<clever>
ToxicFrog: but that will fail for nixos-install
<clever>
ToxicFrog: then it becomes relative
<clever>
ToxicFrog: also, you can do ./. + "/${lib.removeSuffix "\n" (builtins.readFile /etc/hostname)}/configuration.nix"
<clever>
ah, nice
<clever>
nhill: because nixpkgs is already loaded by the time its reading that config file
<clever>
nhill: configuration.nix cant configure which nixpkgs you use
<clever>
drakonis: for simple things like /etc/nix/nix.conf, its a symlink to the nix version
<clever>
drakonis: depends on what you want to change, and there are ways of forcing it
<clever>
and totally impure, because i could just update the squashfs with anything i had changed
<clever>
or just not save my changes
<clever>
drakonis: i could then tar up the tmpfs and save it back to the stick at shutdown, or re-squashfs the whole thing
<clever>
drakonis: the entire system was a squashfs on a usb stick, and a custom initrd would copy that to ram, then unionfs it with a tmpfs
<clever>
drakonis: ive done similar with my gentoo laptop, prior to discovering nixos
<clever>
hakujin: so pkgs.path + "/nixos" is the path to the nixos dir
<clever>
hakujin: pkgs.path is the path to the root of the nixpkgs
<clever>
WilliamHamilton: ive found myself editing libGL before just to debug a problem
<clever>
WilliamHamilton: i dont stop when errors happen, and just dive head-first into source ive never seen before :P
<clever>
WilliamHamilton: then i just pointed LIBGL_DRIVERS_PATH to the place where i copied the mesa_noglu.drivers derivation
<clever>
WilliamHamilton: rather then risk dealing with that, i just forced it to software mode, so it never tries to talk to the hardware/xorg
<clever>
WilliamHamilton: there are several issues there, mainly, the api between the xorg half and the application half may have changed
<clever>
where /run/opengl-driver will be missing
<clever>
i was going down that road, because my goal is to make the program work outside of nixos
<clever>
WilliamHamilton: LIBGL_ALWAYS_SOFTWARE and LIBGL_DRIVERS_PATH force it to use the software rendering driver, and to look in a specific place
<clever>
WilliamHamilton: LIBGL_DEBUG helps if libGL can load, but fails to find the local drivers
<clever>
and other related flags
<clever>
you can google most of those var names to find docs
<clever>
WilliamHamilton: and then LIBGL_ALWAYS_SOFTWARE=1 LIBGL_DRIVERS_PATH=$APPROOT/lib/dri/ let you manipulate what libGL does
<clever>
WilliamHamilton: there is also LIBGL_DEBUG=verbose, which makes libGL itself report debug info
<clever>
o just cuts power hard, no sync
<clever>
Dezgeg: ah, b or o, that works great
<clever>
ottidmes: and also find a command that can actually reboot it, reboot and shutdown are too smart, and try to ask systemd, but that isnt around yet
<clever>
ottidmes: you would need to do something like (sleep $((60 * 15)); reboot ; ) & to fork it into the background, then find a way to kill that sub-shell if you change your mind
<clever>
WilliamHamilton: rather, it calls dlopen() to dynamically load it, at runtime
<clever>
WilliamHamilton: its not listed as something it needs
<clever>
WilliamHamilton: `dynamically loaded`
<clever>
WilliamHamilton: libmono-2.0.so.1 is trying to load libSDL2-2.0.so.0, so you have to put SDL into the rpath of libmono
<clever>
2478:file=libSDL2-2.0.so.0 [0]; dynamically loaded by /home/carlo/games/gnomoria/game/lib64/libmono-2.0.so.1 [0]
<clever>
WilliamHamilton: export LD_DEBUG=files, then run it
<clever>
WilliamHamilton: it will tell you who tried to load a given lib
<clever>
WilliamHamilton: set LD_DEBUG=files and then look at the error
<clever>
sphalerite_: dlopen() is weird, and `patchelf --shrink-rpath` removes needed elements sometimes
<clever>
WilliamHamilton: some of them are rather simple, and just blacklist their oposite, lol
<clever>
sphalerite_: the tab-completion in nix repl is weirder
<clever>
i needed to compare 1.12 and 1.11 behaviour
<clever>
sphalerite_: that reminds me, i was jumping between nix-repl and nix repl in the same shell just 2 days ago, lol
<clever>
sphalerite_: it will also then run the bin/switch-to-configuration it just produced, with the flags test/boot/switch
<clever>
sphalerite_: i think that can be shortened to nix-env -p /nix/var/nix/profiles/system --set -f '<nixpkgs/nixos>' -A config.system.build.toplevel
<clever>
etu: relies on having enough ram and/or swap
<clever>
etu: and optionally runs a command when its done building
<clever>
etu: nixos-rebuild is just a giant wrapper around nix-env, that points it to a certain expression
<clever>
etu: i dont think so
<clever>
WilliamHamilton: you probably want to set the rpath with patchelf, rather then touch LD_LIBRARY_PATH
<clever>
etu: the nixos repo is no longer maintained
<clever>
etu: ive memorized where those scripts are...
<clever>
etu: i had to switch my nix-daemon for builtins.fetchTarball to even work, and i havent had any problems so far
<clever>
WilliamHamilton: is LD_LIBRARY_PATH set?
<clever>
since it has to re-build the entire os in a tmpfs
<clever>
sphalerite_: that tmpfs bug is also causing major slowdowns when you want to just make a 2 line change to configuration.nix
<clever>
ertes-w: nix-collect-garbage will delete what it can
<clever>
and libGL also trying to dlopen things
<clever>
sphalerite_: the issue was mostly electron trying to dlopen() a dozen things, so ldd didnt find half the deps
<clever>
sphalerite_: yesterday, i had to debug libGL, inside electron, with the whole thing patchelf'd to a nonstandard location, so i had 3 layers of debug flags to find and enable, lol
<clever>
sphalerite_: LIBGL_ALWAYS_SOFTWARE=1 LIBGL_DRIVERS_PATH=$APPROOT/lib/dri/ and these force libGL to load from a different dir, and to use software rendering
<clever>
sphalerite_: these crank up the debug on both ld.so and libGL
<clever>
and you have to edit wpa_supplicant.conf to get the network up!
<clever>
also, nixos-rebuild will fail if the network is down
<clever>
same
<clever>
mai_at_saturn: you must edit the configuration.nix values that control its generation, and nixos will keep a history of every version you have built, and you can even pick an older version from the bootloader to undo it
<clever>
mai_at_saturn: /etc/sudoers is read-only, nixos doesnt allow you to change it directly
<clever>
and you can also friend other pushbullet users and share to them, like FB
<clever>
its sort of like facebook messenger, but each device is a seperate user
<clever>
i dont think it has full file sharing, but you can share images
<clever>
notification sharing is another thing i use in pushbullet
<clever>
goibhniu: oops, wrong g name
<clever>
genesis: ah, now that starts to get a bit more useful
<clever>
etu: pushbullet does similar
<clever>
neither side delt with nix
<clever>
?, i just installed the chromium extension and android app
<clever>
sphalerite_: pushbullet is an app i use to share links between mobile devices and the browser, and it also has a clipboard sync feature
<clever>
sphalerite_: end result, the nixos machine, that is not involved in teamviewer at all, is mirroring a clipboard on the other side of the continent :P
<clever>
sphalerite_: teamviewer synced the clipboard between the win10 vm, and the guy i was helping over teamviewer
<clever>
sphalerite_: virtualbox synced the clipboard between the win10 vm and the laptop
<clever>
sphalerite_: synergy synced the clipboard between the laptop&desktop
<clever>
sphalerite_: synergy does that for me, and i was surprised at how seamless it was being yesterday
<clever>
genesis: and then you have repos like chromium that are literally a 20gig clone, i dont even want to know how many digits that needs :P
<clever>
genesis: yeah, i need 7 digits to maintain a unique reference in the linux repo
<clever>
for linux, its 0fcc3ab
<clever>
ca548 is the smallest i can make it while still being unique
<clever>
and ca5482604 on another project
<clever>
genesis: and the exact same command returns 0fcc3ab23d73 in a checkout of linux
<clever>
genesis: that command returns 4c4f1c4 in one of my nixos config repo's
<clever>
genesis: i think the git tool itself, will analyze the entire git repo, and pick the shortest prefix that remains unique, plus one or 2 digits
<clever>
so you never have to ssh-add again, it just asks for the passphrase and remembers it for a bit
<clever>
and they can expire and re-lock after a timeout
<clever>
the agent inside gpg, will save the keys you ssh-add long-term, and re-encrypt them via gpg, then actually ask for the passphrase as-needed
<clever>
so you have to manualy ssh-add before use
<clever>
but its too dumb to discover ~/.ssh/id_rsa on its own, and ask for the passphrase on-demand
<clever>
if you just want plain ssh-agent, that should be fine
<clever>
not entirely sure its off though, the signs are muddy
<clever>
now i'm not even sure how/why it works at all, lol
<clever>
makefu: and now that i look closer, i think thats disabled?, and its not even doing anything...
<clever>
dhess: yeah, and you can use that directly, by setting it to the "none" backend
<clever>
catern: you can apply the overrides on a per-host basis
<clever>
catern: so you can pre-test a new nixpkgs on a staging cluster
<clever>
catern: nixops also lets you trivially deploy a second copy of the entire cluster
<clever>
catern: yeah, at some point, you would update the nixpkgs version, and delete some of the overrides
<clever>
catern: in general, i would use an override to upgrade some services, rather then trying to mix things
<clever>
catern: ah, you may want to use packageOverrides to change the versions of the services
<clever>
catern: oops, ^^^
<clever>
chessai: do you mean restarting one machine at a time, or pushing updates out to an already running machine?
<clever>
chessai: and dont tell them :P
<clever>
chessai: just install ubuntu inside virtualbox, and hit the fullscreen button
<clever>
samueldr: lately, the data is in text files with a fixed width, spaces for padding
<clever>
samueldr: the PDF's ive been dealing with are unclaimed property reports
<clever>
samueldr: its a latex monad
<clever>
samueldr: pandoc is the primary way of creating the pdf's, and lately, i have been using HaTeX (a haskell package)
<clever>
samueldr: and if i modify any of the code, nix just re-computes whatever it has to, using the normal dep tree
<clever>
samueldr: and the entire process was started with a single `nix-build`
<clever>
samueldr: ive written a nix expression and some haskell code, that took nearly 600mb worth of PDF files, extracted the data from them into a database, filtered&sorted it, then spit out a PDF file of the results
<clever>
samueldr: i also use nix for pdf generation and data processing
<clever>
samueldr: and ive had the alarm go off 3 times within a 2 hour span
<clever>
samueldr: ive had the alarm clock just not go off one day, because the shifting dodged the set time
<clever>
samueldr: i'm in NB, and if i leave the phone timezone on automatic, it will randomly grab a quebec tower, and shift the clock by an hour
<clever>
samueldr: heh, quebec is so close to me, that it causes issues with my cellphone, lol
<clever>
once_upon_a_nixo: very, i was able to trivially spin up an extra 40 mirrors over a weekend
<clever>
once_upon_a_nixo: i use nixos on all new installs i make, and all of the work systems
<clever>
gchristensen: yeah, lol
<clever>
all of them are in the same $PATH, and conflict