2020-07-10

<clever> KarlJoad: and then look at what the module does with that value
<clever> what did you set?
<clever> KarlJoad: but also, if you `mkForce` in 2 different modules, it will merge them according to the usual rules
<clever> KarlJoad: smaller numbers have priority
<clever> you may need programs.fish.enable = true; to create /etc/fishrc
<clever> via /etc/bashrc for me
<clever> its set by something in /etc/ i believe
<clever> afreak: i'm guessing that one of your dotfiles is overwriting the default $NIX_PATH
<clever> afreak: is there anything about nix in ~/.bashrc ?
<clever> Ke: kexec gives you a trivial way to run nixos from ram, and then you can just follow the normal install directions
<clever> Ke: ahh, yeah, you can still build a kexec image with single-user, but ive not tried kexec on aarch64 yet
<clever> either --option builders '' to not, or nix-copy-closure the drv over, and run nix-build on the drv, on the remote box
<clever> eacameron: keep-failed doesnt work on remote machines
<clever> eacameron: it tells you at the end of the output
<clever> you can use nix on any machine to build a tarball, that you scp to the target (which can lack nix), unpack, and run 1 cmd to kexec into nixos
<clever> Ke: the kexec route is also an option
<clever> Ke: that can be done, its just an extra step
<clever> Ke: the install script refuses to run as root
<clever> Ke: because root should be owning /nix/store/ when on nixos
<clever> KarlJoad: ""
<clever> lejonet: it must point to a linuxPackages, not a raw linux
<clever> lejonet: did you modify boot.kernelPackages?
<clever> possibly just {};
<clever> lejonet: i think it wants line 41 to be vs0.interfaces.enp5s0 = {something};
<clever> lejonet: and what is the exact error/warning?
<clever> lejonet: those should be identical
<clever> i think its in ffmpeg
<clever> Baughn: i have heard that vlc on rpi has full hw accel now
<clever> chloekek: i think thats just normal qmake, which works similarly to cmake and configure
<clever> yeah, its still a bad thing
<clever> i also have $HOME on zfs, so i could rollback such nasty things
<clever> while mpv has better rpc stuff, and doesnt rely on a script within the player
<clever> vlc also breaks every time you upgrade, because it uninstalls the scripts syncplay needs
<clever> that also happens if they reconnect to the syncplay server, due to network problems
<clever> any time a vlc user begins playback, they forcibly rewind everybody to the start of the file
<clever> i also dont use vlc, because it has compatability issues with syncplay
<clever> yeah, mpv doing that is just outright hostile
<clever> i dont use gnome, it was ruined years ago
<clever> Mic92: also read the diff i linked
<clever> Baughn: wut???
<clever> zangi: binary only packages typically dont get into cache.nixos.org, only the result of compiling things that have source available
<clever> correct
<clever> https://github.com/NixOS/nixops/issues/1189 has more info on how i plan for nixops to use that
<clever> an ssh based URI, can take a remote-store= which is another URI
<clever> nix copy --to ssh://root@target?remote-store=local?root=/mnt /nix/store/hash-nixos
<clever> there is a dedicated thing for that
<clever> which args?
<clever> i see it in `man nix-store`
<clever> nix-store --gc [--print-roots | --print-live | --print-dead | --delete] [--max-freed bytes]
<clever> that was the pid for sudo
<clever> thats what happens when you use sudo
<clever> dont use sudo on either
<clever> what is process 1309?
<clever> did you use sudo on either?
<clever> das_j: nix-store --query --roots
<clever> das_j: what does `nix-store --delete` say?
<clever> yeah, the instructions got changed recently
<clever> not all of it was a plain netsplit though
<clever> 2020-07-10 01:15:17 -!- sebass[m] [sebassmatr@gateway/shell/matrix.org/x-lcgzvwsbiwowdyey] has quit [Ping timeout: 244 seconds]

2020-07-09

<clever> musteresel: look into pkgs.requireFile
<clever> lassulus: slim was enabled by default and conflicting
<clever> ly will have a different config format, so some things like that will need changes
<clever> thats enough to make nixos run hsdm, and pass it enough info for hsdm to launch X
<clever> slabity: and then `nixops deploy -d networkname` will remember that `-I nixpkgs=/anything` for you
<clever> slabity: if you `nixops modify -d networkname deployment.nix -I nixpkgs=/anything`, it will get baked into the sqlite state
<clever> nicolas[m]1: can you paste the part of the expr using trace?
<clever> but the language is pure and shouldnt work like that
<clever> bqv: the commit doesnt seem to exist within any branch, which implies they used a force-push to undo it
<clever> slabity: *facepalm*
<clever> wnklmnn: use an overlay to override the derivation in question
<clever> immae: the problem is that the cargoSha256 is just the hash of whatever `cargo fetch` created, so it depends on which version of cargo you used
<clever> bbigras: if your not using IFD, you can just use nix-instantiate or `nixos-rebuild --dry-run` to eval it
<clever> zangi: yes
<clever> adisbladis: propagatedBuildInputs would also do that automatically
<clever> adisbladis: why do you want the deps from several?
<clever> reactormonk: you can also `nix-shell -A valgrind`, it will import . by default
<clever> reactormonk: you want -E not -A
<clever> mvnetbiz_: that makes the installPhase fail fatally, and then keeps the result of the failure
<clever> mvnetbiz_: `nix-build -E 'with import <nixpkgs> {}; hello.overrideAttrs (old: { installPhase = "exit 1"; })' --keep-failed`
<clever> reactormonk: run `unpackPhase ; cd $sourceRoot ; configurePhase` inside a `nix-shell '<nixpkgs>' -A valgrind`
<clever> oops, was thinking of `nix build -L`
<clever> reactormonk: run `nix-store -L /nix/store/foo` to see the log of how something was built, `nix log` may also work for things on a cache

2020-07-08

<clever> then you can just ignore nearly everything, but you must generate the arg list properly yourself (or copy/paste)
<clever> KarlJoad: for a real dirty solution, `services.xserver.displayManager.xserverArgs = lib.mkForce [ ... ];`
<clever> yes
<clever> KarlJoad: for example, monitorSection for the first monitor, and xrandrHeads for the extra ones
<clever> KarlJoad: you need to look at the string interpolation on 713-808, and set the right settings to make it generate the right config
<clever> robodojo: nixos-generate-config handles that step
<clever> KarlJoad: compare the generated xorg.conf to the one nixos is creating, how do they differ, what needs to be changed?
<clever> colemickens: --option substituters "list goes here" to temporarily skip it
<clever> KarlJoad: how are the defaults conflicting?
<clever> KarlJoad: but!, line 713-808 is also setting services.xserver.config, so nixos is merging the 2 strings
<clever> KarlJoad: this shell script is used to generate the config file, lines 122-139 generate the `Section "Files"` part, and line 141 will print the config (from 118) which is your services.xserver.config
<clever> bqv: there is also halvm....
<clever> and as an example, if anybody wanted to take it further
<clever> bqv: nope, it was mostly just a proof of concept, that you can make /init be pure haskell
<clever> the nix file in the same dir will build it static, and build the initrd too
<clever> bqv: put everything in /init, in the initrd, forkIO all the things
<clever> bqv: thats the kind of idea i had behind haskell-init
<clever> enless you want to remove --reload support
<clever> because of its --reload option, you cant really fix it
<clever> but xmonad must depend on ghc at runtime
<clever> that can stop you from depending on ghc at runtime
<clever> you also want justStaticExecutables
<clever> evanjs: nix-store --query --roots on a ghc, and nix why-depends on current-system and a ghc
<clever> robodojo: it should say which file is defining the option
<clever> robodojo: first, you need to lookup what the module is doing with it
<clever> ah
<clever> or wait, was it u+w ?
<clever> eacameron: chmod o+w . to give yourself write
<clever> eacameron: the symlink is inside a read-only directory, so you cant modify the list of filenames in that dir
<clever> eacameron: `ls -ld .` ?
<clever> eacameron: `ls -l all.js` ?
<clever> eacameron: what is the exact command you ran?
<clever> eacameron: `rm symlink` not `rm symlink/`
<clever> this puts a haskell binary at /init inside the initrd
<clever> there is also haskell-init
<clever> patagonicus: you usually dont use ccache with nix, since nix can already cache things
<clever> patagonicus: linuxPackages_latest isnt a single package, its a set of every optional kernel module
<clever> KarlJoad`: read the xorg.conf file and logs that both nixos and ubuntu are using
<clever> KarlJoad`: that implies xorg cant see the card, and nothing xrandr does can change things
<clever> robodojo: availableKernelModules can also be auto-loaded by udev, when the relevant device is detected
<clever> mostly up to personal preference
<clever> yep
<clever> robodojo: you can choose to just never run nixos-generate-config again, and edit it all you want
<clever> robodojo: any time you run nixos-generate-config, the file gets overwritten
<clever> yorick: you may want to run `nix-store --verify --check-contents` after it is working again
<clever> yorick: yeah, try slabity'd trick above, but your FS may have other corruption due to an improper shutdown
<clever> mine is also "10"
<clever> yorick: and ls -l reports the size as what?
<clever> yorick: what are the contents of that file?
<clever> slabity: it only works if , is the first character of the msg
<clever> selfsymmetric-mu: yeah, just add it to the inputs or the -p param
<clever> selfsymmetric-mu: the stdenv should just auto-detect the right output when you put `builtInputs = [ postgresql ];`
<clever> so /mnt goes before /mnt/boot and /mnt/home
<clever> robodojo: basically, sort all things by the length of the path your mounting to (in terms of number of /'s), and then mount from shortest to longest
<clever> robodojo: no, boot has to be mounted after root
<clever> robodojo: because when you mount to /mnt, it hides anything that was previously at /mnt, such as /mnt/boot/
<clever> robodojo: root should be mounted first
<clever> only the order of mounting really matters
<clever> robodojo: i would always create boot first, swap 2nd, and root last
<clever> 64mb for /boot is a bit too low, i often have trouble getting 2 generations to fit
<clever> i was thinking it would be defined at the nixops layer
<clever> some one-time setup commands, that cant be changed after the fact
<clever> robodojo: it gets the sizes from another configuration.nix, that is used to build the livecd
<clever> robodojo: this shell script will partition, format, mount, and install nixos, in a single command
<clever> robodojo: have you seen my justdoit stuff?
<clever> robodojo: correct, nixos can only begin acting on configuration.nix after the drive has been formatted and mounted
<clever> robodojo: yeah
<clever> robodojo: it should be in the nixos manual i believe
<clever> robodojo: that tends to go into hardware-configuration.nix, which is auto-generated by nixos-generate-config, based on what is mounted
<clever> > { "foo bar" = "baz"; }."foo bar"
<clever> > { "foo bar" = "baz"; }
<clever> AlpineLlama: weird, i would expect both of those to work the same way
<clever> makefu: hmmm, seems that it doesnt support non-standard servers, just use pkgs.fetchurl on a url like this
<clever> 7 url = "https://bitbucket.org/${owner}/${repo}/get/${rev}.tar.gz";
<clever> makefu: try using pkgs.fetchFromBitbucket ?
<clever> makefu: where is the repo hosted?
<clever> makefu: builtins.fetchGit is impure, and can use host config
<clever> since they are already validating the final hash of the product
<clever> makefu: most of the fetch functions also ignore how valid ssl certs are
<clever> AlpineLlama: it creates that after it mounts the main filesystem on the disk
<clever> AlpineLlama: if you boot with the kexec method, then you have a livecd-like env running entirely from ram, and can poke at the usb more with the benefit of the whole OS working
<clever> AlpineLlama: this lets you switch from any distro to nixos, without rebooting
<clever> AlpineLlama: you can also try the kexec route
<clever> AlpineLlama: can you try a different usb port? or a different usb stick?
<clever> mhwombat: then you need to set boot.loader.grub.device = "nodev";
<clever> mhwombat: do you want to boot with bios or efi?
<clever> > kernelPatches.mac_nvme_t2
<clever> patagonicus: its an attribute set containing a name and patch i believe
<clever> yep
<clever> i can mess with it later, still waking up now
<clever> where did i put that older usb code...
<clever> thanks
<clever> wireless
<clever> i tried to get that from the older headset, but all i could do was read the buttons
<clever> battery level would be useful
<clever> ashkitten: whats there to control? it has fewer options then the older headset i have
<clever> ashkitten: logitech g533
<clever> gueorgui: its just vendor lockin, adding special features that only their hw can use
<clever> gueorgui: main downside of the G533, is that you need the usb dongle to make it work, and the headset is a big large for travel
<clever> gueorgui: its not bluetooth, so it can just ignore the limits
<clever> gueorgui: ive been using a logitech g533 for a while now, and its got good quality for both directions
<clever> you may even need a special bluetooth controller to even use them
<clever> and they havent documented how to use them
<clever> it could be custom bluetooth profiles
<clever> gueorgui: that lets you hear the cpu fan and every keystroke!

2020-07-07

<clever> and the bash installed on the system, doesnt depend on the bash-dev
<clever> the stdenv changes the SHELL to a non-interactive build of bash
<clever> `nix-build /nix/store/d43v6bx7r6fcaq3fbbfd5mwh1f5s7rmg-bash-interactive-4.4-p23-dev -o bash-root` i think
<clever> you can just run nix-build against it to make your own roots
<clever> nix-shell impurely grabs bashInteractive from the host <nixpkgs>
<clever> which package?
<clever> i'm not sure either on that part
<clever> it comes up when cross compiling
<clever> Guest7: that wont get nativeBuildInputs, you may want just `env > $out` to get everything
<clever> typetetris: some poorly made scripts will use that to change how they behave, causing surprises
<clever> typetetris: the value of lib.inNixShell changes when your in nix-shell, even if its in an expr being evaled by nix-build
<clever> > pkgs.stdenv.system
<clever> hexo: if you comment out everything from 10-18, and `nixos-rebuild build`, what happens?
<clever> `python3-3.7.5-env` is likely the result of calling pkgs.buildEnv, and you gave it 2 conflicting versions of sip
<clever> hexo: builder for '/nix/store/n4g06d8fmvpigddx970waiaqm2rifsj5-python3-3.7.5-env.drv'` this line here
<clever> hexo: further down, it should tell you what derivation failed to build
<clever> hexo: its creating a new directory, that has the contents of both of the inputs
<clever> maybe get the dockerTools from it too
<clever> mariatsji: you need to `import <nixpkgs> { system = "x86-64-linux"; }` and get hello from that

2020-07-06

<clever> it might be a child-proc, a `git clone`, check `ps -eH x`
<clever> do `ls -l /proc/PID/fd/10` to see what that is
<clever> yep, so its waiting for something from fd 10
<clever> ctrl+c will detatch safely
<clever> wpcarro: you can also use `strace -p PID` to attach to something after the fact
<clever> wpcarro: the git repo is rather large, how long did you wait?
<clever> the sandbox will copy all inputs to /nix/store/ first, and make them world readable
<clever> builtins.fetchGit doesnt define a derivation, it just runs git at eval time, immediately
<clever> when nix-daemon then builds that derivation (at a later time), it will run git in a sandbox, possibly with network enabled
<clever> __monty__: fetchFromGithub isnt directly running git, its defining a derivation
<clever> about all you could do is make it an alias to builtins.fetchGit
<clever> __monty__: doesnt exist
<clever> > lib.impureFetchGit
<clever> more a closure size issue
<clever> __monty__: the impure ones, just have nix impurely run a command as the current user, and the nix binary would have to depend on those commands, for every user
<clever> __monty__: the pure ones cant access secrets, but dont rely on something being installed
<clever> __monty__: the impure ones via builtins, can access secrets (like ssh keys) while fetching
<clever> that one isnt bad, for reasons, lol
<clever> srhb: pkgs.fetchgit
<clever> yes, there is a fetchgit
<clever> simon: try using fetchhg instead?
<clever> that is not the result of loading the overlay
<clever> that is a list containing 3 elements, a function, a path, and a set
<clever> overlays = [
<clever> import ./client.nix { inherit ghcjs; }
<clever> yep, theres your problem
<clever> how did this overlay get applied?
<clever> the problem is not in the overlay itself
<clever> Graypup_: and what is the --show-trace output?
<clever> ah, thats better
<clever> or callPackage each default.nix seperately
<clever> try using { callPackage }: instead?
<clever> your passing it a complete set of every haskell package
<clever> that is not something you can load with callPackage like that
<clever> Graypup_: it does not
<clever> Graypup_: and does ghcjs-dom contain a default.nix from cabal2nix?
<clever> nownpl: what does lsusb say for the card?
<clever> nownpl: is it a pci or usb wifi card?
<clever> samueldr: this looks like a classic case of "it doesnt work, lets reinstall everything"
<clever> nownpl: you can just do `nix-store --verify --check-contents`
<clever> ,locate bin lspci
<clever> nownpl: you may need to install lspci first
<clever> Graypup_: `nix-shell -A hello` gives you a shell suitable for building hello, so $out is where hello should output to when building
<clever> nownpl: and `modinfo 8192eu`
<clever> nownpl: what does `lspci` say?
<clever> moet: probably best to use sed in the postPatch area
<clever> moet: not much of one
<clever> moet: yep
<clever> nownpl: because the driver is actually called 8192eu, you want `modprobe 8192eu` or add 8192eu to boot.kernelModules
<clever> 8192eu.ko.xz
<clever> [root@system76:~]# ls result/lib/modules/5.4.44/kernel/drivers/net/wireless/realtek/rtl8192eu/
<clever> [root@system76:~]# nix-build '<nixpkgs>' -A linuxPackages.rtl8192eu
<clever> what did you add exactly?
<clever> nownpl: did you nixos-rebuild switch after editing the configuration.nix?
<clever> yeah, the lds file
<clever> moet: modify it to accept the path to the linker script as an env var
<clever> the .git is usually not present at build time
<clever> moet: better to just add the raw patch to the patches list
<clever> IGD?
<clever> ah
<clever> it just assumes its at /usr/include/efi/
<clever> yeah
<clever> a better solution would be to modify gnu-efi to support pkgconfig, and then modify whatever your building to use pkg-config
<clever> its an internal part of the stdenv, not really documented fully
<clever> youll need to add this to the nix expression: NIX_CFLAGS_COMPILE = "-I ${gnu-efi}/include/efi/";
<clever> and no pkgconfig file for that
<clever> and `echo $NIX_CFLAGS_COMPILE`
<clever> moet: which library and which header file?
<clever> moet: when make calls gcc, its a shell script called gcc, which will mutate the flags some first
<clever> moet: you probably need to use pkgconfig to find the proper directory then, which library and which header file?
<clever> moet: but subdirs are not, hence, 2020-07-05 21:40:33 < clever> moet: is it in a subdir of include?
<clever> moet: the /include of each buildinput gets added to -I automatically
<clever> moet: `echo $buildInputs`
<clever> moet: the include dir of the library, which is in /nix/store/
<clever> moet: which library and which header file?
<clever> moet: is it in a subdir of include?
<clever> moet: put the library into the buildInputs or use `nix-shell -p`

2020-07-05

<clever> robodojo: lutris also works normally on nixos
<clever> Graypup_: haskell.lib.overrideCabal or .overrideAttrs
<clever> not sure, i dont do much python
<clever> yeah, that will also work