this post was submitted on 13 May 2024
136 points (92.0% liked)

linuxmemes

21322 readers
902 users here now

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!


    Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't fork-bomb your computer.

    founded 1 year ago
    MODERATORS
     

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

    you are viewing a single comment's thread
    view the rest of the comments
    [–] Shareni@programming.dev 2 points 6 months ago (1 children)

    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 6 months ago* (last edited 6 months ago) (2 children)

    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 6 months ago

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

    [–] callyral@pawb.social 1 points 6 months ago

    The ‘code’ tag here does not respect newlines,

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