nixos

1402 readers
32 users here now

All about NixOS - https://nixos.org/

founded 4 years ago
26
 
 

Recently, I switched to NixOS and realised that there is no G'MIC plugin package for Krita.

There's this issue that was last active in October 2023.

I was wondering if anyone has managed to install this without using another package manager (such as Flatpak) or installing an AppImage manually, for system reproducibility, and I also don't wanna have two package managers in one system.

Ideally, there'd be a wrapper, so you could do something like:

{ pkgs, ... }: {
  programs.krita = {
    enable = true;
    gmic.enable = true;
    gmic.package = pkgs.krita.gmic-qt;
  };
}

Thoughts?

Related: is there some kind of guide on these program.<name> wrappers? What are they and where are they defined?

27
 
 

Any bried guide on building from source. I want build friclicli as not in nix repo. Tried to search on internet but didn't got anything. (New to nixOS)

28
29
30
 
 

I've seen people use nix-doom-emacs, have it set up standalone, and some have fancy Nix code that's way beyond my understanding for now to set it up. Which one is the recommended way to set it up? Also, how do you get completions in nix-mode?

31
 
 

Yesterday I tried to update my nix flake but the rebuild-switch failed when it came time to install the following python3 derivation with some extra python packages:

(python3.withPackages(ps: with ps; [ numpy scipy matplotlib pandas notebook ]))

The problematic package is "notebook" and building fails with the following error:

error: builder for '/nix/store/crxnqidkwkgxm9s7ahkhvilx1cisrki6-python3.10-jupyter-server-2.0.6.drv' failed with exit code 1;
       last 10 log lines:
       >     pyfuncitem.obj(**testargs)
       >   File "/build/jupyter_server-2.0.6/tests/extension/test_launch.py", line 105, in test_base_url
       >     launch_instance(["--ServerApp.base_url=/foo"])
       >   File "/build/jupyter_server-2.0.6/tests/extension/test_launch.py", line 83, in _run_in_subprocess
       >     wait_up(url, check=lambda: process.poll() is None)
       >   File "/build/jupyter_server-2.0.6/tests/extension/test_launch.py", line 40, in wait_up
       >     time.sleep(interval)
       >
       >  Timeout
       > /nix/store/gv2cl6qvvslz5h15vqd89f1rpvrdg5yc-stdenv-linux/setup: line 1604: pop_var_context: head of shell_variables not a function context

The very same python derivation worked like 2 weeks ago but now suddenly doesn't work anymore. I'm quite lost trying to troubleshoot this problem so any help is greatly appreciated.

EDIT: So far I've tried the "jupyter" package instead of the "notebook" package, installed it through the unstable channel and tried to install "jupyterlab" as an alternative, but to no avail.

32
 
 

after updating to the new version of Dolphin, I noticed the icons don't show up in the "Icons" layout.

33
34
35
 
 

If anyone wants to help package COSMIC in nixpkgs (and for NixOS) join the Matrix room :3

36
 
 

I hope this is the right place to ask. I am new to Nix and trying to use it for now as a universal package manager. I installled Stremio using Nix but the app doesn't work properly. I see that it's several versions out of date. The same app works fine using Flatpak. Is there a way to let the maintainer know? I'd also love some documentation that can help me update it myself. I can just use the Flatpak but I just want to have one less package manager to worry about.

37
 
 

This is something that I struggle with. I know how to find top-level packages like git or cowsay. But what about utilities under nested paths? I always spend ages digging through the nixpkgs source code to try to find utilities to use in my nix expressions.

Today I want to use buildRustPackage. It's defined here, and is propagated here. But how do I access it given a pkgs variable? I have no idea!

https://search.nixos.org/packages is no help

nix search nixpkgs doesn't find it

I think I need to search by attribute name, not by derivation name. But I don't know how to do that.

38
1
submitted 2 years ago* (last edited 2 years ago) by [email protected] to c/[email protected]
 
 

It took me a while to figure this out. I use Home Manager to manage my Gnome settings by setting dconf.settings = { ... }. My settings are non-trivial (for example my paperwm module). So it's helpful for me to check the actual dconf settings that Home Manager produces.

To do that build your configuration with home-manager build, open result/activate, and find a line that looks like this:

$DRY_RUN_CMD $DCONF_DBUS_RUN_SESSION /nix/store/4ab7dx08wx640444m71axlqvbrvz73bv-dconf-0.40.0/bin/dconf load / 
  &lt; /nix/store/0hdnvwx8d9sifd6ib8n2hhblyblq0ccp-hm-dconf.ini

The store path for hm-dconf.ini has the settings.

Edit: added a line break to the script line so you can see the relevant store path

39
1
Tried NixOS ! (dvd.chat)
submitted 2 years ago* (last edited 2 years ago) by [email protected] to c/[email protected]
 
 

Tried NixOS !

So I tried nixos and I love how things work, I am glad that it exists. Will learn about Flakes today. Any recommended resource to learn it? :)

@[email protected]

40
 
 

I want to call the escapeSystemdPath (defined in nixpgs at nixos/lib/utils.nix) to derive the name of a systemd mount unit from the target path (eg. srv-my-dir.mount from /srv/my/dir), but I can't figure out how I can reference it... any ideas?

41
1
submitted 2 years ago* (last edited 2 years ago) by [email protected] to c/[email protected]
 
 

I want to add custom commands to my PATH but am unable to get it working. So far I've installed home-manager and added the code below to my nix configuration.

imports = [
  ./hardware-configuration.nix
  
];

Then later on to add the item to PATH

home-manager.users.curtismchale = { pkgs, ... }: {
  home.stateVersion = "23.05";
  home.sessionPath = [
    "$HOME/Workspace/proudcity/proudcity-kubernetes/bin"
  ];
};

I have also tried $HOME/Workspace/proudcity/producity-kubernetes/bin/pc-kube but that doesn't change the issue.

I can see the commands installed at ~/Workspace/proudcity/proudcity-kubernetes/bin/pc-kube but when I type the expected command pc kube $command it says there is nothing installed in path and offers to install some programs that match pc for me.

42
1
submitted 2 years ago* (last edited 2 years ago) by [email protected] to c/[email protected]
 
 

I'm playing around with nixos in a few VMs and at some point I realized I must have lost the swap configuration in one of my refactorings.

To my surprise, however, the VMs do use the swap partitions I had set up.

There is no mention on "swap" in my nix configuration (or in fstab) and no .swap units in /etc/systemd/system; I do however have a swap partition labelled "swap".

Turns out there is a systemd unit (albeit not a corresponding file) that sets up swap:

[root@vm1:~]# free -hw
               total        used        free      shared     buffers       cache   available
Mem:           2.8Gi       664Mi       955Mi       4.0Mi       3.0Mi       1.3Gi       2.0Gi
Swap:          3.7Gi          0B       3.7Gi

[root@vm1:~]# systemctl list-dependencies swap.target 
swap.target
● └─dev-disk-by\x2ddiskseq-1\x2dpart3.swap

I'm wondering where the unit comes from? Can I rely on this and never configure swap ever again?

43
 
 

I have a workaround so this isn't exactly a problem for me. I'm just curious about what is going on, and what best practices are.

I'm setting up Arion. I think it will be helpful for my development flow in a project where I have several services that need to run and communicate with each other. Docker-compose is a nice way to handle this, but you have to have a Docker image to run, and it's a pain to create a new image after each code change. OTOH Arion will run an arbitrary command, and creates Nix-friendly images automatically. Very promising!

The Nix expression for the service I'm developing is exported from a flake, while the arion executable reads its configuration from a Nix expression that is not a flake. There is an example configuration that recommends importing a flake using builtins.getFlake which you can see here: https://github.com/hercules-ci/arion/blob/main/examples/flake/arion-pkgs.nix

The problem is that builtins.getFlake is slow. It adds >20s to every arion command I run. That includes starting services, reading logs, removing stopped containers, etc.

The example config includes a fallback that loads the flake using flake-compat instead of builtins.getFlake. When I use flake-compat loading the flake is nearly instant.

So I'm using flake-compat, and that seems to be working. (Many thanks to the flake-compat author!) But I'm curious why builtins.getFlake is so slow.