setup nixos environment
This commit is contained in:
parent
2e1890c9f9
commit
0c16900480
2 changed files with 93 additions and 0 deletions
23
flake.lock
generated
Normal file
23
flake.lock
generated
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 0,
|
||||||
|
"narHash": "sha256-s40Kk/OulP3J/1JvC3VT16U4r/Xw6Qdi7SRw3LYkPWs=",
|
||||||
|
"path": "/nix/store/n67nldl8x3f44w9mvk5zvij0q1rwnsmq-source",
|
||||||
|
"type": "path"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nixpkgs",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
70
flake.nix
Normal file
70
flake.nix
Normal file
|
|
@ -0,0 +1,70 @@
|
||||||
|
{
|
||||||
|
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-dlQ1+skfEiPVm+IWxfwPsW8jkifo4ufZlfESbf36fFY=";
|
||||||
|
src = pkgs.fetchgit {
|
||||||
|
url = "https://git.fbs42.ddnss.de/forgejo/fbs42/boddle";
|
||||||
|
hash = "sha256-Dopo8qV+icaEof3699/Qfz4iuZMqgRodKKWDaH1d9R4=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
devshell = pkgs: pkgs.mkShell {
|
||||||
|
nativeBuildInputs = with pkgs.buildPackages; [
|
||||||
|
go
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
app = pkgs: {
|
||||||
|
type = "app";
|
||||||
|
program = nixpkgs.lib.getExe (package pkgs);
|
||||||
|
};
|
||||||
|
|
||||||
|
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 = per-system (pkgs: {
|
||||||
|
default = app pkgs;
|
||||||
|
boddle = app pkgs;
|
||||||
|
});
|
||||||
|
|
||||||
|
devShells = per-system (pkgs: {
|
||||||
|
default = devshell pkgs;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue