setup nixos environment
This commit is contained in:
parent
2e1890c9f9
commit
9b016251f2
1 changed files with 62 additions and 0 deletions
62
flake.nix
Normal file
62
flake.nix
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
{
|
||||
description = "boddle, in Anlehnung an bottle";
|
||||
|
||||
outputs = { self, nixpkgs }: let
|
||||
module = { pkgs, lib, config, ... }: {
|
||||
options.services.boddle = {
|
||||
enable = lib.mkEnableOption "enable";
|
||||
# TODO: configurability
|
||||
};
|
||||
|
||||
config.nixpkgs.overlays = [ self.overlay ];
|
||||
|
||||
config.systemd.services.boddle = lib.mkIf config.services.boddle.enable {
|
||||
script = lib.getExe pkgs.boddle;
|
||||
};
|
||||
};
|
||||
|
||||
per-system = fn: builtins.mapAttrs (_: fn) nixpkgs.legacyPackages;
|
||||
|
||||
package = pkgs: pkgs.buildGoModule {
|
||||
meta = {
|
||||
description = "boddle, in Anlehnung an bottle";
|
||||
homepage = "https://git.fbs42.ddnss.de/forgejo/fbs42/boddle";
|
||||
name = "boddle";
|
||||
};
|
||||
pname = "boddle";
|
||||
version = "v0.0.1";
|
||||
vendorHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
|
||||
src = pkgs.fetchgit {
|
||||
url = "https://git.fbs42.ddnss.de/forgejo/fbs42/boddle";
|
||||
hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
|
||||
};
|
||||
};
|
||||
|
||||
devshell = pkgs: pkgs.mkShell {
|
||||
nativeBuildInputs = with pkgs.buildPackages; [
|
||||
go
|
||||
];
|
||||
};
|
||||
|
||||
in {
|
||||
nixosModules = {
|
||||
default = self.nixosModules.boddle;
|
||||
boddle = module;
|
||||
};
|
||||
|
||||
overlay = final: prev: {
|
||||
boddle = package final;
|
||||
};
|
||||
|
||||
packages = per-system (pkgs: {
|
||||
default = package pkgs;
|
||||
boddle = package pkgs;
|
||||
});
|
||||
|
||||
apps = self.packages;
|
||||
|
||||
devShells = per-system (pkgs: {
|
||||
default = devshell pkgs;
|
||||
});
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue