4 ms·
One common beginner mistake is attempting to modify files in the immutable store directly. Don't do that. The system is read only for a reason. Also make sur
by ymse 6y ago
One common beginner mistake is attempting to modify files in the immutable store directly. Don't do that. The system is read only for a reason.
Also make sure you allocate enough space on your root partition so you don't have to run garbage collection all the time.
- Shoue 6y agoYou might want to enable automatic gc either way just so it's cleared out every now and then. https://nixos.org/nixos/options.html#nix.gc https://nixos.org/nixos/options.html#nix.gc
- therein 6y agoI made the switch from Arch about a week ago. So far, great experience. I love the fact that my system state is reproducible and if I use version control on my dotfiles, I basically have a full backup of the look and feel of my workstation. VFIO with GPU passthrough works flawlessly. Setting up FDE with LUKS during and after the install was a breeze as well. Really enjoyed the whole experience. Being able to switch between wildly different possible system configurations like xorg+i3 and wayland+sway by executing a few commands and having version control while doing so is incredible. However one thing I'm struggling with now is "overlays". Simply trying to get "electrum" to install but nixpkgs has 3.3.8, I am looking to build 4.0.0a from HEAD of master. This should be simple to do with something like overlaying this portion from file electrum/default.nix [0] src = fetchurl { url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz"; sha256 = "1g00cj1pmckd4xis8r032wmraiv3vd3zc803hnyxa2bnhj8z3bg2"; }; with something like: fetchFromGitHub { owner = "spesmilo"; repo = "electrum"; sha256 = "LATESTHASH"; }; But for the life of me, I can't figure out how to do this overlay stuff. ( In fact I'd appreciate any help on this otherwise at this point I'm even jokingly considering an Arch container :) ) Python, NodeJS and Ruby development might also be slightly frustrating if you are used to installing things globally. [0] https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/electrum/default.nix https://github.com/NixOS/nixpkgs/blob/master/pkgs/applicatio...
- rtu8lu 6y agoI have something like this in my overlays.nix: self: super: let callPackage = super.callPackage; in { darktable = callPackage ./pkgs/darktable { inherit (super) darktable; }; } And my default.nix in pkgs/darktabele looks like this: { darktable, fetchurl, ... }: darktable.overrideAttrs (_: rec { version = "3.0.0"; src = fetchurl { url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz"; sha256 = "7195a5ff7ee95ab7c5a57e4e84f8c90cc4728b2c917359203c21293ab754c0db"; }; })
- therein 6y agoThank you. I was able to move forward similarly as well. Good to see the solution I arrived at isn't too far from yours. self: super: { electrum = super.electrum.overrideAttrs(old: rec { preBuild = old.preBuild + '' # Patch unnecessarily tight dependency on ecdsa version substituteInPlace ./contrib/requirements/requirements.txt --replace 'ecdsa>=0.14' 'ecdsa>=0.13' additionalInputs = with super.python37Packages; [ python-jsonrpc-server ]; propagatedBuildInputs = old.propagatedBuildInputs ++ additionalInputs; src = super.fetchFromGitHub { owner = "spesmilo"; repo = "electrum"; rev = "223b62554ead397bb94013c0d9c95b63a0708ea6"; sha256 = "05djndhdggsw0r9pqn3gnb31nvzghgcsg05r3f7b6hwz84zbl22r"; fetchSubmodules = true; }; }); }
- iso-8859-1 6y agohow do you know the dependency bound is too tight?
- takeda 6y agoyes, it's possible that there was reason for requiring newer version, especially since it is a bitcoin wallet and this looks like a cryptographic library. The better way would be to also update that package to required version.
- 6y ago