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

You are viewing a single thread.
View all comments View context
2 points

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;
          };
        };
      };
    };
}
permalink
report
parent
reply
1 point
*

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;

       };

     };

   };

 };

}`

permalink
report
parent
reply
2 points

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

permalink
report
parent
reply
1 point

The ‘code’ tag here does not respect newlines,

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

permalink
report
parent
reply

linuxmemes

!linuxmemes@lemmy.world

Create post

Hint: :q!


Sister communities:

Community rules (click to expand)

1. Follow the site-wide rules
2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack members of the community for any reason.
  • Leave remarks of “peasantry” to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
4. No recent reposts
  • Everybody uses Arch btw, can’t quit Vim, and wants to interject for a moment. You can stop now.

Please report posts and comments that break these rules!

Community stats

  • 7.2K

    Monthly active users

  • 1.3K

    Posts

  • 70K

    Comments