vika_nezrimaya has quit [Quit: ERC (IRC client for Emacs 26.2)]
vika_nezrimaya has joined #nixos
jgt has quit [Ping timeout: 276 seconds]
justanotheruser has joined #nixos
iyzsong has joined #nixos
mthst has quit [Read error: Connection reset by peer]
mthst has joined #nixos
dl4mfo_ has joined #nixos
vika_nezrimaya has quit [Ping timeout: 245 seconds]
ng0_ has quit [Quit: Alexa, when is the end of world?]
thc202 has quit [Ping timeout: 250 seconds]
dl4mfo has quit [Ping timeout: 268 seconds]
oida has quit [Ping timeout: 260 seconds]
<pie_>
can any of these top utilities show disk io of kernel threads?
jgt has joined #nixos
justanotheruser has quit [Ping timeout: 245 seconds]
waleee-cl has quit [Quit: Connection closed for inactivity]
<pie_>
elvishjerricco: well, im stumped :(
schjetne has joined #nixos
<drakonis>
pie_: iotop?
schjetne has quit [Ping timeout: 258 seconds]
<pie_>
doesnt seem to work for kernel threads
<pie_>
err, actually havent tried iotop yet
<pie_>
nvm
<pie_>
elvishjerricco: i was rather inaccurate earlier, its probably not application switching thats problematic but maybe if an application accesses the disk
endformationage has quit [Ping timeout: 246 seconds]
jgt has joined #nixos
rainmanjam has joined #nixos
schjetne has joined #nixos
drakonis has quit [Quit: WeeChat 2.4]
schjetne has quit [Ping timeout: 245 seconds]
drakonis has joined #nixos
drakonis_ has quit [Ping timeout: 252 seconds]
<{^_^}>
[nixpkgs] @takeda opened pull request #66419 → busybox: apply clang-cross patch when host is different than build system. → https://git.io/fj72P
<pie_>
clever, elvishjerricco, ironically, firefox is one of the things that doesnt hang. i also had to switch to alacritty
<pie_>
clever, its not quite in the spirit of the thing but i wonder if https://criu.org/Live_migration could be used + kexec sytle stuff to migrate a live system
<pie_>
(*so im using the freenode webchat, lol sigh)
<pie_>
someone _has_ to have done more research on this stuff..im not really getting any good google results
<pie_>
im not expecting it to work but still :D
jgt has joined #nixos
<etu>
,tofu etu
<{^_^}>
etu: To get a sha256 hash of a new source, you can use the Trust On First Use model: use probably-wrong hash (for example: 0000000000000000000000000000000000000000000000000000) then replace it with the correct hash Nix expected.
<etu>
Thanks {^_^} :)
<{^_^}>
[nixpkgs] @peterhoeg opened pull request #66420 → maestral: init at 0.2.6 → https://git.io/fj72p
<{^_^}>
petercommand: Use `,` to list all commands, `,foo = Foo!` to define foo as "Foo!", `,foo =` to undefine it, `,foo` to output "Foo!", `,foo somebody` to send "Foo!" to the nick somebody
<petercommand>
,
<{^_^}>
Special commands: find tell locate expand - Commands sorted by use count, page 0 (use ,<n> to view page <n>): tofu help libraries unstable unfree library declarative escape'' ping overlay escape" howoldis pinning profiling ask pr -a callpackage cache imperative which-channel paste xy exec nixlang++ wololo fancy-uninstall pills stateversion botsnack channels haskell home-manager loot stuck tias timer dontask pointers pure-eval runtimedeps xml cloak
<rumblefrog>
Greetings, I recently switched from 19.03 channel to unstable hoping to upgrade my plasma version. However, upon running `nixos-rebuild switch --upgrade`, my plasma version remained at 5.14.5 instead of upgrading to what appears to be 5.15.5 on the master branch. Any guidance would be appreciated.
<petercommand>
rumblefrog: maybe just import master directly?
<rumblefrog>
petercommand: Sorry, how would I go about importing master directly?
<petercommand>
rumblefrog: import the result of fetchgit?
<rumblefrog>
petercommand: I'm new to nix, so I'm not sure where to use that. I thought you were referring to something like `builtins.fetchGit { url = https://github.com/NixOS/nixpkgs; rev = "f93da326abf32eea179ecfabb2e09f36d6ab8ca9"; }` in nix repl
<petercommand>
rumblefrog: use the fetchgit from nixpkgs
<petercommand>
rumblefrog: I remember I wasn't able to specify rev with the builtin fetchGit
o1lo01ol1o has quit [Remote host closed the connection]
<rumblefrog>
the switch upgrade should be equav to `nix-channel --update nixos; nixos-rebuild`
liberiga has joined #nixos
oida has joined #nixos
<petercommand>
hmm
<rumblefrog>
Going to try another option and give it a reboot
rumblefrog has quit [Remote host closed the connection]
thc202 has joined #nixos
rumblefrog has joined #nixos
<rumblefrog>
petercommand: aha, that did it. I had to run the channel add with sudo, otherwise it wouldn't affect packages within configuration.nix
<rumblefrog>
can't believe I missed that part in the doc
<rumblefrog>
thanks for the help
<petercommand>
:D
phreedom_ has joined #nixos
<pie_>
im feeling the urge to write a DSL for managing zfs
<pie_>
[internal screaming]
<petercommand>
pie_: what kind of DSL?
cjpbirkbeck has quit [Quit: Quitting now.]
<pie_>
the kind i will never actually implement
<pie_>
all the things i want to do seem just a bit broken
<pie_>
PEBKAC i need a hug
<petercommand>
um, like, what operations would you want in the DDSL?
<pie_>
well right now rules to transfer snapshot structures between two pools
phreedom has quit [Ping timeout: 260 seconds]
<pie_>
-R didnt do what i wanted, or i couldnt figure it out, so im using some thing called syncoid which kind of does what i want but it creates its own snapshots
<pie_>
and the tool isnt particularly atomic in that killing it leaves a bunch of running child processes
<pie_>
on the other hand syncoid does seem to actually be doing a variant of what i wanted sooo, thats a start
<pie_>
im feeling the urge to write a DSL for managing zfs[internal screaming]the kind i will never actually implementall the things i want to do seem just a bit brokenPEBKAC i need a hug
<pie_>
whoops
rumblefrog has quit [Remote host closed the connection]
asymptotically has joined #nixos
<petercommand>
hmmm...I thought I can do sth like import <nixpkgs>/pkgs/desktops/plasma-5/srcs.nix {}
<pie_>
petercommand try the > at the end
<petercommand>
oh..
<petercommand>
pie_: that works! thanks!
<pie_>
^.^ yay
<petercommand>
^.^
<{^_^}>
[nixpkgs] @Gerschtli opened pull request #66425 → environment.profiles: fix order of profiles and PATH → https://git.io/fj7Vq
<petercommand>
what's the best way to build packages that use package managers to dynamically determine dependency versions through solvers?
<petercommand>
fixed-output derivation?
lord| has quit [Quit: WeeChat 2.5]
<petercommand>
in nixos
<pie_>
i dont know about best way, but if you can get some sort of lock file that would be good
<pie_>
theres stuff about this in the issue tracker but i cant think of how to find it offhand
<pie_>
you _can_ use a fixed output derivation, but thats generally bad because reasons
<pie_>
that i always forget
<pie_>
well, its bad *most of the time but not always
<pie_>
petercommand what language
<petercommand>
because the solver might resolve the dependencies to a different version?
<pie_>
petercommand, well, that also seems viable, you can also try steam-run
<pie_>
though thats got its own problems, but if you just want something to work
<pie_>
theres also appimage-run i think
<petercommand>
i.e. buildFHSUserEnv?
<petercommand>
(steam-run)
lord| has joined #nixos
<petercommand>
Ah, steam-run looks nice
<pie_>
yeah but im lazy so i just use steam-run directly
<petercommand>
pie_: steam-run might miss dependencies
<petercommand>
or maybe I am not doing it correctly
<petercommand>
trying steam-run on electron, I got a message saying that libgtk3 is missing
<pie_>
yeah exactly, so yeah ok
alex`` has joined #nixos
qqlq has joined #nixos
<pie_>
you might be able to just add that to steam run though, im not sure
<pie_>
eh, sorry, my head is elsewhere and i dont know much about this stuff anywayt
<pie_>
elvishjerricco: so... does a DSL for managing ZFS sound like a bad idea
o1lo01ol1o has joined #nixos
<petercommand>
anyway yesterday I copied the files from buildFHSUserEnv and made some changes to the scripts so that it would instead chroot into an existing chroot fs
<petercommand>
so I would be able to directly install deb and rpm files
<petercommand>
into the chroots
<sb0>
on nixos 19.03, I added a user that does not belong to the networkmanager group and it is still possible to alter connections from the KDE interface when logged into that account
<petercommand>
and yeah, overriding steam-run might be a good idea
<sb0>
is that expected behavior?
Shouou has joined #nixos
orivej has quit [Ping timeout: 245 seconds]
o1lo01ol1o has quit [Ping timeout: 246 seconds]
<petercommand>
pie_: ah, yeah, there is an add missing dependencies on the steam-run nixos wiki page
<{^_^}>
[nixpkgs] @volth opened pull request #66438 → chromium-git: init at 78.0.3879.1 → https://git.io/fj7oh
npmccallum has quit [Quit: npmccallum]
chloekek has joined #nixos
<nek0>
hi folks, I have a problem with graphics acceleration on nixos-unstable. Even glxgears fails with "Error: couldn't get an RGB, Double-buffered visual". Can anybody help me?
<Miyu-chan>
Since jq is probably the most used "stream"-processing program in nixpkgs(after sed and awk, ofc.), then have any of you heard of q? https://github.com/harelba/q
<Miyu-chan>
SQL on textual tabular data
<simpson>
Miyu-chan: Nice!
switchy has quit [Ping timeout: 272 seconds]
<Miyu-chan>
Only `select` is implemented though.
mexisme_ has joined #nixos
mexisme_ has quit [Ping timeout: 258 seconds]
<ivegotasthma>
how do I patch a package only if it's being built using python3x?
<simpson>
petercommand: For the Nix language? Not really, and it's not that sort of language. What did you want to build?
<simpson>
ivegotasthma: You can ask your pythonPackages.python whether it is py3.
<simpson>
> python2Packages.python.isPy3
<{^_^}>
false
<simpson>
> python3Packages.python.isPy3
<{^_^}>
true
<ivegotasthma>
simpson: how do I use that variable for conditionally patching a package?
<petercommand>
simpson: I am not trying to use FFI right now, it's just that I don't see any reason why FFI might be bad (other than impurities I guess?)
<simpson>
ivegotasthma: `patches = if python.isPy3 then [ cool.patch ] else [];` or something like that. There's combinators for making it easier but I don't remember their names.
<petercommand>
simpson: what do you mean that sort of language?
<ivegotasthma>
currenty I'm using patchPhase to inject my changes
<simpson>
petercommand: FFI is bad not just because of impurities, but because Rice-trivial properties of a language usually can't be enforced across the FFI barrier. For example, good luck extending a language's memory-safety properties across an FFI to C.
<ivegotasthma>
is there a manual on how to do it with patches?
shabius has joined #nixos
<petercommand>
simpson: Rice-trivial..as in ..the Rice in Rice theorem?
<simpson>
petercommand: Nix is a description (meta-)language for a capability-aware package manager. There's some basic security properties, confinement, integrity, and confidentiality, given for free by the fact that Nix is lambda-calculus-shaped. FFI would jeopardize these properties. (FWIW this is also why there's no FFI in my Monte language.)
LogicAside has quit [Ping timeout: 245 seconds]
<simpson>
ivegotasthma: You can configure patchPhase optionally, too.
<ivegotasthma>
the same way?
<simpson>
Or something similar. I'm not sure; play with it until it works.
qqlq has quit [Ping timeout: 272 seconds]
<petercommand>
simpson: are these security properties documented anywhere?
<simpson>
A pocket calculator is confined; it has an air gap around it and a clearly defined interface of input and output. "The air gap let[s] you see that the box came with *no strings attached*."
<simpson>
petercommand: Closer to Nix, p63 of https://nixos.org/~eelco/pubs/phd-thesis.pdf describes an extended correspondence between memory-safety properties in programming languages and Nix-like security properties in software deployments.
<petercommand>
simpson: well, shouldn't the user be able to, say, trust a specific code snippet and claim that calling that code with FFI is safe?
<petercommand>
like, trust that the code is pure
zombyz03 has joined #nixos
<petercommand>
and doesn't do anything else besides producing its primary output
<simpson>
petercommand: Maybe. After all, when we trust code, bringing it inside our TCB, what we're really saying is that we are allowing this code to exploit our vulnerabilities.
zombyz03 has quit [Excess Flood]
<simpson>
And ideally we would not really like for *any* Nix code to have this property!
<simpson>
I know that there are ecosystems, like Haskell and Rust, where folks do this on a regular basis. It's not sufficient, though; the system is based on social trust (ironic?) and is easily subverted.
<simpson>
petercommand: So, like, returning to my primary question: What do you want to build?
<petercommand>
simpson: I am just trying to get to know more about the language design I guess
<balsoft>
I've seen some work on calling arbitrary functions with FFI by creating a new builtin, but I can't find it unforunately
<simpson>
petercommand: I linked Eelco's thesis above, and it's quite good reading.
seppellll has quit [Ping timeout: 248 seconds]
seppellll has joined #nixos
<petercommand>
simpson: well, if a system doesn't depend on social trust, that means that the user has to spend *a lot* of effort to make sure that they are not exploited
<petercommand>
like, when I do nix-channel --update, I am trusting that the channels that I subscribed are not malicious
<simpson>
petercommand: Yep! Hence why I've taken years out of my life to build a modern flavor of E. We need tools to enable secure distributed computation between mutually-untrusting machines.
<Miyu-chan>
Also. Nix does have FFI, right?
<simpson>
Nix is a powerful and useful *transitional* technology. It's not perfect. By the time the revolution comes, we will not be building piles of C.
<Miyu-chan>
plugin-files
<Miyu-chan>
A list of plugin files to be loaded by Nix. Each of these files will be dlopened by Nix, allowing them to affect execution through static initialization.
iyzsong has quit [Ping timeout: 245 seconds]
<simpson>
Miyu-chan: You give me the security-feelings. Thanks, I hate it~
<simpson>
ivegotasthma: Imagine if our approach to programming hardware was to, first, craft an interface above the hardware, and then program to that interface.
<ivegotasthma>
essentially what an OS does? :D
<simpson>
Yes, but don't stop. By the time you get to an OS, you should be writing in a memory-safe, capability-safe language, right? Not C or C++.
<simpson>
Put another way, how many lines of assembly do we *need* for a machine? How many lines of C?
<ivegotasthma>
a lot
<ivegotasthma>
but I get your point
ThatOtherGuy has joined #nixos
<simpson>
http://sel4.systems/ would be an OS to look at to get a better idea of what I'm advocating.
<ivegotasthma>
it's still written in C though
<ivegotasthma>
generated through haskell though
ThatOtherGuy is now known as LogicAside
<simpson>
Yep; it, too, is transitional. We can't really properly start on capability-safe systems until we've finished getting the world to stop writing in memory-unsafe languages.
justanotheruser has quit [Ping timeout: 245 seconds]
chloekek has quit [Ping timeout: 248 seconds]
zupo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Guest29 has joined #nixos
<Guest29>
Hey everyone
<Yaniel>
hi
<Guest29>
Is there any common resource for best practices when hacking on nixpkgs? Seems like I'm finding a lot of info in my searches, but it's kinda all over the place, and sometimes seems outdated
<Yaniel>
personally I test by using nix-env -f /path/to/my/nixpkgs -iA thing.im.working.on
<ivegotasthma>
Guest29: this channel is helpful
<Guest29>
So in that case you've cloned nixpkgs somewhere and you're just test installing the one package you're working on?
<Guest29>
Yeah, I gotta say I've been coming back to this channel every time I run into issues, and it's always been helpful
<{^_^}>
[nixpkgs] @worldofpeace merged pull request #66398 → Move certain GNOME3 options to programs → https://git.io/fj74n
<{^_^}>
[nixpkgs] @worldofpeace pushed 7 commits to master: https://git.io/fj7ic
<Yaniel>
yeah that's what I do for stuff that I want to get into the official nixpkgs
kleisli_ has joined #nixos
<{^_^}>
[nixpkgs] @vcunat pushed 2 commits to release-19.03: https://git.io/fj7iW
<{^_^}>
[nixpkgs] @vcunat pushed commit from @Izorkin to release-19.03 « libssh2: 1.8.2 -> 1.9.0 »: https://git.io/fj7iu
<Guest29>
Thanks all, that should help
cjpbirkbeck has quit [Quit: Quitting now.]
bakakuna has joined #nixos
<Guest29>
I guess there are many ways of getting the job done, just gotta figure out which works best for my workflow
chris__ has joined #nixos
drakonis_ has joined #nixos
fendor_ has joined #nixos
fendor has quit [Ping timeout: 245 seconds]
drakonis has quit [Ping timeout: 258 seconds]
<infinisil>
Guest29: Alternatively you can do a shallow nixpkgs clone, which is much faster to clone
<allgreed>
Howdy, is there an easy, idiomatic way to merge two sets? As in: f { a = 5; } {b = 3; } == { a = 5; b = 3; }.
<infinisil>
> { a = 5; } // { b = 3; }
<{^_^}>
{ a = 5; b = 3; }
<chris__>
Does anyone have any recommendations for learning how 'Nixos' works? I've got some understanding of Nix/store/packages but I'm not sure how Nixos is put together? My guess would be to look at nixos-rebuild, but if anyone has any suggetions that would be great.
<infinisil>
allgreed: Like this?
<Guest29>
What is a shallow nixpkgs clone?
<infinisil>
Guest29: Look at the --depth option in `man git clone`
<allgreed>
infinisil: yup, thx. I've somehow missed it when reading operator list o.0
<infinisil>
> { a = 1; } // { a = 2; b = 3; }
<{^_^}>
{ a = 2; b = 3; }
<infinisil>
allgreed: Note this however ^^ it will just override the other `a`
englishm has quit [Excess Flood]
<clever>
> let foo = { a = 42; } in foo ? a
<{^_^}>
error: syntax error, unexpected IN, expecting ';', at (string):256:23
<clever>
> let foo = { a = 42; }; in foo ? a
<{^_^}>
true
<clever>
> let foo = { a = 42; }; in foo.b or "not found"
<{^_^}>
"not found"
englishm has joined #nixos
Thra11 has joined #nixos
fendor_ has quit [Ping timeout: 268 seconds]
<petercommand>
> 1 ? a
<{^_^}>
false
<petercommand>
> a ? a
<{^_^}>
false
<petercommand>
> rec { a = a } ? a
<{^_^}>
error: syntax error, unexpected '}', expecting ';', at (string):256:13
<petercommand>
> (rec { a = a }) ? a
<{^_^}>
error: syntax error, unexpected '}', expecting ';', at (string):256:14
<petercommand>
> (rec { a = a; }) ? a
<{^_^}>
true
<petercommand>
> (rec { inherit a; }) ? a
<{^_^}>
true
drakonis_ has quit [Read error: Connection reset by peer]
drakonis has joined #nixos
ixxie has quit [Ping timeout: 245 seconds]
<infinisil>
petercommand: Can also do this in a `nix repl` fyi :)
<petercommand>
:D
<infinisil>
Or the bot is also in PM's and #bottest for spammier stuff
<petercommand>
infinisil: thx :D
Guest29 has quit [Ping timeout: 244 seconds]
<m1crOman>
Hey folks. As per https://github.com/NixOS/nixpkgs/issues/53852 how does using systemd-tmpfiles replace creating persistent directories in preStart? I mean, are they _not_ temp dirs when you use tmpfiles?
<infinisil>
m1crOman: tmpfiles, contradictory to its name, is not only useful for temporary files
<infinisil>
But all kinds of file related setup
<infinisil>
See `man tmpfiles.d` for what it can do
<m1crOman>
Ok that's what I thought. Thanks :) Will check that man page too
<nh2[m]>
dtz: I have a problem with musl: When I `fetchpatch` something (e.g. the libdrm patch I just CC'd you on), it tries to build `curl` and fails with krb5 linker errors. How should we make sure that curl-via-fetchpatch works for musl?
<nh2[m]>
dtz: If I evaluate `pkgsMusl.curl` that builds fine, but the one pulled in via `fetchpatch` doesn't
<{^_^}>
[nixpkgs] @worldofpeace pushed 2 commits to master: https://git.io/fj7PI
Thra11 has quit [Quit: IRC for Sailfish 1.0-alpha]
chloekek has joined #nixos
ddellacosta has quit [Ping timeout: 246 seconds]
freeman42x has joined #nixos
selfsymmetric-pa has quit [Remote host closed the connection]
schneid3306 has quit [Ping timeout: 248 seconds]
<Gopal[m]>
<simpson "Yes, but don't stop. By the time"> But so many things currently use C and C++. It's impossible to contribute to them otherwise
drakonis_ has joined #nixos
<Gopal[m]>
<Gopal[m] "But so many things currently use"> (Sorry for the confusing reply text)
<Gopal[m]>
@nyanloutre:nyanlout.re: is there a way I can help with Plasma?
<nyanloutre[m]>
Hello Gopal
<nyanloutre[m]>
The last PR could need more testings of applications (I don't use everything)
<Gopal[m]>
Can you point me in the right direction? I'm quite the beginner with Nix
drakonis has quit [Ping timeout: 268 seconds]
chris__ has quit [Quit: Lost terminal]
growpotk- has quit [Ping timeout: 268 seconds]
siers has joined #nixos
<siers>
hello. I entered a nix shell with nix-shell -E "$(cabal2nix --shell .)" successfully, but neither cabal build nor cabal new-build don't work
selfsymmetric-mu has quit [Remote host closed the connection]
<siers>
okay, I actually read the output now (day 2 of struggling with this and my brains had decided to take a involuntary break from thinking yesterday) and
<siers>
it looks like a dependency conflict, so I can probably solve that on my own
fendor has joined #nixos
selfsymmetric-mu has joined #nixos
lambda-11235 has joined #nixos
npmccallum has joined #nixos
meck has quit [Quit: WeeChat 2.5]
meck has joined #nixos
dispanser has quit [Read error: Connection reset by peer]
<asymmetric>
is there a recommended way to make sure that a systemd unit is restarted when the daemon's config is changed?
<asymmetric>
i'm writing a module where the daemon doesn't take a --config argument, it simply reads from /etc/pihole/config
<asymmetric>
so there's no explicit linkage between that file and the daemon in the systemd unit
<ToxicFrog>
restartTriggers?
<ToxicFrog>
restartIfChanged?
<infinisil>
Yeah the former
drakonis_ has joined #nixos
<nyanloutre[m]>
Gopal to test it you can clone my branch and then use nix-build to test the application you want
<nyanloutre[m]>
For example nix-build -A konsole
<nyanloutre[m]>
To find kde apps you can use nix-build -A kdeApplications. and then press tab
drakonis has quit [Ping timeout: 252 seconds]
chloekek has quit [Ping timeout: 244 seconds]
Okinan has joined #nixos
<m1crOman>
Does anyone have a good solution to creating htpasswd files (or any generated password hash files) in their nix config? I just want to add basic auth to the reverse proxy for a service. The actual password is stored in a git-crypt part of my nix config repo.
xkapastel has joined #nixos
<asymmetric>
ToxicFrog: thanks!
drakonis has joined #nixos
<ajs124>
m1crOman: the nginx module seems to support basic auth via services.nginx.virtualHosts.<name>.basicAuth or services.nginx.virtualHosts.<name>.basicAuthFile
<m1crOman>
ajs124, I'm using httpd actually :P But I'd be presented with the same problem either way. I thought of a better solution actually - I'm going to pregen the htpasswd file locally and push it to my git.
fendor_ has joined #nixos
fendor has quit [Read error: Connection reset by peer]
drakonis_ has quit [Ping timeout: 264 seconds]
<{^_^}>
[nixpkgs] @srghma opened pull request #66447 → nix-gitignore: update to addd0c9665ddb28e4dd2067dd50a7d4e135fbb29 version (contains fix for https://github.com/siers/nix… → https://git.io/fj7Px
switchy has joined #nixos
fendor_ has quit [Read error: Connection reset by peer]
fendor_ has joined #nixos
<{^_^}>
[nixpkgs] @bkchr opened pull request #66448 → programs.browserpass: Do not touch `nixpkgs.config` → https://git.io/fj7Ph
drakonis_ has joined #nixos
selfsymmetric-mu has quit [Remote host closed the connection]
<gchristensen>
sounds like you have all the tools to experiment then
phreedom has joined #nixos
qqlq has joined #nixos
jgt has joined #nixos
o1lo01ol1o has joined #nixos
selfsymmetric-mu has joined #nixos
o1lo01ol1o has quit [Remote host closed the connection]
o1lo01ol1o has joined #nixos
<exarkun>
using this w/ nix-shell - https://github.com/exarkun/tahoe-lafs/blob/nix-dev-environment/nix/dev.nix - gets me an environment where appdirs, a dependency of twisted which is a dependency of tahoe-lafs, is not importable. why doesn't the twisted propagatedBuildInput end up in the nix-shell environment?
<dminuoso>
Hi. Im trying to use nixops to deploy to a local nixos machine. Ive created a deployment and some nix file, but deploy complains about "- The ‘fileSystems’ option does not specify your root file system." and "- You must set the option ‘boot.loader.grub.devices’ or 'boot.loader.grub.mirroredBoots' to make the system bootable."
<dminuoso>
Does nixops create a profile using just my local nix configuration? Do I have to copy over say the "/etc/nixos/hardware-configuration.nix" and reconstruct the exact same configuration locally?
<quickquestion>
Quick question: How do I mount an exFat drive on nixos? I tried installing exfat-utils and fuse_exfat just as one would on an Ubuntu system but when I try to mount the drive using `sudo mount -t exfat /dev/sdb Temp/` it still gives me an error
<ixxie>
just my luck, Saturday night and my system will not boot, failing at stage 1. Swap device mounts, but the the root partition fails with `mount: mounting /dev/disk/by-uuid/${uuid} on /mnt-root/ failed: No such file or directory.
<pie_>
ixxie boot previous state?
<slack1256>
Do you have previous generations available at grub? try one of those
<pie_>
or idd you just GC :P
<ixxie>
it fails for all generations
<ixxie>
I didn't rebuild before this happened
<ixxie>
I was watching netflix, it froze and I had to reboot, but it never booted again
<gchristensen>
are you trying t oboot from the left side USB ports?
<ixxie>
I tried both
<quickquestion>
Terribly sorry btw, instead of `sudo mount -t exfat /dev/sdb Temp/` I shouldve typed `sudo mount -t exfat /dev/sdb1 Temp/` to indicate the actual exfat partition. Have a nice evening :)
<dminuoso>
Mmm. Am I required to keep the entire machine configuration.nix/hardware-configuration.nix locally when I do nixops?
<gchristensen>
dminuoso: yes
<ixxie>
thanks gchristensen
<gchristensen>
dminuoso: the entire system is built locally, and then copied over
<pie_>
gchristensen so yeah any idea about NIX_DEBUG? >_>
<gchristensen>
pie_: no idea, that is outside of my normal stuff. I know it works when using nix-build
<pie_>
ok
jgt has joined #nixos
<dminuoso>
gchristensen: I see. So the nixops manually *really* should say this. Ive been sitting here, staring why nixops couldn't work (and it kept complaining about missing fileSystems/grub configuration) - when I merely followed the manual.. :)
<dminuoso>
gchristensen: I suppose I would just scp over the initial configuration.nix and hardware-configuration.nix, and then manage them via nixops instead?
<gchristensen>
dminuoso: yeah. ... it depends on a touch of magic to support AWS and vbox. the "none" type should be more explicit.
<ixxie>
okay... gchristensen - I fiddled with the settings like the link said and now the system boots without usb xD
<gchristensen>
:x
<gchristensen>
wat
<ixxie>
it seems bios keeps switching from AHCI to RAID randomly
<gchristensen>
oooh
* ixxie
shrugs
<gchristensen>
cool cool cool definitely a good sign :|
<ixxie>
thanks dude
<ixxie>
I wonder what happened really
<gchristensen>
yep! glad that helped :)
<dminuoso>
gchristensen: alright cheers. :)
<dminuoso>
gchristensen: One question if you dont mind. I just copied the configuration over, unmodified, and did a deploy - and it does a copy closure for everything... why does it do that?
<dminuoso>
I assumed it would just do nothing since the machine is already in the desired state
<gchristensen>
dminuoso: the version of nixos deployed is dependent on what version of nixpkgs is in NIX_PATH on your deploy host
<dminuoso>
Argh! I see.
<gchristensen>
which by default, means the version of nixpkgs your computer is running :)
ixxie has quit [Remote host closed the connection]
ixxie has joined #nixos
growpotkin has joined #nixos
<ixxie>
gchristensen: hows everything going?
<ixxie>
I feel like I have missed a lot in the last year or so
<rnhmjoj>
do you know if the eval command ofBorg runs is really the one mentioned in the readme (https://github.com/NixOS/ofborg)? running that locally succeeds while ofBorg finds and error
jgt has quit [Ping timeout: 252 seconds]
wfranzini has quit [Remote host closed the connection]
<pie_>
bendlas just saw that you packaged it, i might play with it a bit
johnw has quit [Ping timeout: 250 seconds]
<pie_>
err ok that was the module :D the actual package has a bit larger contributor list xD
freeman42x has quit [Read error: Connection reset by peer]
<selfsymmetric-mu>
gchristensen++
<{^_^}>
gchristensen's karma got increased to 138
<bendlas>
pie_, hope you find it useful, enjoy
<selfsymmetric-mu>
slack1256: Yeah, I added them to my fools list but they'll probably come back under a different username.
<pie_>
bendlas the crazy idea is to try to migrate as much of userspace as possible and do a "seamless" swap out of the root filesystem
<pie_>
though this is way over my head probably
endformationage has joined #nixos
kleisli_ has joined #nixos
<bendlas>
pie_, I found that it works best with containers. at least, you should unshare(2) your PID namespace, otherwise you can thaw a process just once because of PID collisions ..
freeman42x has joined #nixos
<pie_>
bendlas: not surprised about the containers thing, but if youre stuff isnt already running in a container...
<pie_>
*your
<pie_>
i imagine the kernel module for criu can be loaded on the fly?
<pie_>
bendlas: to clarify: ideally i would want to put something together that doesnt have any preexisting requirements on how things are set up
drakonis has quit [Ping timeout: 250 seconds]
<bendlas>
pie_: the kernel needs to be built with with CONFIG_CHECKPOINT_RESTORE, a flag that's hidden behind CONFIG_EXPERT. Not a module
<clever>
pie_: have you seen nix-bundle and nix-user-chroot?
<pie_>
clever i vaguely remember something
<pie_>
bendlas im assuming nixos does not enable that by default?
<clever>
pie_: thats a staticly linked c binary, using the namespace api's, to mount a nix store to /nix/
<bendlas>
yeah, as I said, criu restores the PIDs it froze, so using PID namespaces is pretty much required
<clever>
ahh, someone else linked crui to me recently
<clever>
that would explain how its aboe to restore certain elements of the state
<pie_>
bendlas: ok running a recompiled kernel makes that a pointless exercise then, the whole point is to avoid teardown of an existing userspace
Ariakenom_ has joined #nixos
johnw has quit [Ping timeout: 264 seconds]
<bendlas>
pie_: yeah, I don't think NixOS default kernel can do that
Ariakenom has quit [Ping timeout: 245 seconds]
<pie_>
any reason to not enable it by default? :PP
eof_ has quit [Ping timeout: 244 seconds]
<pie_>
,tofu
<{^_^}>
To get a sha256 hash of a new source, you can use the Trust On First Use model: use probably-wrong hash (for example: 0000000000000000000000000000000000000000000000000000) then replace it with the correct hash Nix expected.
<gchristensen>
pie_: well it is hidden behind CONFIG_EXPERT, so presumably there is a good reason.
<bendlas>
reason being that linus torvalds didn't want to enable it by default either
<bendlas>
you can find his quote about "mad russians implementing c/r in userspace" and "being able to remove the feature, when it inevitably falls over"
<infinisil>
direnv or lorri (which is like an extension to direnv)
<kaliumxyz>
someone asked me it
<kaliumxyz>
honestly I just reload the shell normally.
jgt has quit [Ping timeout: 264 seconds]
<kaliumxyz>
whats the proper way to add python dependencies with nix?
Shouou has joined #nixos
<kaliumxyz>
I realized just now I normally add them to shell.nix as shell hooks, but thats kinda terrible when you actually want to make services.
irl25519 has quit [Quit: My computer has gone to sleep. ZZZzzz…]
<Yaniel>
pythonPackages.foo in your nativeBuildInputs apparently
<selfsymmetric-mu>
I could never figure out the point of lorri. Played with it a bit and it just broke things for me.
ddellacosta has quit [Ping timeout: 248 seconds]
<selfsymmetric-mu>
What does it do that direnv doesn't?
<Yaniel>
or in propagatedBuildInputs
nexgen has quit [Ping timeout: 248 seconds]
johnw has joined #nixos
erhandsome has quit [Quit: %null%]
lambda-11235 has quit [Ping timeout: 245 seconds]
Shouou has quit [Ping timeout: 252 seconds]
drakonis1 has joined #nixos
<kaliumxyz>
what if its a package thats not in ther Yaniel?
<kaliumxyz>
Write a default.nix for it?
erhandsome has joined #nixos
<infinisil>
selfsymmetric-mu: It makes direnv really fast for one
<kaliumxyz>
actually I should check I can probably copy+paste it from another package and it will werk
<Yaniel>
yeah, or define it in the same file with let ... in
drakonis2 has joined #nixos
johnw has quit [Ping timeout: 264 seconds]
<selfsymmetric-mu>
infinisil: Fast to switch environments or fast to rebuilt one environment? Or are those equivalent?
<infinisil>
selfsymmetric-mu: And I think it can automatically detect when it needs reloading and does it
<selfsymmetric-mu>
I think I'll take another crack at it once it's stabilized and put into nixpkgs.a
domogled has quit [Ping timeout: 268 seconds]
<kaliumxyz>
oh ye good point, thats way lazier
<infinisil>
selfsymmetric-mu: Fast switch to environment, if it's cached
<infinisil>
For rebuilding an environment when something has changed, nix still needs to be called, which is slow
fendor_ has quit [Ping timeout: 268 seconds]
drakonis_ has quit [Ping timeout: 272 seconds]
<infinisil>
selfsymmetric-mu: But tbh, I also can't use lorri because it doesn't work with how I normally declare haskell packages, see https://github.com/target/lorri/issues/22
<{^_^}>
target/lorri#22 (by Infinisil, 18 weeks ago, open): Doesn't watch paths through IFD + filterSource (unsure if proper diagnosis)
ng0 has quit [Quit: Alexa, when is the end of world?]
meck has joined #nixos
Fahrradkette has joined #nixos
meck has quit [Client Quit]
meck has joined #nixos
<andi->
Someone running unstable with multiple initrds? I just had to remove my 2nd initrd to boot with linux 5.2.7 and grub 2.04-rc1 :/ Kernel would panic in the initrd mounting code (should have taken a picture)
<Fahrradkette>
hi everybody. Does nixos only target desktop/server hardware or does it include embedded devices (i.e. cortex M3)? I'm kinda interested in a language for describing the statefullness of hardware, especially how the DMA arbiter acquires the busses (like AHB) of an embedded device.
ciil has joined #nixos
seppellll has joined #nixos
ixxie has quit [Remote host closed the connection]
<clever>
Fahrradkette: if you can define all of that in device tree, then it should be possible to write a nixos module to configure it and enforce rules, then generate a DTB based on a config file
<clever>
you could even do something like having a services.foo.enable auto-config the DTB's for you
<clever>
and all merging is done by nix before creating the main dtb, rather then using dt overlays
<Fahrradkette>
clever: what does DTB stand for? sry for the noob question
<clever>
device tree blob, an arm way of configuring things
steshaw_ has joined #nixos
meck has quit [Quit: WeeChat 2.5]
<Fahrradkette>
that (XML?)thing that linux reads to figure out what's connected to the cpu at boot time?
<clever>
at boot time, its binary
<gchristensen>
I think it has its own lang
hodlwave has quit [Disconnected by services]
hodlwave_ has joined #nixos
meck has joined #nixos
steshaw_ has quit [Client Quit]
hodlwave_ has quit [Client Quit]
hodlwave has joined #nixos
steshaw_ has joined #nixos
<Fahrradkette>
so nixos builds on top of the linux kernel? I was thinking of a (time)-deterministic "scheduler less" system
Yakulu has left #nixos ["Error from remote client"]