!SgYlXivkogarTVcnZO:nixos.org

Nix Flakes

885 Members
180 Servers

Load older messages


SenderMessageTime
29 Jul 2021
@papojari:artemislena.eupapojari joined the room.16:58:25
@papojari:artemislena.eupapojariRedacted or Malformed Event18:42:34
@papojari:artemislena.eupapojari

Can you tell me why I get this

❯ sh /git-repos/nixos-config-desktop/apply-users.sh
/git-repos/nixos-config-desktop ~
warning: Git tree '/git-repos/nixos-config-desktop' is dirty
error: attribute 'currentSystem' missing

       at /nix/store/svybjwf9ab3iqiz8zwwqwbqzksl3gx8v-source/pkgs/top-level/impure.nix:18:43:

           17|   # (build, in GNU Autotools parlance) platform.
           18|   localSystem ? { system = args.system or builtins.currentSystem; }
             |                                           ^
           19|

This is what /git-repos/nixos-config-desktop/apply-users.sh does

#!/bin/sh
pushd /git-repos/nixos-config-desktop
nix build .#homeManagerConfigurations.papojari.activationPackage
./result/activate
popd

Here is the content of my flake

{
	description = "papojari's NixOS configuration";

	inputs = {
		nixpkgs.url = "nixpkgs/nixos-unstable";
		home-manager.url = "github:nix-community/home-manager/master";
		home-manager.inputs.nixpkgs.follows = "nixpkgs";
	};

	outputs = { nixpkgs, home-manager, ... }:
	let
		pkgs = import nixpkgs {
			config = {
				allowUnfree = true;
			};
		};
		lib = nixpkgs.lib;
	in {
		homeManagerConfigurations = {
			papojari = home-manager.lib.homeManagerConfiguration {
				system = "x86_64-linux";
				inherit pkgs;
				username = "papojari";
				homeDirectory = "/home/papojari";
				configuration = {
					imports = [
						./users/papojari/home.nix
					];
				};
			};
		};
		nixosConfigurations = {
			Cryogonal = lib.nixosSystem {
				system = "x86_64-linux";
				modules = [
					./system/configuration-amd.nix
				];
			};
			Cryogonull = lib.nixosSystem {
				system = "aarch64-linux";
				modules = [
					./system/configuration-rpi4.nix
				];
			};
		};
	};
}

you can also have a look at the the here

18:45:09
@papojari:artemislena.eupapojari *

Can you tell me why I get this

❯ sh /git-repos/nixos-config-desktop/apply-users.sh
/git-repos/nixos-config-desktop ~
warning: Git tree '/git-repos/nixos-config-desktop' is dirty
error: attribute 'currentSystem' missing

       at /nix/store/svybjwf9ab3iqiz8zwwqwbqzksl3gx8v-source/pkgs/top-level/impure.nix:18:43:

           17|   # (build, in GNU Autotools parlance) platform.
           18|   localSystem ? { system = args.system or builtins.currentSystem; }
             |                                           ^
           19|

This is what /git-repos/nixos-config-desktop/apply-users.sh does

#!/bin/sh
pushd /git-repos/nixos-config-desktop
nix build .#homeManagerConfigurations.papojari.activationPackage
./result/activate
popd

Here is the content of my flake

{
	description = "papojari's NixOS configuration";

	inputs = {
		nixpkgs.url = "nixpkgs/nixos-unstable";
		home-manager.url = "github:nix-community/home-manager/master";
		home-manager.inputs.nixpkgs.follows = "nixpkgs";
	};

	outputs = { nixpkgs, home-manager, ... }:
	let
		pkgs = import nixpkgs {
			config = {
				allowUnfree = true;
			};
		};
		lib = nixpkgs.lib;
	in {
		homeManagerConfigurations = {
			papojari = home-manager.lib.homeManagerConfiguration {
				system = "x86_64-linux";
				inherit pkgs;
				username = "papojari";
				homeDirectory = "/home/papojari";
				configuration = {
					imports = [
						./users/papojari/home.nix
					];
				};
			};
		};
		nixosConfigurations = {
			Cryogonal = lib.nixosSystem {
				system = "x86_64-linux";
				modules = [
					./system/configuration-amd.nix
				];
			};
			Cryogonull = lib.nixosSystem {
				system = "aarch64-linux";
				modules = [
					./system/configuration-rpi4.nix
				];
			};
		};
	};
}

you can also have a look at the files here

18:46:58
@elonsroadster:matrix.orgelonsroadster@papojari You cant use current-system in flakes18:53:55
@papojari:artemislena.eupapojari
In reply to @elonsroadster:matrix.org
@papojari You cant use current-system in flakes
then how am I supposed to rebuild my home-manager configuration
18:55:34
@papojari:artemislena.eupapojariI followed Wil Taylor's tutorial on how to move your system into a flake?18:56:10
@papojari:artemislena.eupapojari * I followed Wil Taylor's tutorial on how to move your system into a flake18:56:14
@elonsroadster:matrix.orgelonsroadsterI use home-manager with flakes without much issue18:56:18
@elonsroadster:matrix.orgelonsroadsteryou can do: imports = [ home-manager.nixosModule ];18:57:24
@ambroisie:belanyi.frAmbroisie left the room.19:00:38
@papojari:artemislena.eupapojari
In reply to @elonsroadster:matrix.org
you can do: imports = [
home-manager.nixosModule
];
where am I supposed to put this
19:00:59
30 Jul 2021
@polykernel:kde.orgpolykernel

are let statements not allowed at the toplevel for flakes, for instance

let
# etc
in
{
02:25:37
@polykernel:kde.orgpolykernel *

are let statements not allowed at the toplevel for flakes, for instance

let
# etc
in
{
  # etc
}
02:25:48
@polykernel:kde.orgpolykernel *

are let statements not allowed at the toplevel for flakes, for instance

let
  # etc
in
{
  # etc
}
02:25:59
@polykernel:kde.orgpolykernel *

are let statements not allowed at the toplevel for flakes, for instance

let
  # etc
in
{
  inputs = {
     # etc
  };

  outputs = { self, ... }: {
     # etc
  };
}
02:35:30
@tomberek:matrix.orgtomberek polykernel: no, the top-level of flakes are restricted, as are some other constructs that would cause them to be more difficult to evaluate/cache 02:55:40
@tomberek:matrix.orgtomberek * polykernel: no, the top-level of flakes are restricted, as are some other constructs that would cause them to be more difficult to evaluate/cache (Refer: https://github.com/NixOS/nix/issues/3966#issuecomment-682497697 ) 03:04:10
@polykernel:kde.orgpolykernel thanks, I should of known this. I recall reading that computation is forbidden on metadata attributes(https://github.com/NixOS/nix/issues/4945#issuecomment-868572873), but it didn't occur to me at least somehow, it included the top level as well. 03:12:27
@polykernel:kde.orgpolykernel * thanks, I should of known this. I recall reading that computation is forbidden for metadata attributes(https://github.com/NixOS/nix/issues/4945#issuecomment-868572873), but it didn't occur to me at least somehow, it included the top level as well.03:12:38
@polykernel:kde.orgpolykernel * thanks, I should of known this. I recall reading that computation is forbidden for metadata attributes(https://github.com/NixOS/nix/issues/4945#issuecomment-868572873), but it somehow didn't occur to me it included the top level as well.03:12:55
@polykernel:kde.orgpolykernelso due to the evaluation constraint of flakes, if I want to do computation for inputs (i.e, dynamically generate inputs),I would have to write a generator for flake.nix using another nix expression?03:17:10
@tomberek:matrix.orgtomberekyes, or generate the file in some other way, then evaluate the flake once it is no longer dynamic03:17:52
@polykernel:kde.orgpolykernelI see, thanks for the help03:20:13
@dramforever:matrix.orgdramforever joined the room.08:41:42
31 Jul 2021
@yusdacra:nixos.devyusdacra changed their profile picture.17:18:04
1 Aug 2021
@polykernel:kde.orgpolykernelis there a way to call a flake within a nix expression, would I have to use builtins.getFlake?22:06:22
@elonsroadster:matrix.orgelonsroadsterSo I think I want to do something that would generally be regarded as a bad idea. I get that flakes are supposed to be as pure as possible, but I really want to be able to know what directory the flake is defined in, because I want to be able to talk about paths relative to that flake. The reason I want to do this is that I want to add to certain paths in my dotfiles to the global path environment variable. I realize that the nixy way to do this would be to actually add all of the relevant paths/scripts to the nix store and add them that way, but I don't want to have to explicitly rebuild to get new versions of all the scripts every time they are changed.22:17:08
2 Aug 2021
@colemickens:matrix.orgcolemickens 🏳️‍🌈I mean, you can't...?00:17:30
@elonsroadster:matrix.orgelonsroadster
In reply to @colemickens:matrix.org
I mean, you can't...?
even with --impure? Is there a way you can pass an argument to a flake
02:30:12

Show newer messages


Back to Room ListRoom Version: 6