<clever>
why do you think its called chromium-dev-ozone ?
<clever>
that would tell your pc how to build it with wayland maybe
<clever>
depends on if hydra pre-built it with wayland support
<clever>
tabs are evil
<clever>
newlines also work
<clever>
yes
<clever>
matthewcroughan: lists dont use comma on nix
<clever>
the logs from nixos-rebuild will also show the paths it made
<clever>
matthewcroughan: if you build it with nix-build, you can then look at every file it provides
<clever>
matthewcroughan: nix-env can search, but only if its loading the overlay, which requires doing something in ~/.local/nixpkgs/overlays i think
<clever>
v<tab><tab> and s<tab><tab>
<clever>
the binary name may not match the package name
<clever>
matthewcroughan: the example only adds a vnc thing to the systemPackages
<clever>
because you used sudo, it will be root's home, so /root/.nix-channels
<clever>
but `nixos-rebuild --upgrade` will run `nix-channel --update` for you
<clever>
the change doesnt take effect until you run `nix-channel --update` as the same user
<clever>
it writes to ~/.nix-channels
<clever>
yep
<clever>
yep
<clever>
if the build is failing, then the cache would also fail to build it, and be of no use
<clever>
the binary cache only lets you skip building, if the cache already built it in exactly the same way
<clever>
thats not how the cache works
<clever>
and the cache can only help if you use the exact same channel as the cache was built with
<clever>
the cache wont fix any build errors
<clever>
terribleArtist: use .overrideAttrs to set doCheck = false;, examples are in the manual
<clever>
terribleArtist: just use an override against wicd
<clever>
terribleArtist: run `nix-store -q --tree` on the final .drv for nixos, it should be near the bottom of what `nixos-rebuild dry-run` wants to build
<clever>
terribleArtist: and also `nix-store -q --tree`
<clever>
terribleArtist: and nix why-depends
<clever>
terribleArtist: nix-store -qR
<clever>
not sure, it has had problems with spam in the past
<clever>
matthewcroughan: the faq link says how to get just mesa from unstable, but get the rest from your stable channel
<clever>
,unstable matthewcroughan
<clever>
bit busy with other things
<clever>
matthewcroughan: the example usage tells you exactly what to add to configuration.nix
2020-08-04
<clever>
eyJhb: mkMerge and mkIf return a special set, that the module system will post-process at a later point
<clever>
you need to modify something to make it NOT modify PATH, because it nukes everything by default
<clever>
been there, pulled my hair out, lol
<clever>
cizra: read the build file that scons is using
<clever>
if you do `type python` and `type g++`, you should see that they are available
<clever>
cizra: oh right, i have seen scons nuke env vars before, breaking nix builds
<clever>
cizra: are you using nix-shell?
<clever>
fnlaai: all of my experience is with mysql and sqlite, and postgres is just too different
<clever>
Alling: try blowing away /var/lib/postgres and /var/lib/nextcloud again?
<clever>
Alling: not sure, i try to avoid postgres when possible
<clever>
and it will re-make it to fit the new superUser
<clever>
but, if you dont have anything in the db, you can just rm -rf it again
<clever>
thats what the stateVersion stuff is for, so it wont change when you upgrade nixpkgs
<clever>
Alling: changing the superUser will completely break everything in /var/lib/postgresql
<clever>
that hides the option from all docs
<clever>
Alling: oh wait, line 209, internal = true;
<clever>
Alling: what search term did you use?
<clever>
Alling: there is a services.postgresql.superUser option, and the default varies, based on stateVersion
<clever>
frodo: did you also `--option extra-sandbox-paths ''` ?
<clever>
frodo: having all of that junk in the extra-sandbox-paths could easily break your ability to build anything, `--option extra-sandbox-paths ''` would bypass it temporarily
<clever>
frodo: all of the newlines are missing
<clever>
frodo: line 27, your nix.extraOptions is a complete mess
<clever>
matthewcroughan: did you login from a text console?
<clever>
chipb: you can just paste that into your config instead
<clever>
chipb: scan/not-detected.nix literally only does 1 thing, hardware.enableRedistributableFirmware = lib.mkDefault true;
<clever>
matthewcroughan: if you login from a text console, you get different permissions from if you login via ssh, or change user with su/sudo
<clever>
matthewcroughan: polkit and physical terminals come into play
<clever>
chipb: ah yeah, since pkgs depends on imports
<clever>
chipb: pkgs.path returns the path to nixpkgs also
<clever>
kini: there is a grafana monitoring all of that, and reporting alerts to #nixos-dev
<clever>
ive not used sway yet, so i cant help much in that area
<clever>
matthewcroughan: if you set the provider to geoclue2, then it sets services.geoclue2.enable = true;
<clever>
matthewcroughan: if you read the module, youll see why
<clever>
the option isnt called services.redshift.location.provider
<clever>
no
<clever>
location.provider = "geoclue2";
<clever>
not sure that will work
<clever>
and the example didnt include that
<clever>
if you enable redshift, you must tell it where you are located
<clever>
the sway.nix you made, or another sway.nix?
<clever>
matthewcroughan: does it say where its being used?
<clever>
matthewcroughan: there must only be a single imports = [ something ]; in the set
<clever>
2020-08-04 01:33:40 < clever> a set contains multiple key/value pairs, the keys must be unique
<clever>
any time you can have a value, you can also have a `let key = expr; in value`
<clever>
,pills matthewcroughan
<clever>
matthewcroughan: did you read the nix pills?
<clever>
when you do `let a = 42; in a`, the a only exists during the `in a`, and then it stops existing
<clever>
the keys from a let block only exist temporarily
<clever>
`a` wasnt a number, so you cant subtract from it
<clever>
> a
<clever>
> 5 * 10
<clever>
> 42
<clever>
the bot just parses the entire line, and prints the value out
<clever>
because print is causing a side-effect, a functional language can only return a value
<clever>
the expression after the `in`
<clever>
> let a = 42; in a - 10
<clever>
> let a = 42; in a
<clever>
have you read the nix pills yet?
<clever>
that just creates 2 more values, key1 and key2, which the 3rd <expr> can reference
<clever>
let key1=<expr>; key2=<expr>; in <expr>
<clever>
matthewcroughan: if programs.sway.enable is true, then line 109-133 is put into the config key, but if programs.sway.enable is false, you just get config = {};
<clever>
something else (a nixos module) then reads that from the config tree, and acts on it
<clever>
matthewcroughan: the function is just returning a set like { programs.enable.sway = true; }
<clever>
while imperative has <body> being multiple statements, that can have side-effects and not return something
<clever>
the only real difference between functional and imperative, is that functional requires <body> to be an expression returning 1 value
<clever>
c for example: int f(int a, int b) { return a + b; }
<clever>
its the same in imperative languages too
<clever>
args/arg1/arg2 are then in scope, when parsing the <body>
<clever>
or `{ arg1, arg2, ... }: <body>`
<clever>
a function always looks something like `args: <body>`
<clever>
and thats not a number, so it failed to add it with 5
<clever>
you didnt say what c was, so it grabbed this c
<clever>
> c
<clever>
> let f = { a, b }: a + b; in f { b = 1; a = 5; c = 42; }
<clever>
matthewcroughan: when the function gets ran, it expects a set, containing (in my example) a and b
<clever>
> let f = { a, b }: a + b; in f { b = 1; a = 5; }
<clever>
the ... means it ignores any extra args
<clever>
> let f = a: a*10; in f 5
<clever>
nope, both are functions
<clever>
matthewcroughan: that is a single key=value pair, that goes inside a set, the value is a list
<clever>
if you do that, then nixos will merge the sway stuff for you
<clever>
2020-08-04 01:19:30 < clever> matthewcroughan: mostly personal preference, i prefer a seperate file and then `imports = [ ./sway.nix ];` so i can turn that whole thing off with 1 comment
<clever>
a set contains multiple key/value pairs, the keys must be unique
<clever>
> { a=1; b=2; }
<clever>
but the imports key makes it much simpler to merge things
<clever>
a nixos module is almost always in the form of `{ pkgs, config, ... }: { stuff = things; }`
<clever>
matthewcroughan: thats defining a function that takes a set as an argument, and the set must contain a pkgs attribute
<clever>
matthewcroughan: i just read nixos modules
<clever>
daddy_james[m]: when done properly, youll find it in `ls /run/current-system/firmware/`
<clever>
and you can also reuse it on other machines more easily
<clever>
matthewcroughan: mostly personal preference, i prefer a seperate file and then `imports = [ ./sway.nix ];` so i can turn that whole thing off with 1 comment
<clever>
also called imperative in some contexts
<clever>
mutable users will persist until you disable mutable users in configuration.nix
<clever>
matthewcroughan: doesnt look like a channel to me
<clever>
matthewcroughan: hydra is more about just pre-building packages, nixops is for building a specific configuration.nix and then deploying it to hw
<clever>
that lets you trivially build on one machine, then run on another
<clever>
matthewcroughan: ive used nixops to deploy nixos to an eeepc 701 netbook
<clever>
rewrite it in haskell? :D
<clever>
but its not aware of / being part of tank-root via zfs
<clever>
infinisil: lsblk clearly shows that my tank-root is part of an lvm block on root, which is a luks block
<clever>
infinisil: i think its using lsblk to track things thru the lvm and luks blocks
<clever>
matthewcroughan: what did you set it to in each file?
<clever>
ornxka: and nixos-install itself, just runs nixos-enter to run things in /mnt/
<clever>
lejonet: overlays also let you specify multiple, in different nixos modules, and they chain together sanely
<clever>
lejonet: overlays let you easily access super (the previous pkgs tree) and self (the final, after applying every overlay)
<clever>
lejonet: id recomend always using overlays
<clever>
but now you can try building that one
<clever>
yep, because you changed zfs-user in a different way
<clever>
lejonet: this will apply your sudo override, and force zfs to not depend on sudo, then you can use -A to pick any package, and see what the effect is
<clever>
the blog has since vanished from the internet
<clever>
then used that to make an assembler with symbol and back-reference support
<clever>
and then used that to make an assembler that lacked symbol support
<clever>
he picked opcodes that could be represented with ascii, to write a hex editor
<clever>
christianbundy: it is of interest to me, i saw a blog once, where a crazy guy bootstraped from a text editor, not even a hex editor
<clever>
i think for that, you would want to look at the git history, and ask the people who are working on this part of the code, i see matthewbauer and gchristensen have made changes to it recently
<clever>
(and all other binaries)
<clever>
and 28 will then use the unpatched patchelf to patchelf patchelf!
<clever>
line 22 will use the runtime linker as an interpreter, to run an unpactched cp, to copy patchelf
<clever>
lines 9-18 find the runtime linker
<clever>
because all of the bootstrap-tools are expecting libraries in a certain dir, and wont function when you unpack them to the wrong place
<clever>
this shell script gets ran by busybox, and its job is to redo the patchelf on the bootstrap-tools