<clever>
freeman42x: so you can either force change the version of something, or add missing things
<clever>
freeman42x: cabal.project lets you point cabal towards any package, in hackage or not
<clever>
(even when in docker fake root)
<clever>
the biggest problem i ran into, is that postgresql refuses to even start, if its ran as "root"
<clever>
notgne2: its basically an example of how to make linux boot directly into a single haskell binary, with no OS above it
<clever>
notgne2: this is a single haskell binary, and some nix code to compile it (with muslc), jam it into an initrd (at /init), and then run it with qemu+linux
<clever>
astrall33: ive done that recently, but getting the nixos services to run in docker is tricky
<clever>
fuzen: zfs will (by default) use no more then 50% of the ram, and it will dynamically use much less (as low as ~5mb) if it detects things wanting more
<clever>
fuzen: and zfs will then prompt on bootup
<clever>
sondr3: for most of my stuff, i just host it out of my router or nas, lol
<clever>
sondr3: you can also use kexec to force nixos onto any hardware, so you could just reinstall over your existing server
<clever>
sondr3: packet.net has support to install nixos on dedicated hardware
<clever>
sondr3: aws allows anybody to make disk images public, so there are pre-made images with nixos you can select from
<clever>
fuzen: id say just ditch lvm, and use zfs to span multiple disks, you can do zfs on luks, or zfs native crypti
<clever>
fuzen: that will be difficult to support...
<clever>
fuzen: ah, there is no boot.luks, so all luks devices get opened in the initrd
<clever>
fuzen: for /home, it normally gets mounted by systemd, after / is mounted, so the keyFile paths can be relative to /, and you can use the boot.luks, rather then boot.initrd.luks
<clever>
fuzen: if you set preLVM, then the initrd will open the luks device before it tries to search for LVM devices
<clever>
interesting, `tput bel` beeps, but tab doesnt
<clever>
after that, i think its up to the X server, to map that event to the hardware
<clever>
i got that when i loaded it
<clever>
[529204.880242] input: PC Speaker as /devices/platform/pcspkr/input/input32
<clever>
evils: anything in dmesg?
<clever>
The set of kernel modules to be loaded in the second stage of the boot process. Note that modules that are needed to mount the root file system should be added to boot.initrd.availableKernelModules or boot.initrd.kernelModules.
<clever>
boot.kernelModules
<clever>
evils: holy crap, that works, and actually comes from the motherboard speaker!
<clever>
if i had headphones on, and hit tab at the wrong time, i practically leaped out of my chair
<clever>
but its better then it was before, the older machines have an ear-splitting bel noise, with no volume adjustment
<clever>
evils: thats been bothering me for years, bel character just doesnt work
<clever>
i dont bother with locking on the desktop, i literally sleep beside it :P
<clever>
synergy is also messing with things
<clever>
not sure why, but forcing it off breaks the sleep sometimes, and then it never goes off by itself
<clever>
i tend to be doing the reverse, `xset dpms force off` to turn the screen off at night
<clever>
evils: ah, then run xscreensaver-config or something, and adjust cfg
<clever>
evils: if you run `xset q`, you can see the current config, and other xset flags can change it
<clever>
kindaro: and the glibc used by it may not even be compatible
<clever>
kindaro: not easily, the compilers nix generates, are configured to never look in places like /usr/lib/
<clever>
kindaro: your probably going to have better luck if your testing it in nixos, even if it was inside a vm
<clever>
kindaro: opengl stuff doesnt always work outside of nixos, due to complications of how opengl itself works
<clever>
infinisil: ahh
<clever>
,nixgl kindaro
<clever>
infinisil: why is an a after a z? lol
<clever>
,2
<clever>
infinisil: at least sort things!!!
<clever>
,1
<clever>
,
<clever>
kindaro: are you on nixos?
<clever>
kindaro: does /run/opengl-driver exist? which nixpkgs rev are you on?
<clever>
kindaro: i can clearly see it opening gpu specific files, so that half of things is working
<clever>
X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 1 (X_CreateWindow)
<clever>
*looks*
<clever>
kindaro: can you pastebin the haskell code your trying to build?
<clever>
kindaro: you need a lot of dynamic libraries, to deal with driver stuff
<clever>
kindaro: i dont think opengl stuff is really going to work in a static binary
<clever>
,locate pinentry-gnome3
<clever>
peanutbutter144: you likely need to install it first
<clever>
peanutbutter144: then gnupg wont find it either
<clever>
peanutbutter144: does `which pinentry-gnome3` find it?
<clever>
then create it with ln
<clever>
ls -lh should show exactly what i gave above
<clever>
mishac: you need to symlink to default
<clever>
mishac: ln will create it
<clever>
mishac: you should just symlink .nix-profile to the dir
<clever>
mishac: what are the contents?
<clever>
mishac: yeah, after you nix-env -i /nix/store/something-nix
<clever>
mishac: make-system-tarball.nix auto-generates a hydra-build-products file, so if you build it on hydra, you get a link to the tar, right on hyra
<clever>
its got more function prolog to deal with, but the relative calls could still be predicted the same way
<clever>
hmmmm, but maybe the existing AST nodes and virtual eval functions, already form the exact same kind of structure this guy was forcing?....
<clever>
nix isnt a bytecode, so you cant just blindly apply this to it!
<clever>
astrall33: now i'm stuck trying to figure out how to use this in nix, lol
<clever>
otherwise, its identical code
<clever>
the code that was shared at the top of a switch-case block, just got cut&pasted into the `break;` at the end of each case block
<clever>
this is more of a loop unrolling thing, then a major redesign
<clever>
astrall33: you should still of course validate all input :P
<clever>
so if A is followed by B 100% of the time, the branch prediction can get it right
<clever>
astrall33: so the cpu can predict, based on what the previous opcode was
<clever>
astrall33: but with goto*, you have one jmp, at the end of each opcode
<clever>
astrall33: without goto*, the entire switch/case share a single jmp in assembly, so the cpu has to predict based on how often a single opcode occurs in the emulated language
<clever>
astrall33: and the cpu will predict where a given jmp will go, based on where it has gone before
<clever>
astrall33: the trick, is that you have index relative jumps, via jump tables
<clever>
mishac: then create a group, nixbld, and add all users to it
<clever>
mishac: create an array of users, nixbld1, nixbld2 .... up to some number of your choosing
<clever>
so you need goto label to be able to force the compiler to generate the fast code
<clever>
but the compiler doesnt generate such assembly
<clever>
and its more a matter of the assembly is easy to write to be even faster
<clever>
astrall33: in the example he found, switch/case blocks, that involve bytecode interpreting, is the major benefit
<clever>
label:
<clever>
goto* label;
<clever>
void *foo = &&label;
<clever>
and then goto that pointer
<clever>
astrall33: basically, you can put a label into a pointer
<clever>
kindaro: either `nix-shell -p glibc.static` or ....
<clever>
astrall33: ah, i missed a meta
<clever>
> haskellPackages.aeson.meta.description
<clever>
kindaro: but you may want the muslc cross-compiler, which needs -E instead
<clever>
kindaro: nix-shell -p dynamically generates a stdenv.mkDerivation, and shoves all arguments into the buildInputs
<clever>
> haskellPackages.aeson.description
<clever>
so you dont really need to search
<clever>
astrall33: also, nixpkgs has every single package on hackage, and with the same names
<clever>
astrall33: i just tab-complete haskellPackages. under `nix repl '<nixpkgs>'`
<clever>
astrall33: next, id think you should check the source for `nix search` to see what its doing
<clever>
error: no results for the given search term(s)!
<clever>
trace: warning: Public updates for Oracle Java SE 8 released after January 2019 will not be available for business, commercial or production use without a commercial license. See https://java.com/en/download/release_notice.jsp for more information.
<clever>
outa ideas then
<clever>
`nix search -u firefox` ?
<clever>
try `nix search -u` again?
<clever>
that should be working...
<clever>
is this on nixos, or another distro?
<clever>
thatll do it!
<clever>
astrall33: what about echo $NIX_PATH
<clever>
ah, so that part is working
<clever>
astrall33: did you do mkdir on that path?
<clever>
astrall33: it should be a symlink to this