<matthewbauer>
nh2: i'm under the impression that static glibc is kind of buggy though
NickSeagull has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sam_d has quit [Ping timeout: 246 seconds]
<nh2[m]>
matthewbauer: Yes, I have musl based build of the package right next to it, but wanted to write both so I know how to do it. From my experience the biggest glibc static bugginess appears when networking is involved, due to NSS (but kexec shouldn't do that). I will try using makeStaticBinaries here.
<nh2[m]>
matthewbauer: but why does libc have to be in buildInputs here? I always understood buildInputs as something that will be there at run time; but if I statically link an exe, shouldn't it have 0 run-time dependencies?
<matthewbauer>
nh2: yeah perhaps it has improved since they got competition from musl
<matthewbauer>
nh2: well the symbols will be there at runtime. if you were cross compiling to for example ARM, you wouldn't want x86 symbols in your ARM binary
tboston_ has quit [Ping timeout: 250 seconds]
<matthewbauer>
nh2: in the same way, you want to get the static symbols of libc in your static binary, not the dynamically linked one. this kind of is less clear with static though
mabel has quit [Remote host closed the connection]
n0qqe has joined #nixos
noqqe has quit [Ping timeout: 276 seconds]
n0qqe is now known as noqqe
hlolli has quit [Remote host closed the connection]
fusion809 has joined #nixos
<nh2>
matthewbauer: OK, I think I understand now (25 minutes later). I think the nixpkgs manual sections on dependencies and cross-compilation, while detailed now, would really benefit from some real-world examples
shabius_ has joined #nixos
shabius has quit [Ping timeout: 258 seconds]
hio has quit [Quit: Connection closed for inactivity]
<nh2>
clever: do you know whether the special kexec flags like --reset-vga apply to kexec -l or kexec -e? If the latter, how to I make that `systemctl kexec` uses them?
tboston_ has quit [Ping timeout: 255 seconds]
Supersonic112 has joined #nixos
Supersonic has quit [Disconnected by services]
Supersonic112 is now known as Supersonic
<nh2>
clever: ah, seems to be `-l`, via my_load() -> update_purgatory() -> arch_update_purgatory()
mabel has joined #nixos
work_ has joined #nixos
nD5Xjz has quit [Ping timeout: 246 seconds]
nD5Xjz has joined #nixos
<{^_^}>
[nixpkgs] @Gonzih opened pull request #60300 → gorun: Init at master-85cd5f5e084af0863ed0c3f18c00e64526d1b899 → https://git.io/fjsxu
<kaliumxyz>
so, I need some advice, I found out that the official package of yubikey personalisation doesn't include the udev rules for every yubikey they produce. Their tooling relies on you installing it yourself in this case, however the nix package manager doesn't do this as it uses the udev rules provided.
work_ has quit [Quit: Connection closed for inactivity]
<kaliumxyz>
Should this be amanded on yubico their side?
<kaliumxyz>
admended*
<kaliumxyz>
ah I see, nvm they don't support it officially with the tool they deliver these rules with.
<kaliumxyz>
This should be on the nixos wiki on yubikey.
slack1256 has quit [Remote host closed the connection]
<domenkozar[m]>
gchristensen: do you also get wifi issues on kernel 4.19? I've found out there are kernel crashes and a bug with ath driver when it goes to sleep :/
pointfourone has joined #nixos
justanotheruser has quit [Ping timeout: 250 seconds]
<{^_^}>
[nixpkgs] @FRidh pushed commit from @volth to master « qemu: fix cross (#60261) »: https://git.io/fjsjF
<makefu>
however i can "revive" the wifi adapter by running echo 1 | sudo tee /sys/bus/pci/devices/0000:03:00.0/remove; sleep 3 ;echo 1 | sudo tee /sys/bus/pci/rescan
domogled has quit [Ping timeout: 276 seconds]
pointfourone has quit [Remote host closed the connection]
<{^_^}>
[nixpkgs] @elseym opened pull request #60309 → documize-module: refactor and add more options → https://git.io/fjGvG
ardumont has joined #nixos
monotux has quit [Quit: WeeChat 2.4]
ferriswheel has quit [Remote host closed the connection]
ferriswheel has joined #nixos
monotux has joined #nixos
domogled has quit [Quit: domogled]
ThatOtherGuy has quit [Max SendQ exceeded]
zupo has joined #nixos
<makefu>
domenkozar[m]: i also had no issues with 4.14 until i upgraded
LogicAside has joined #nixos
<makefu>
my stack trace starts with ieee80211_do_stop+0x4ef/0x810 [mac80211]
linarcx has quit [Quit: WeeChat 2.4]
linarcx has joined #nixos
kleisli has quit [Ping timeout: 255 seconds]
ferriswheel has quit [Remote host closed the connection]
ferriswheel has joined #nixos
<andi->
At least you have a stack trace.. Some time last year my Intel network card stopped being able to receive properly from random access points :/
<JaakkoLuttinen[m>
How can I filter nixpkgs commits which are nixos-unstable eligible?
<tilpner>
What do you mean by eligible?
<JaakkoLuttinen[m>
I'd like to do some git bisecting but I need to avoid commits that aren't built to nixpkgs binary cache because I have no time and disk space to build them
<JaakkoLuttinen[m>
tilpner: Commits that pass the requirements so that nixos-unstable branch can move forward to that commit and the commit is built in hydra(?)
<JaakkoLuttinen[m>
Or whatever is a good way to find commits which I can use without needing to build Qt and other stuff myself..
<tilpner>
Oh, that's not going to be fun
<tilpner>
No idea how to automate that without scripting it yourself
<{^_^}>
[nixpkgs] @aszlig pushed to master « nixos: Fix build of manual »: https://git.io/fjGfI
<JaakkoLuttinen[m>
tilpner: Automate which one: Finding commits that are in binary cache or doing the git bisecting?
<JaakkoLuttinen[m>
I can manually choose commits and test them, but I want to use only binary-cache-available commits
<tilpner>
I know git can automate the bisecting, and I know how to tell if a commit has sufficient coverage
<m0rphism>
I'm trying to install NixOS on a thinkpad X250 using Grub 2 on UEFI and with luksencrypted root and swap partitions. When I reboot after `nixos-install`, it doesn't boot. I'm getting in the boot menu where I can select my harddrive, but if I select it the screen flashes and the boot menu reappears. Any ideas what might be the issue or how I can debug this?
orivej has quit [Ping timeout: 246 seconds]
<tilpner>
But I'm not currently aware of a simple way to combine the two
<JaakkoLuttinen[m>
tilpner: I don't need automation of git bisecting. I just want to filter the commits.
Glider_IRC_ has joined #nixos
<m0rphism>
I'm using the graphical 19.03 installer from an USB stick.
<JaakkoLuttinen[m>
That is, I'd like to see a list of consecutive commits that are in binary cache
<lassulus>
m0rphism: maybe you need to add something like: boot.initrd.luks.devices.crypted.device = "/dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d";
wfranzini has quit [Remote host closed the connection]
wfranzini has joined #nixos
<lassulus>
m0rphism: wait do you even get into the grub menu?
<m0rphism>
lassulus: nope, I think I only get to the device selection prior to the grub menu
Glider_IRC has quit [Ping timeout: 246 seconds]
gagbo has joined #nixos
<lassulus>
m0rphism: have you enabled efi support for grub? (boot.loader.grub.efiSupport) is your boot partition formatted in fat and has the EF00 partition type?
<m0rphism>
lassulus: efiSupport is enabled and boot partition is formatted with fat, I'll check regarding the EF00 partition type, 1sec...
<m0rphism>
lassulus: I'm not sure how to check that, I've created the partition with `parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB` and `cfdisk` says the type is `Microsoft basic data`
<lassulus>
m0rphism: is it formatted with gpt or dos?
nD5Xjz has quit [Ping timeout: 246 seconds]
<m0rphism>
lassulus: I've used `parted /dev/sda -- mklabel gpt`
<lassulus>
fdisk -l /dev/sda should show some infos
nD5Xjz has joined #nixos
<m0rphism>
lassulus: Oh, but I think I've missed `parted /dev/sda -- set 3 boot on`. Sorry, I'll retry and report back.
<lassulus>
I'm not sure that's needed, but maybe enabling boot.loader.efi.canTouchEfiVariables could help
<m0rphism>
lassulus: already enabled, but thanks!
<m0rphism>
lassulus: hmm, same problem with enabled boot flag :(
<m0rphism>
lassulus: `fdisk -l` give the type `EFI System`
<lassulus>
hmm, I have the same here
<avn>
m0rphism: sometimes, you can't install efi variables (in eeprom) if your os booted in non-efi mode
nD5Xjz_ has joined #nixos
nD5Xjz has quit [Ping timeout: 246 seconds]
wucke13 has joined #nixos
<{^_^}>
[nixpkgs] @kevingriffin opened pull request #60316 → 1password: Update SHA256 for Darwin and Linux 386 → https://git.io/fjGfX
ardumont has quit [Ping timeout: 245 seconds]
<m0rphism>
avn: thanks, both uefi and legacy-boot support was enabled, so maybe it chose the latter as it was sufficient to boot the nixos installer from usb stick. I'll try again with forced uefi
<wucke13>
Why does installPhase = '' something something else ${script}''; yield an cannot coerce a function to a string? script itself is made by writeScript from trivial builders.
ferriswheel has quit [Remote host closed the connection]
ferriswheel has joined #nixos
<avn>
m0rphism: you can put file to proper place manually, then use bios selector to "guess" proper loader (once you booted in uefi, you be able to reinstall bootloader correcly with proper name)
<avn>
(or just use legacy grub, after years I feel legacy is more predictable)
<jasongrossman>
avn++
<{^_^}>
avn's karma got increased to 2
<avn>
I put some hopes, that grub-efi be able to read config with boot path from EFI, but it isn't. So if something changes, you need to boot from media, and re-install loader anyway (because boot path hardwired to binary)
<wucke13>
avn: Does nixos support directly booting the kernel? In theory, on uefi entry may be made for each generation, and then the bootload menu from the bios can be used to directly boot the kernel. I did something like that (minus generations) a while back with another distro.
<m0rphism>
avn: Hah! I think booting with legacy-bios was the problem, indeed!
iceypoi has quit [Quit: WeeChat 2.4]
<m0rphism>
Thanks for the support! avn++ lassulus++
<{^_^}>
avn's karma got increased to 3, lassulus's karma got increased to 2
<avn>
fedora/arch wiki notes that grub able to read config from EFI, so is a things to overthink.
<m0rphism>
After switching to UEFI-only grub was installed and recognized correctly.
<avn>
personally I'd like to have /efi with grub.efi, and minimal config, chainloading to main config from nixos partition/pool/dataset (to don't bother EFI fat when grub not really needed to be updated, and keep it in readonly mount)
nD5Xjz_ has quit [Ping timeout: 244 seconds]
m0rphism has quit [Ping timeout: 246 seconds]
nD5Xjz has joined #nixos
pointfourone has joined #nixos
pointfourone has quit [Remote host closed the connection]
<alj[m]>
Hey everyone! :) Has anyone gotten the ODROID-C1 to boot nixos? i can only find instructions for the C2 which dont work for me it seems
alex``6 has joined #nixos
alex`` has quit [Ping timeout: 245 seconds]
<gchristensen>
ehh 32 bit
<gchristensen>
alj[m]: we don't really have good support for 32 bit ARM, but check out #nixos-aarch64 who has several people who have probably done it anyway :)
<srid>
throws: error: value is a function while a set was expected
<srid>
But `haskell.packages.ghc864.developPackage { root = ./.; }` runs successfully in nix-repl. Weird
Jetien has quit [Ping timeout: 245 seconds]
mconstant has joined #nixos
<infinisil>
It's import <nixpkgs> {}
<srid>
Oops. Just curious; what's the difference?
<MichaelRaskin>
Extra {} argument
<srid>
Yea, but why did the lack of it did not work?
<MichaelRaskin>
This is an empty attrset passed to the function defined in <nixpkgs>
<infinisil>
nixpkgs defines a function in it's top-level definition
<srid>
Ah. so `import <nixpkgs>` returns an expression, which is that top-level definition (function), and you call that function using `{ }` as argument?
<srid>
I thought `{ }` was part of the `import` expression syntax.
<mdash>
srid: that's correct
<{^_^}>
[nixpkgs] @marsam opened pull request #60321 → terra: fix darwin build → https://git.io/fjGUK
domogled has joined #nixos
linarcx has quit [Ping timeout: 258 seconds]
domogled has quit [Ping timeout: 250 seconds]
<infinisil>
srid: And to remove even more magic, "import" is not special, it's just a function
<infinisil>
> import
<{^_^}>
<PRIMOP-APP>
<infinisil>
> builtins.typeOf import
<{^_^}>
"lambda"
<infinisil>
So you could even do `let florp = import; in florp <nixpkgs> {}`
Shouou has quit [Ping timeout: 258 seconds]
<{^_^}>
[nixpkgs] @veprbl pushed commit from @LinArcX to master « nahid-fonts: init at v0.3.0 »: https://git.io/fjGUA
fendor_ has quit [Remote host closed the connection]
fendor has quit [Read error: Connection reset by peer]
Shouou has joined #nixos
wreckingwalla has joined #nixos
grumble has quit [Quit: Well, would you look at the time. I've almost missed my ambiguous, non-existent appointment that I have scheduled just when I start to lose interest in my current conversation.]
<nh2>
clever: do you know some tricks with kexec-related power management? When I try to reboot from a kernel started via PlopKexec, I get `hub 4-0:1:0: hub_ext_port_status failed (err = -110)` and the device cannot power off
ayerhart has quit [Quit: ayerhart]
grumble has joined #nixos
<clever>
nh2: havent seen that before
ayerhart has joined #nixos
<nh2>
If I let PlopKexec do the kexec, with same kernel binary and same kexec binary, then this problem appears.
<nh2>
clever: it is really really odd btw: If I kexec myself from NixOS, poweroff works afterwards.
<clever>
weird
<{^_^}>
[nixpkgs] @risicle opened pull request #60323 → pythonPackages.asana: 0.7.1 -> 0.8.2, disable for py3.7 → https://git.io/fjGT0
ayerhart has quit [Remote host closed the connection]
<GiGa>
Anyone else use a CMedia USB headset and find it clips while listening to music
<GiGa>
?
<nh2>
clever: are you familiar with the things that one must do to cleanly kexec? E.g. `systemctl kexec` seems to do various things before doing `kexec -e`. Perhaps PlopKexec doesn't do some of those
sphalerite has quit [Quit: reboot time!]
mabel has quit [Ping timeout: 250 seconds]
<clever>
nh2: previously, i just used kexec -e, and i didnt plan on running the entire system from that env
<{^_^}>
[nixpkgs] @risicle opened pull request #60326 → pythonPackages.fastpair: force use of pytest_3 → https://git.io/fjGT5
<gchristensen>
carnix is sometimes such a mystery
sphalerite has quit [Quit: WeeChat 2.2]
bvdw6 has quit [Quit: bvdw6]
bvdw has joined #nixos
tdbgamer has joined #nixos
bvdw has quit [Client Quit]
bvdw6 has joined #nixos
bvdw6 has quit [Client Quit]
bvdw has joined #nixos
bvdw has quit [Client Quit]
jasongrossman has quit [Ping timeout: 258 seconds]
bvdw has joined #nixos
ee1943 has quit [Ping timeout: 276 seconds]
sphalerite has joined #nixos
ee1943 has joined #nixos
<alj[m]>
I'm specifying certian package versions inside default.nix for nix-shell but I'm getting system installed packages or ones with wrong versions.
<{^_^}>
[nixos-homepage] @domenkozar pushed to domenkozar-patch-1 « Grant google search console access »: https://git.io/fjGkw
<{^_^}>
[nixos-homepage] @domenkozar opened pull request #272 → Grant google search console access → https://git.io/fjGkr
<{^_^}>
[nixos-homepage] @grahamc merged pull request #272 → Grant google search console access → https://git.io/fjGkr
<{^_^}>
[nixos-homepage] @grahamc pushed 2 commits to master: https://git.io/fjGkK
<{^_^}>
[nixos-homepage] @grahamc pushed 0 commits to domenkozar-patch-1: https://git.io/fjGk6
Jetien has quit [Ping timeout: 250 seconds]
shibboleth has joined #nixos
Jetien has joined #nixos
wfranzini has quit [Remote host closed the connection]
__monty__ has joined #nixos
wfranzini has joined #nixos
ricekrispie has joined #nixos
tboston_ has quit [Ping timeout: 250 seconds]
ricekrispie2 has quit [Ping timeout: 245 seconds]
ayerhart has quit [Read error: Connection reset by peer]
<{^_^}>
[nixpkgs] @stefano-m opened pull request #60329 → awesome: refactor LUA_PATH env var and don't expose it at runtime → https://git.io/fjGk9
<{^_^}>
[nixpkgs] @andir opened pull request #60330 → bind: apply atomics to refcount patch → https://git.io/fjGkd
Jetien has quit [Ping timeout: 245 seconds]
{^_^} has quit [Remote host closed the connection]
npmccallum has joined #nixos
ayerhart has joined #nixos
domogled has quit [Ping timeout: 246 seconds]
ayerhart has quit [Remote host closed the connection]
<Copenhagen_Bram>
Hi! I have Nix installed on a foreign distro, namely Debian Stretch, and I've used it to install nicotine-plus and hyperrogue, but neither will run. Here is a paste of the error messages from these programs: https://dpaste.com/2WP684J
ayerhart has joined #nixos
<symphorien>
Copenhagen_Bram: try nicotine with export LC_ALL=C
<symphorien>
and opengl apps will not run on non NixOS without special care
<AlexRice[m]>
just to check before I break my computer, if I run nixos-install on an already installed system will it just update the hardware configuration file
<gchristensen>
it won't even do that unless you run nixos-generate-config
<gchristensen>
nixos-install is idempotent
<AlexRice[m]>
ah I think I meant nixos-generate-config
<gchristensen>
right, it'll only update thath file
<AlexRice[m]>
thanks
ferriswheel has quit [Remote host closed the connection]
ferriswheel has joined #nixos
<gchristensen>
gladly! :)
anpryl has quit [Ping timeout: 258 seconds]
justanotheruser has joined #nixos
tboston_ has joined #nixos
o1lo01ol1o has joined #nixos
o1lo01ol1o has quit [Ping timeout: 246 seconds]
alex``65 has joined #nixos
alex``6 has quit [Ping timeout: 245 seconds]
srid has quit [Ping timeout: 246 seconds]
sridii has quit [Ping timeout: 258 seconds]
<{^_^}>
[nixpkgs] @azazel75 opened pull request #60333 → grafana_reporter: Fix library function name → https://git.io/fjGLU
<{^_^}>
[nixpkgs] @srhb merged pull request #60197 → nixos/gitea: Don't include not needed database options depending on type → https://git.io/fjsZd
<clever>
gchristensen: that wont help if you decide to build something on X, but Y has a copy already built
<gchristensen>
symphorien: and not pass extra-substituters
Jetien has joined #nixos
<symphorien>
the problem is that if I nix-build locally a derivation which is already built on foo, it will rebuild it on foo
<gchristensen>
eh?
<symphorien>
this is the sad truth
<gchristensen>
that is not behavior I've seen
<clever>
it will copy the deps to the remote machine, then "instantly" build it, and copy the product back
<gchristensen>
^
<symphorien>
huh ? let me check
<gchristensen>
Nix doesn't just do the same thing twice
<clever>
which becomes a problem when an aarch64 poisons your cache with broken builds :P
<clever>
i have to rebuild it on a box that doesnt break things, then use --repair-path and --option substutiters to overwrite the broken one
<symphorien>
oh the derivation I am building is indeed fetched, but its build dependencies (which are not on foo) are rebuilt :(
Jetien has quit [Ping timeout: 258 seconds]
<clever>
having it as a substituter, would let the local nix know that the deps arent needed, and just fetch it directly
<symphorien>
so how do I do it ?
<symphorien>
note that I cannot rebuild the derivations in question, because it would take several days
<clever>
did you setup secret-key-files like i said above?
<symphorien>
on the remote builder or locally ?
<clever>
remote needs a secret key, local needs to trust that key (via the public)
<symphorien>
how do I generate such a key ?
<clever>
symphorien: man nix-store
<clever>
/generate
<symphorien>
will the derivations outputs be signed retroactively or do I need to rebuild them ?
dansho has joined #nixos
<clever>
symphorien: nix sign-paths --help
<sphalerite>
I'm trying to package a piece of software and it's got some references to /build (though said references look harmless). Can I get nix to ignore them if I can't work out how to get them excluded?
<clever>
sphalerite: postFixup = "sed" ?
<sphalerite>
eww
<sphalerite>
but I guess :/
<matthewbauer>
sphalerite: noAuditTmpdir = true
<sphalerite>
that's better :D
<clever>
neat
alex``65 is now known as alex```
mabel has quit [Ping timeout: 255 seconds]
dansho has quit [Quit: Leaving]
dansho has joined #nixos
<sphalerite>
hm. Does anyone have any tricks for finding out how the build references sneak in though?
<sphalerite>
the paths seem to be paths to object files involved in the build
<sphalerite>
and the mysterious /build/glibc-2.27/csu
dansho has quit [Client Quit]
dansho has joined #nixos
<symphorien>
thanks clever !
dansho has quit [Client Quit]
dansho has joined #nixos
toppler has quit [Read error: Connection reset by peer]
dansho has quit [Client Quit]
toppler has joined #nixos
dansho has joined #nixos
<ambro718>
What's the simplest way to write a derivation that compiles a single C/C++ source file?
<softinio>
is it python-language-server[yapf] for example?
<clever>
softinio: i think all of the optional things will be available by default, you would have to use .override to set them to null, to remove them
zupo has joined #nixos
shah^ has joined #nixos
<softinio>
clever: ty for that tip. Worked. Learnt something new :-)
ferriswheel has quit [Remote host closed the connection]
ferriswheel has joined #nixos
<ambro718>
When cross compiling, does "${package}" give build or host package? How to get the other one?
cnidario has quit [Remote host closed the connection]
<ambro718>
supposedly "${package}" gives cross-compiled package, but how to get the native package (e.g. if it's a build tool used in a builder script)?
fusion809 has quit [Remote host closed the connection]
<ambro718>
apparently the answer is "drv.nativeDrv or drv"
<clever>
ambro718: there is also nativeBuildInputs = [ pkgconfig ];
<clever>
which will add it to PATH, and give you the host version
<{^_^}>
[nixpkgs] @dtzWill opened pull request #60343 → luarocks-nix,luaPackages: formatting and additions; awesome: docs! → https://git.io/fjGtD
ferriswheel has quit [Remote host closed the connection]
ferriswheel has joined #nixos
NickSeagull has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jerrytgarcia has quit [Quit: jerrytgarcia]
detran has joined #nixos
kleisli has quit [Ping timeout: 250 seconds]
shabius_ has joined #nixos
detran has quit [Ping timeout: 250 seconds]
detran has joined #nixos
shabius has quit [Ping timeout: 259 seconds]
zupo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
zupo has joined #nixos
Jetien has joined #nixos
ThatOtherGuy has joined #nixos
<Gopal[m]>
Can anyone tell me how lib.mkDefault works?
softinio has joined #nixos
<Gopal[m]>
I tried setting a lot of options with mkDefault that were common to my mschines but after installation, I see that they haven't been applied.
<infinisil>
Gopal[m]: The module system collects all definitions, then only applies the ones with the highest priority
<infinisil>
mkDefault has a low priority
<infinisil>
Setting an option like normal has a higher priority
<infinisil>
mkForce has an even higher priority
ddellacosta has joined #nixos
<tilpner>
Definitions of different priorities are not merged, if that's what you were expecting
<tilpner>
If you have merge-able options, you can just set them normally in your module, they will merge automatically with any additions you make
xent has joined #nixos
Jetien has quit [Ping timeout: 246 seconds]
mconstant has quit [Ping timeout: 246 seconds]
<{^_^}>
[nixpkgs] @edolstra pushed to master « all-packages.nix: Don't recurse into 'tests' »: https://git.io/fjGqO
ThatOtherGuy has quit [Ping timeout: 258 seconds]
tboston_ has quit [Ping timeout: 258 seconds]
softinio has quit [Remote host closed the connection]
<{^_^}>
[nixpkgs] @primeos merged pull request #60319 → sway: Read the configuration from /etc before /nix/store → https://git.io/fjGJH
<{^_^}>
[nixpkgs] @primeos pushed to master « sway: Read the configuration from /etc before /nix/store (#60319) »: https://git.io/fjGqa
tboston_ has quit [Ping timeout: 245 seconds]
<trfl>
hey, wanted to install nixos to a usb flashdrive and make it bootable on both bios/csm/uefi systems -- fwict you're expected to use either grub or systemd-boot; if I opt for grub will it still be able to boot on uefi boxes?
ayerhart has quit [Quit: ayerhart]
<samueldr>
with nixos, grub is I think the only bootloader which supports both legacy and uefi boots
<samueldr>
I'm not 100% sure though how to setup an image so it boots both ways using the same config
<samueldr>
but can assure you that yes, grub can be used to boot uefi and legacy independently, and I think it's likely to work to do both
ayerhart has joined #nixos
<trfl>
aight cool, I'll give that a go :>
<lassulus>
trfl: if you just want to generate your own usb-image, maybe checkout nixos-generators
nixy has joined #nixos
<trfl>
my intention is to prepare a usb-stick that boots into xfce4 with various extra packages installed and preconfigured, and while filesystem persistence would be nice it's not necessary
<trfl>
also, is it still true that livesystems consume more RAM than if you boot from a traditional install?
<tilpner>
Persistence should be easy, and probably a lot less annoying if you plan to work from that stick
<clever>
trfl: most of the time, you can just treat the usb stick like an internal hdd, partition, format, mount to /mnt, nixos-generate-config --root /mnt, nixos-install
<tilpner>
(Persistence is the default when you do nixos-install)
justan0theruser has joined #nixos
<clever>
memory usage will also be the same as a normal install
<samueldr>
trfl: depends on if the live system is installed "like a regular system" or uses something like squashfs
<judson_>
I'm missing something basic I think: I'm trying to `nix-prefetch-git --rev rolling-release git@github.com:target/lorri.git`
<samueldr>
squashfs is the read-only kind, like the nixos installer, with a compressed filesystem decompressed in ram
<judson_>
nix-prefetch-git seems to really want a tag though.
justanotheruser has quit [Ping timeout: 255 seconds]
<trfl>
roger, I'll aim for a system-install in that case!
drakonis has quit [Ping timeout: 258 seconds]
<samueldr>
trfl: there's an inconvenient with those, though, when used with standard usb drive. it usually means more writing, thuse eventual quicker death of those usb drives
<samueldr>
trfl: while squashfs based systems generally are read only
<iddt>
you know how when you search for something that you think everyone would want to know and knows how to do, it would just pop up instantly, and then nothing even remotely like it shows up, and then you feel like you must be a crazy person?
<iddt>
that's me when i try to look up a reference for the nixos config parameters
<iddt>
i take it there's no such thing and this represents a fundamental misunderstanding of nixos somehow?
<clever>
ambro718: behind the scenes, nix-channel will just run nix-env -iE "...." to install a channel to the channels profile
<Gopal[m]>
Is it not used for setting default values of attributes? For example, if I set environment = lib.mkDefault { variables = { EDITOR = "nvim"; }; }; in common.nix and import it onto my configuration.nix, it should work right?
<Gopal[m]>
I use mkDefault so that I can override them in my configuration.nix if I wanted to. At least I thought that would work.
<clever>
ambro718: nix-env itself then uses a duplicate buildenv to manage merging everything in the profile
<ambro718>
clever: for building what exactly is this builtin buildenv used?
<clever>
ambro718: pkgs.buildEnv is still the perl based one, only nix-env -i and nix-env -e uses the builtin buildenv
<ambro718>
clever: so it is used for building user profiles managed by nix-env (what ~/.nix-profile points to)?
<clever>
ambro718: yeah
<ambro718>
clever: why does it not need the one from nixpkgs?
<clever>
ambro718: because nix-channel needs it, before nixpkgs has been downloaded
<ambro718>
how does nix-channel need it?
<clever>
behind the scenes, nix-channel runs nix-env -i -E "..." to install a channel into the channels profile
<ambro718>
I'm asking because I have some ideas for extending buildEnv to be smarter by respecting instructions from packages about how they should be integrated into the environment.
<ambro718>
and it doesn't go well with there being two buildEnv implementations...
<ambro718>
clever: isn't installing a channel just making a symlink?
<clever>
you would need to patch both the perl version to update systemPackages handling, and then patch the c++ version to fix nix-env, and the c++ one wont go public until the next nix release
<{^_^}>
[nixpkgs] @NeQuissimus pushed commit from @Tomahna to master « coursier: 1.1.0-M10 -> 1.1.0-M14.1 »: https://git.io/fjGmB
<clever>
ambro718: you may be able to get similar using the outputsToInstall entry, and split outputs
mexisme has quit [Quit: WeeChat 2.4]
<ambro718>
clever: My ideas are pretty long-term. I'm actually thinking removing nix-env as a user-facing tool (being replaced by the home manager or equivalent) and only using nix-env and builtin buildEnv for internal things you mentioned (channels and profile management). The home manager would use (uses?) the nixpkgs buildEnv just like the system environment.
<ambro718>
nix-env could just disappear and become library code
<clever>
ambro718: one min
Jetien has joined #nixos
<ambro718>
clever: that would allow extenting buildEnv to interact better with packages. Lke take specifications about which *parts* of other packages need to be included, or how to generate wrappers (having the env generate wrappers could be good). See https://github.com/NixOS/nixpkgs/issues/60278
<{^_^}>
#60278 (by ambrop72, 1 day ago, open): propagatedUserEnv could be extended to better specify how to integrate the package into the environment
<ambro718>
So in general I think there should be one buildEnv which is specifically made to integrate packages, not simple things like channels.
<ambro718>
and it can have more smartness to remove certain hacks in NixOS modules and program wrappers.
<ambro718>
My first question about C++ implementation was because I saw that perl code, but now the situation is a bit more complicated :)
orivej has joined #nixos
Jetien has quit [Ping timeout: 246 seconds]
<clever>
ambro718: cant find the link, but i saw somebody saying to get rid of nix-env -i/-e, but to keep nix-env itself
<ambro718>
clever: what would remain then, isn't that the main things it does?
<clever>
nix-env --set and --rollback
iddt has quit [Ping timeout: 245 seconds]
<clever>
nix-env --profile /path --set /nix/store/foo and nix-env -f foo.nix -A foo --set --profile /path
<ambro718>
Ah, I suppose it could take an environment specification from a configuration file
<clever>
both of those will set the current generation to a given storepath (creating a new generation if needed)
<ambro718>
yeah
<clever>
nix-env --profile /path --rollback, will then undo it
<ambro718>
the -i/-e is also has the (mis?)feature that it allows you to have things from different nixpkgs installed, which is not possible in nixos
<clever>
its just harder in nixos
<clever>
you have to import a different nixpkgs
softinio has joined #nixos
linarcx has quit [Quit: WeeChat 2.4]
<ambro718>
clever: but without -i/-e it isn't going to be used much by users right?
<clever>
-i and -e, will read ~/.nix-profile/manifest.nix, apply some mutations (adding/removing things), then build a new env based on that result, and bake the new manifest.nix into it
Xal has joined #nixos
softinio has joined #nixos
<ambro718>
and I see now that the reason propagatedUserEnv packages are written to nix-support/propagated-user-env-packages is so that the builtin buildEnv can find them (if they were in passthru they would be inaccesible in that context I believe)
<clever>
yeah
<clever>
they may be available during the first pass with nix-env -i /nix/store/foo
<clever>
but the 2nd time around, when its only in manifest.nix, it wont be there (enless you save it to manifest.nix)
<clever>
and it would forget about it
<clever>
well, it wont even be there for nix-env -i /nix/store/foo, only nix-env -iA nixos.foo
<ambro718>
of course it means with packages from different nixpkgs, it can hit lots of collisions resolving propagated packages
tboston_ has quit [Ping timeout: 245 seconds]
<ambro718>
when it tries to install different versions of the same propagated package
<clever>
QT has a lot of problems in this area
<clever>
if 2 different things both request QT via nix-support/propagated-user-env-packages, nix-env wont even tell you about the collisions
<clever>
and anoyingly, QT puts the libs into a 1.2 dir, but then if you mix 1.2.1 and 1.2.2, it complains and refuses to start
<softinio>
I use zsh for my terminal env .... when I use nix-shell it doesn't seem to inherit custom settings I have in my zshrc profile .... how can i get it to inherit those?
<clever>
why didnt it just put the libs into 1.2.1 and 1.2.2!?!?!
<ambro718>
clever: dunno, I guess it can be patched
nullheroes has joined #nixos
<clever>
ambro718: i have seen the KDE desktop env totally bork, when doing nixos-rebuild --upgrade
<clever>
ambro718: because an old QT was in nix-env, and had priority over the system QT, so the new QT apps from KDE (that manage the entire login session) borked
<clever>
so now, it crashes on login :P
<ambro718>
clever: my visions for buildEnv improvements might resolve some of these problems
<{^_^}>
[nixpkgs] @minijackson opened pull request #60346 → carla: init at 2.0.0 → https://git.io/fjGmX
<clever>
patching qt to use 5.9.0 instead of 5.9 would instantly fix this problem
<ambro718>
by having the env generate appropriate wrappers including setting all needed env vars, and getting rid of env vars which specify library paths
<clever>
i think the original goal, was to let you install QT plugins with nix-env -i, and it would then search ~/.nix-profile/lib/qt-5.9/ at runtime to discover them
<ambro718>
clever: this specific collision problem is very much the result of nix-env being too open (allowing mixing packages from different nixpkgs). It is not possible in nixos or home-manager.