135

The product of a chat with @QuazarOmega@lemy.lol

you are viewing a single comment's thread
view the rest of the comments
[-] onlinepersona@programming.dev 8 points 4 months ago

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.

Anti Commercial-AI license

[-] Shareni@programming.dev 2 points 4 months ago

It'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;
          };
        };
      };
    };
}

[-] PuddleOfKittens@kbin.social 1 points 4 months ago* (last edited 4 months ago)

The '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;

       };

     };

   };

 };

}`

[-] Shareni@programming.dev 2 points 4 months ago

It's working perfectly fine for me on desktop, jerboa, and voyager. Also, add a spoiler.

[-] callyral@pawb.social 1 points 4 months ago

The ‘code’ tag here does not respect newlines,

Now there's a newline between every single line of code

load more comments (1 replies)
this post was submitted on 13 May 2024
135 points (91.9% liked)

linuxmemes

20707 readers
1765 users here now

I use Arch btw


Sister communities:

Community rules

  1. Follow the site-wide rules and code of conduct
  2. Be civil
  3. Post Linux-related content
  4. No recent reposts

Please report posts and comments that break these rules!

founded 1 year ago
MODERATORS