!dGrjXvKnCwVLevgmzo:matrix.org

Stockholm NixOS meetup group

51 Members
Monthly meetups in Stockholm, Sweden around Nix releated topics(nixos.org)15 Servers

Load older messages


SenderMessageTime
25 Apr 2024
@maedas:matrix.orgmaedas *

Thanks for yesterday! I wanted to share my template for making modules (WIP), feedback and tips for improvements are appericiated!

let
  name = baseNameOf ./.;
  cfg = lib.getAttr name config.namespace;
in lib.setAttr
  {
    imports = [
    ];

    config = {
    };
  }
  "options" (lib.setAttr {} "namespace" (lib.setAttr {} name (with lib; {
    enable = mkEnableOption (name + " module");
  })))```
10:30:46
@maedas:matrix.orgmaedas *

Thanks for yesterday! I wanted to share my template for making modules (WIP), feedback and tips for improvements are appericiated!


let
  name = baseNameOf ./.;
  cfg = lib.getAttr name config.namespace;
in lib.setAttr
  {
    imports = [
    ];

    config = {
    };
  }
  "options" (lib.setAttr {} "namespace" (lib.setAttr {} name (with lib; {
    enable = mkEnableOption (name + " module");
  })))
10:31:27
@maedas:matrix.orgmaedas *

Thanks for yesterday! I wanted to share my template for making modules (WIP), feedback and tips for improvements are appericiated!

{ config, lib, pkgs, ... }:

let
  name = baseNameOf ./.;
  cfg = lib.getAttr name config.namespace;
in lib.setAttr
  {
    imports = [
    ];

    config = {
    };
  }
  "options" (lib.setAttr {} "namespace" (lib.setAttr {} name (with lib; {
    enable = mkEnableOption (name + " module");
  })))
```
10:31:50
@maedas:matrix.orgmaedas *

Thanks for yesterday! I wanted to share my template for making modules (WIP), feedback and tips for improvements are appericiated!

{ config, lib, pkgs, ... }:

let
  name = baseNameOf ./.;
  cfg = lib.getAttr name config.namespace;
in lib.setAttr
  {
    imports = [
    ];

    config = {
    };
  }
  "options" (lib.setAttr {} "namespace" (lib.setAttr {} name (with lib; {
    enable = mkEnableOption (name + " module");
  })))
10:32:09
@lillecarl:matrix.orglillecarlIt looks incomplete, no args decl and stuff. Post on gist, and open your Nix repo! 11:23:28
@lillecarl:matrix.orglillecarlYeah as always it was a pleasure to meet, and thanks playgrounders for hosting. Definitely an uplift in atmosphere although the participation was a bit lower. https://github.com/lillecarl/nixos here's my Nix mess if anyone is curious! 11:28:48
@maedas:matrix.orgmaedas
In reply to @lillecarl:matrix.org
Yeah as always it was a pleasure to meet, and thanks playgrounders for hosting. Definitely an uplift in atmosphere although the participation was a bit lower.

https://github.com/lillecarl/nixos here's my Nix mess if anyone is curious!
thanks, I was actually looking for it!
11:47:10
@maedas:matrix.orgmaedas LilleCarl (Salsa9): not sure what you mean, it's literally supposed to be a template base to add stuff like that 11:50:57
@lillecarl:matrix.orglillecarlI was looking on my phone, element cut out part of the text11:51:14
@lillecarl:matrix.orglillecarlWhat's the purpose of the setattr and getattr for namespace? Looks a bit overcomplicated for my eyes11:54:36
@lillecarl:matrix.orglillecarl

I've got some questions for everyone:

  • What's your biggest painpoints using NixOS &/ home-manager today?
  • Updating packages I've packaged myself (Which update solution are you guys using? :) )

Mine's still packaging things that doesn't quite fit the "norm". (https://github.com/dawsers/hyprscroller comes to mind right now).

12:09:57
@lillecarl:matrix.orglillecarl *

I've got some questions for everyone:

  • What's your biggest painpoints using NixOS &/ home-manager today?
  • Updating packages I've packaged myself (Which update solution are you guys using? :))

Mine's still packaging things that doesn't quite fit the "norm". (https://github.com/dawsers/hyprscroller comes to mind right now).

12:09:57
@lillecarl:matrix.orglillecarl *

I've got some questions for everyone:

  • What's your biggest painpoints using NixOS &/ home-manager today?

Mine's still packaging things that doesn't quite fit the "norm". (https://github.com/dawsers/hyprscroller comes to mind right now).

12:10:13
@erinvanderveen:matrix.orgErinOh nice! I packed that one recently too!12:10:58
@lillecarl:matrix.orglillecarl *

I've got some questions for everyone:

  • What's your biggest painpoints using NixOS &/ home-manager today?
  • What package update solution are you using to update your own derivations?

Mine's still packaging things that doesn't quite fit the "norm". (https://github.com/dawsers/hyprscroller comes to mind right now).

12:11:01
@erinvanderveen:matrix.orgErinI used the nixpkgs function to create Hyprland plugins12:11:21
@erinvanderveen:matrix.orgErinhttps://github.com/NixOS/nixpkgs/blob/572af610f6151fd41c212f897c71f7056e3fb518/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix#L812:12:34
@lillecarl:matrix.orglillecarl
In reply to @erinvanderveen:matrix.org
I used the nixpkgs function to create Hyprland plugins
Thanks for the tip, I'll give it a shot. I've tried niri and really liked how to manage things with it, but the surrounding tooling isn't quite there yet 😄
12:12:37
@erinvanderveen:matrix.orgErinI went exactly the same route niri -> hyprscroller12:13:14
@lillecarl:matrix.orglillecarl
In reply to @erinvanderveen:matrix.org
I used the nixpkgs function to create Hyprland plugins
* Thanks for the tip, I'll give it a shot. I've tried niri and really liked how to manage windows with it, but the surrounding tooling isn't quite there yet 😄
12:13:22
@lillecarl:matrix.orglillecarl Erin: I must admit, since you talked about Silvan arguing against flakes I've noticed some warts here and there in the UX/DX too. My opinion is still "It gives more good than headache" 😁 12:33:09
@lillecarl:matrix.orglillecarlRedacted or Malformed Event13:31:40
@maedas:matrix.orgmaedas
In reply to @lillecarl:matrix.org
What's the purpose of the setattr and getattr for namespace? Looks a bit overcomplicated for my eyes

writing it that adds the module to a namespace of your choice (replace namespace) , so you dont have to add it manually in every module. Looking into it we realised there might be more readable ways to set it, but for now it works.

The way we get the filename doesnt though. Ill get an update on the final result

14:08:35
@lillecarl:matrix.orglillecarlAah, so the intention is creation options that align with the file path?14:10:15
@lillecarl:matrix.orglillecarlif you wanna use __curPos, stick this in the args attrs: { __curPos ? __curPos } if you use the nil LSP, it doesn't know about __curPos so we kinda have to trick it 😄14:14:47
@claesatwork:matrix.orgClaes
In reply to @lillecarl:matrix.org

I've got some questions for everyone:

  • What's your biggest painpoints using NixOS &/ home-manager today?
  • What package update solution are you using to update your own derivations?

Mine's still packaging things that doesn't quite fit the "norm". (https://github.com/dawsers/hyprscroller comes to mind right now).

No pain point that comes to mind but I am not especially advanced in my Nix usage. I need to learn more about packaging of other software. I have done that only a handful of times.
16:03:01
@lillecarl:matrix.orglillecarl Erin: Could you share your hyprscroller derivation? 😸 16:07:59
@erinvanderveen:matrix.orgErin
  hyprscroller = pkgs.unstable.hyprlandPlugins.mkHyprlandPlugin pkgs.hyprland {
    pluginName = "hyprscroller";
    version = pkgs.hyprland.version; # No version present in repo, just use hyprland version instead

    src = inputs.hyprscroller;

    installPhase = ''
      mkdir -p $out/lib/
      cp hyprscroller.so $out/lib/libhyprscroller.so
    '';

    dontStrip = true;

    nativeBuildInputs = with pkgs; [ cmake ];

    meta = with pkgs.lib; {
      homepage = "https://github.com/dawsers/hyprscroller";
      description = "Hyprland layout plugin providing a scrolling layout like PaperWM";
      license = licenses.mit;
      platforms = platforms.linux;
      maintainers = [ maintainers.erin ];
    };
  };

16:10:13
@lillecarl:matrix.orglillecarldank je wel16:13:28
@lillecarl:matrix.orglillecarlHehe, I was doing the right thing. I'm ofc overdoing it a bit stupidly with this module: https://gist.github.com/Lillecarl/5ce2ce445dc67889f3eca9b225b99a6a The issue was i yanked and pasted the fetchfromgithub function, forgot to clear the sha256 so I was pulling hyprland source instead of hyprscroller16:38:05

Show newer messages


Back to Room ListRoom Version: 10