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

linuxmemes

21273 readers
1215 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
    [–] onlinepersona@programming.dev 8 points 6 months ago (5 children)

    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 6 months ago (3 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;
    
           };
    
         };
    
       };
    
     };
    
    

    }`

    [–] 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

    load more comments (1 replies)
    load more comments (1 replies)
    load more comments (2 replies)