The genesis of a nixOS user
The genesis of a nixOS user
The product of a chat with @QuazarOmega@lemy.lol
You're viewing a single thread.
Still haven't reached the flakes stage. An experimental feature that the maintainers are too afraid to treat as experimental and make breaking changes, but unwilling to name stable because it requires bug-fixes and changes that would be breaking, but too afraid to break because... reasons.
11 3 Reply[rest of post]
Anti Commercial-AI licenseHey look, the trend is spreading: you're the second user I've seen doing that.
It'd be nice if the Lemmy devs added some sort of metadata field to support that so that (a) we could have a preference to insert it into every new comment automatically, and (b) it could be reduced to a badge on the comment header or something so that it would be less obtrusive to those of us who aren't trying to do anything that would require us to pay attention to it.
5 1 ReplyIt's pretty easy for home-manager use, but still really useful. You can:
- choose which packages to install from stable and which from unstable
- add packages from repos that have flake.nix in them
- correctly match nix and home-manager versions, and always update them at the same time
- allow-unfree without nixpkgs conf, so 1 less directory required in .config (if they accepted the "experimental" features it'd be down to 1)
Here's an example:
flake.nix
{ description = "home flake"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager.url = "github:nix-community/home-manager/master"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11"; # nixgl.url = "github:guibou/nixGL"; }; outputs = { self, nixpkgs, nixpkgs-stable, home-manager, # nixgl, ... }@inputs: let system = "x86_64-linux"; pkgs = import nixpkgs { system = system; config = { allowUnfree = true; }; }; pkgsStable = import nixpkgs-stable { system = system; config = { allowUnfree = true; }; }; in { homeConfigurations = { shareni = home-manager.lib.homeManagerConfiguration { inherit pkgs; modules = [ ./home.nix ]; extraSpecialArgs = { inherit inputs; inherit system; kmonad = pkgsStable.kmonad; }; }; }; }; }
3 1 ReplyThe 'code' tag here does not respect newlines, I tried to fix it but this is the best I could do:
`{ description = “home flake”;
inputs = { nixpkgs.url = “github:nixos/nixpkgs/nixos-unstable”; home-manager.url = “github:nix-community/home-manager/master”; home-manager.inputs.nixpkgs.follows = “nixpkgs”; nixpkgs-stable.url = “github:nixos/nixpkgs/nixos-23.11”; # nixgl.url = “github:guibou/nixGL”;
};
outputs = { self, nixpkgs, nixpkgs-stable, home-manager, # nixgl, … }
@inputs:
let system = “x86_64-linux”; pkgs = import nixpkgs { system = system; config = { allowUnfree = true; }; }; pkgsStable = import nixpkgs-stable { system = system; config = { allowUnfree = true; }; }; in { homeConfigurations = { shareni = home-manager.lib.homeManagerConfiguration { inherit pkgs; modules = [ ./home.nix ]; extraSpecialArgs = { inherit inputs; inherit system; kmonad = pkgsStable.kmonad; }; }; }; };
}`
2 1 ReplyIt's working perfectly fine for me on desktop, jerboa, and voyager. Also, add a spoiler.
3 1 ReplyThe ‘code’ tag here does not respect newlines,
Now there's a newline between every single line of code
1 0 Reply