!OHimLTKAXNbFrEoogf:matrix.org

Nix Milan

115 Members
https://milano.nix.pizza/9 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
30 Dec 2025
@telegram_524811522:t2bot.ioTonio Gela
In reply to Andrea Ciceri
Io uso [git-sync](https://github.com/simonthum/git-sync) (c'e' il modulo home-manager)
Curiosamente ho una cosa pressoché identica scritta da me in Scala Native
10:37:34
@telegram_524811522:t2bot.ioTonio GelaInteressante, c'è un esempio con npins che è quello che uso, grazie!10:53:34
@telegram_73824637:t2bot.ioAndrea Ciceri Esatto, c'e unflake ma ce ne e' anche un altro che non ricordo (comunque mi sembrava meglio unflake ad occhio)
Comunque vi consiglio di entrare nel canale matrix se non ci siete gia': #dendritic:matrix.org
10:57:27
@telegram_165995843:t2bot.ioNonno Felice
In reply to Lucio
Nel caso di Nix e NixOS, serve in buona sostanza ad avere una configurazione più ordinata e flessibile. In particolare invece di definire, ad esempio, dall'alto del flake gli output e gli argomenti di questi output è possibile decentralizzarli in altri file raggruppandoli per una qualche affinità. Solitamente ognuno di questi file definisce uno o più moduli flake-parts. È possibile avere infatti la configurazione NixOS e home manager nello stesso file ma con due moduli diversi.

Se avessi una configurazione modulare NON dentritica avresti ad esempio:
Flake.nix Flake.lock homeModules nixosModules

Dove tutti gli output (nixosConfiguration, homeConfiguration,...) gli argomenti (user, hostname, ...) sono definiti nel flake.nix. Potresti avere poi un modulo multimedia.nix sia in nixosModules che in homeManager:
#es. del solo modulo homeManager
{
config,
lib,
pkgs,
...
}:
{
options.hm_multimedia.enable = lib.mkEnableOption "enables multimedia homeManager module";
config = lib.mkIf config.hm_multimedia.enable {
home.packages = with pkgs; [
stable.davinci-resolve
audacity
yt-dlp
ffmpeg
imagemagick
ghostscriptX # required by imagemagick
loupe # image viewer
];
};
}

Questo modulo va importato in home.nix dello specifico host e ne va abilitata l'opzione.

Se avessi invece una configurazione modulare DENDRITICA la struttura sarebbe:
Flake.nix Flake.lock modules
Il flake.nix importa ricorsivamente tutti i file nix in modules senza dover specificare quali, incluso multimedia.nix:
{...}:{
flake.modules.homeManager.multimedia ={
home.packages = with pkgs; [
stable.davinci-resolve
audacity
yt-dlp
ffmpeg
imagemagick
ghostscriptX # required by imagemagick
loupe # image viewer
];
};
flake.modules.nixos.multimedia={
#contenuto per sistemi NixOS
};
}

Questo modulo può essere attivato semplicemente importandolo dove ti serve, per esempio dove definisci hosts o utenti con:
imports =
[
inputs.self.modules.nixos.multimedia
inputs.self.modules.homeManager.multimedia
]
Sembra interessante, dovrò investigare meglio
11:04:32

Show newer messages


Back to Room ListRoom Version: 10